大模型實踐:圖文解鎖Ollama在個人筆記本上部署llm

在這里插入圖片描述

使用在線模型服務時,我們常常需要支付API調用費用,這對于個人開發者或小型組織來說可能是一筆不小的開支。那么,有沒有方法可以在本地免費使用這些強大的模型呢?答案是肯定的——Ollama就是這樣一個工具。
當然如果是比較大的組織或大模型推薦使用vLLM部署,強烈推薦您看(占坑,后續填上)

本文將介紹Ollama并且帶您一步步在個人PC上部署一個自己的LLM。
筆者的電腦是windows,無GPU
將帶您部署(若您計算機性能比較高,只需要參考文中模型與配置關系,更改更大模型即可)

Gemma 2B版本:約1.7GB

什么是Ollama?

Ollama是一個開源的大語言模型管理平臺,它允許用戶在本地機器上部署、管理和使用各種開源語言模型。

Ollama最出色的優點如下:

  1. 將開源模型(如DeepSeek、Llama等)下載并部署到本地。從而讓公司實現私有化+免費部署LLM。

  2. 性能強大:充分利用本地資源,既可以使用GPU也可以使用CPU。如果沒有Ollama,我們需要自己配置GPU環境如cuda等等,與傳統的模型部署相比,Ollama大大簡化了GPU環境配置的復雜性,降低了使用門檻。

  3. 跨平臺支持:Ollama 支持 macOs、Windows、Linux 以及 Docker多種操作系統環境下順利部署和使用。無論你使用什么系統,都可以輕松部署和使用Ollama。

Ollama的下載與安裝

在官網下載即可,本文以windows為例。
最好確保您的計算機C盤有10G+磁盤空間,因為后文下的大模型都會比較大。
在這里插入圖片描述

以Windows為例,Ollama的安裝過程非常簡單,筆者安裝中也沒有遇到任何問題:

  1. 雙擊下載的EXE安裝包
  2. 在彈出的安裝界面中點擊"Install"按鈕
  3. 等待安裝完成(通常只需幾分鐘)

本機部署問答模型

Ollama支持多種流行的開源大語言模型,您可以通過訪問Ollama官網的Models頁面瀏覽所有可用模型。
在這里插入圖片描述
瀏覽Ollama模型庫時,您會注意到每個模型都有不同的版本,如7B、13B、33B等。這里的"B"表示"Billion"(十億),所以7B表示70億參數,13B表示130億參數,依此類推。

根據Ollama官方的建議,不同參數量的模型對系統資源(特別是內存)有以下最低要求:

模型參數量最低內存需求
7B8GB RAM
13B16GB RAM
33B32GB RAM
70B128GB RAM

需要特別注意的是,雖然一些特別大的模型(如400GB+)可以下載到本地,但您的設備可能沒有足夠的GPU或CPU資源來流暢運行它們。

對于普通個人電腦用戶,建議選擇10GB以下大小的模型以保證運行流暢。

語言類模型推薦

  1. Gemma - Google開發的開源模型,性能優秀,資源需求適中
  2. DeepSeek - 中國開發的強大語言模型,各方面表現均衡
  3. Qwen(千問) - 阿里巴巴開發的模型,中文能力出色

視覺類模型推薦

  1. LLaVA - 專為圖像識別和理解訓練的模型,能夠分析和描述圖片內容
  2. MiniCPM-V - 輕量級但功能強大的視覺模型,支持圖像理解和生成

實操過程

安裝完Ollama后,我們首先需要下載模型才能開始使用。本文我們以Google開發的Gemma 2b模型為例。在官網查詢gemma模型,輸入后可以看到以下界面。紅色方框的是命令行下下載gemma的命令ollama run gemma:2b。同時也可以看到這個模型大概會占用1.7GB磁盤
在這里插入圖片描述
CMD中安裝,下載完成后會直接啟動該模型,我問了個給我講個笑話:
在這里插入圖片描述

常見命令

ollama list 列出所有已安裝的模型
ollama pull [模型名稱] 下載模型但不運行
ollama run [模型名稱] 運行模型(首次會自動下載)
/clear 清除當前對話上下文,保持模型運行
Ctrl+D 退出當前模型

Ollama進階:自定義模型創建與參數調優指南

在Ollama中,自定義模型是指基于已有的開源模型,通過調整其參數和行為特征來創建一個新模型。這個過程不涉及真正的模型訓練或微調,而是通過配置文件來改變模型的輸出特性和交互方式

步驟一:創建Modelfile配置文件

首先,我們需要創建一個名為Modelfile的文本文件,在這個文件中定義模型的基礎信息和參數。這個文件的基本結構如下:

FROM [基礎模型名稱]
PARAMETER [參數名] [參數值]
SYSTEM [系統提示詞]

例如,我們的Modelfile是這樣的:

FROM gemma:2b
PARAMETER temperature 0.8
SYSTEM 你是一名叫做小智的助手,專長領域是文學和歷史相關內容,喜歡使用生動有趣的方式與用戶交談。

這個配置包含三個主要部分:

  • FROM:指定基礎模型,這里我們選擇了本機已裝好的gemma:2b模型
  • PARAMETER:設置模型參數,這里將temperature(溫度)設為0.9
  • SYSTEM:定義系統提示詞,告訴模型它的角色和行為特點

步驟二:保存Modelfile文件

將創建好的Modelfile保存到本地磁盤,例如保存到C盤根目錄。需要注意的是,這個文件不需要任何擴展名,就是純文本的Modelfile

這里筆者是保存在C:\Users\86199\AppData\Local\Ollama中的
在這里插入圖片描述

步驟三:使用Ollama創建命令

使用以下命令創建自定義模型:

ollama create [自定義模型名稱] -f [Modelfile路徑]

例如:

ollama create mymodel -f C:\Users\86199\AppData\Local\Ollama\Modelfile

執行該命令后,Ollama會讀取Modelfile中的配置,基于指定的基礎模型創建一個新的自定義模型。成功后,會顯示"success"提示。

若您想明確模型是否創建成功,使用ollama list命令查看本地模型列表,確認自定義模型已成功創建。新創建的模型會以指定的名稱出現在列表中。
在這里插入圖片描述

步驟四:使用自定義模型

創建完成后,可以像使用其他模型一樣運行自定義模型:

ollama run mymodel

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/78433.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/78433.shtml
英文地址,請注明出處:http://en.pswp.cn/web/78433.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python基本語法(lambda表達式)

lambda表達式 lambda的一般形式是在關鍵字lambda后面跟一個或多個參數,之后再緊跟一個 冒號,接下來是一個表達式。lambda是一個表達式,而不是一個語句,它能夠出現 在Python語法不允許def出現的地方。作為表達式,lambd…

【MySQL數據庫】用戶管理

目錄 1,用戶信息 2,創建/刪除/修改用戶 3,數據庫的權限 MySQL數據庫安裝完之后,我們最開始時使用的都是 root 用戶,其它用戶通常無法進行操作。因此,MySQL數據庫需要對用戶進行管理。 1,用戶…

Python的ArcPy基于Excel表格對大量遙感影像批量重分類

本文介紹基于Python中的ArcPy模塊,以Excel表格內的信息,對遙感影像加以重分類的方法。 首先,明確一下本文的需求。現有按照文章ArcPy批量將柵格文件的屬性表導出為Excel表格的方法(https://blog.csdn.net/zhebushibiaoshifu/artic…

LabVIEW 中VI Server導出 VI 配置

該 LabVIEW VI 展示了在 VI Server 中配置和執行 Exported VIs 的過程,實現對服務器端導出 VI 的遠程調用與操作。 ? 具體過程及模塊說明 前期配置:需確保在 LabVIEW 的 “Tools> Options > VI Server > Protocols” 路徑下,啟用 …

論文閱讀:2024 ACM SIGSAC Membership inference attacks against in-context learning

總目錄 大模型安全相關研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 Membership inference attacks against in-context learning https://arxiv.org/pdf/2409.01380 https://www.doubao.com/chat/4030440311895554 速覽 這篇論文主要研究了…

從 Python 基礎到 Django 實戰 —— 數據類型驅動的 Web 開發之旅

主題簡介: 本主題以 Python 基礎數據類型為核心,結合 Django 框架的開發流程,系統講解如何通過掌握數字、字符串、列表、元組、字典等基礎類型,快速構建功能完善的 Web 應用。通過理論與實踐結合,幫助學員從零基礎 Py…

軟考 系統架構設計師系列知識點之雜項集萃(53)

接前一篇文章:軟考 系統架構設計師系列知識點之雜項集萃(52) 第85題 在靜態測試中,主要是對程序代碼進行靜態分析。“數據初始化、賦值或引用過程中的異常”屬于靜態分析中的()。 A. 控制流分析 B. 數據…

Raycaster光線投射

Raycaster光線投射 3D虛擬工廠在線體驗 描述 光線投射Raycaster,用于進行raycasting(光線投射)。 光線投射用于進行鼠標拾取(在三維空間中計算出鼠標移過了什么物體)。 構造器 Raycaster( origin : Vector3, dire…

初識Linux —— git三板斧

版本控制器git 為了我們方便管理不同版本的文件,就有了版本控制器; 所謂的版本控制器,就是能夠了解到一個文件的歷史記錄(修改記錄);簡單來說就是記錄每一次的改動和版本迭代的一個管理系統,同…

用哈希表封裝出unordered_set/_map

前提: ①:本博客是對哈希表(開散列)進行封裝,因為閉散列不優秀(與庫保持一致) ②:哈希表封裝出unordered_set/_map和紅黑樹封裝出ste/map是大同小異的,可以先看下:用紅黑樹封裝出set和map -CSDN博客 ③&…

情緒ABC——AI與思維模型【93】

一、定義 情緒ABC思維模型是一種心理學上的理論,它認為人們的情緒和行為反應(C,Consequence)并非直接由激發事件(A,Activating event)引起,而是由個體對激發事件的認知和評價所產生…

Unity URP RenderTexture優化(二):深度圖優化

目錄 前言: 一、定位深度信息 1.1:k_DepthStencilFormat 1.2:k_DepthBufferBits 1.3:_CameraDepthTexture精度與大小 1.4:_CameraDepthAttachment數量 二、全代碼 前言: 在上一篇文章:Un…

【力扣刷題記錄】hot100錯題本(一)

1. 簡單題 我的答案:時間復雜度過高:O(N^3) class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:for num in nums:if (target - num) in nums:#多余for i in range(len(nums)):if nums[i] num :for j in range(i1,len(nu…

線程池的線程數配置策略

目錄 1. CPU密集型任務 2. IO密集型任務 3. 混合型任務 1. CPU密集型任務 特點:任務主要消耗CPU資源(如計算、加密、壓縮)。 推薦線程數: 線程數 ≈ 物理核心數 1 / CPU - 1(不知道哪個√) 例如&#…

基于開源鏈動2+1模式AI智能名片S2B2C商城小程序的爆品力構建研究

摘要:在興趣電商生態中,爆品力已成為品牌實現指數級增長的核心競爭力。本文以開源鏈動21模式AI智能名片S2B2C商城小程序為技術載體,結合抖音平臺的內容傳播特性,提出“需求挖掘-技術賦能-內容轉化”三位一體的爆品力構建模型。通過…

photoshop學習筆記2

第一章 第01節-界面的重要性(學習方法) 第02節-文件的打開新建及儲存 第03節-移動工具(圖層概念) 學習目標: 1.了解圖層概念 2.認識工具屬性 3.掌握工具使用 圖層的概念 移動工具 移動工具就是用來移動圖層內容的。是否可以用來移動組…

operator 可以根據需要重載 == 運算符進行比較

要將 vector<AppInfo> 類型的 A 和 B 兩個容器進行比較&#xff0c;并且當 B 中有 A 中沒有的元素時&#xff0c;插入到數據庫中&#xff0c;你可以通過以下步驟實現&#xff1a; 比較元素&#xff1a;遍歷 vector<B>&#xff0c;檢查每個元素是否在 vector<A&…

Three.js在vue中的使用(二)-加載、控制

在 Vue 中使用 Three.js 加載模型、控制視角、添加點擊事件是構建 3D 場景的常見需求。下面是一個完整的示例&#xff0c;演示如何在 Vue 單文件組件中實現以下功能&#xff1a; 使用 GLTFLoader 加載 .glb/.gltf 模型添加 OrbitControls 控制視角&#xff08;旋轉、縮放、平移…

軟件架構之旅(6):淺析ATAM 在軟件技術架構評估中的應用

文章目錄 一、引言1.1 研究背景1.2 研究目的與意義 二、ATAM 的理論基礎2.1 ATAM 的定義與核心思想2.2 ATAM 涉及的質量屬性2.3 ATAM 與其他架構評估方法的關系 三、ATAM 的評估流程3.1 準備階段3.2 場景和需求收集階段3.3 架構描述階段3.4 評估階段3.5 結果報告階段 四、ATAM …