文章目錄
- 一、引言
- 二、準備工作(Ollama 工具介紹與下載)
- 2.1 Ollama介紹
- 2.2 Ollama安裝
- 三、指定目錄安裝 DeepSeek R1
- 四、Chatbox 可視化聊天搭建
- 4.1 Chatbox下載安裝
- 4.2 關聯 DeepSeek R1 與 Chatbox 的步驟
- 五、使用 Ollama 調用 DeepSeek 接口
- 5.1 請求接口(無上下文記憶)
- 5.2 請求接口(有上下文記憶)
- 5.2 請求體參數解釋
一、引言
在人工智能技術飛速發展的當下,本地部署語言模型為我們帶來了隱私保護、快速響應以及自定義等諸多優勢。DeepSeek R1 作為一款備受矚目的模型,擁有強大的自然語言處理能力,可應用于聊天機器人、文本生成等多個領域 。
而 Ollama 則是一款優秀的 AI 模型管理工具,它能讓我們在本地輕松運行大型語言模型。如果你想擁有一個完全掌控在自己手中,可指定目錄安裝,還能實現可視化聊天,并且可以靈活調用接口的 DeepSeek R1 模型,那這篇文章就是你的不二之選。
接下來,我將一步步帶你完成利用 Ollama 本地部署 DeepSeek R1 的全過程,無論是調整模型的安裝目錄,還是通過 Chatbox 實現可視化聊天,又或是熟練運用 Ollama 調用 DeepSeek 接口,所有的操作步驟和細節都將毫無保留地呈現,助你快速搭建屬于自己的高效 AI 環境。
二、準備工作(Ollama 工具介紹與下載)
2.1 Ollama介紹
Ollama 是一款專為本地運行 AI 模型設計的開源工具,它的出現極大地簡化了模型部署流程,無論你是專業開發者還是 AI 愛好者,都能借助其輕松上手復雜的模型操作。其跨平臺特性支持在 Windows、Mac 以及 Linux 系統上無縫運行,打破了系統壁壘。
2.2 Ollama安裝
ollama官網:ollama
進入官網后點擊Download
下載
點擊Download for Windows
進行安裝,這里以Windows
系統示例
在Ollama官網中可以選擇自己要安裝的模型,復制右邊的命令,后續我們要使用這個命令來進行安裝DeepSeek R1模型
三、指定目錄安裝 DeepSeek R1
ollama默認將模型安裝到C盤,這可能會導致C盤的磁盤不足從而影響到計算機的整體性能,在C盤頻繁進行大文件的讀寫操作也會增加系統崩潰的幾率。所以這個時候我們就需要將DeepSeek R1模型安裝到其他容量足夠的磁盤中,從而減輕系統的壓力。
指定目錄安裝DeepSeek R1模型全步驟:
-
在指定盤符中創建
Ollama文件夾
,這里我們以D盤
示例 -
在
C:\Users
目錄下找到.ollama文件夾
剪切復制到新建的D:\Ollama
目錄中(.ollama中存儲的有配置文件,緩存數據,日志文件,機器學習模型資源) -
在
D:\Ollama
中新建一個文件夾models
用于存儲安裝的模型 -
在
D:\Ollama
目錄中打開終端DOS窗口,運行ollama --version
查看ollama
是否安裝成功(如果顯示版本號則證明安裝成功) -
在系統變量中新增
OLLAMA_MODELS
,變量值是存儲模型的目錄D:\Ollama\models
-
重啟電腦后在終端輸入
ollama --version
查看環境變量是否生效 -
在
D:\Ollama\models
目錄中打開終端DOS窗口,輸入命令ollama run deepseek-r1:1.5b
進行安裝DeepSeek R1模型
安裝完成后提示success
則證明安裝成功,接下來就可以流暢使用DeepSeek啦!
四、Chatbox 可視化聊天搭建
4.1 Chatbox下載安裝
Chatbox AI 是一款 AI 客戶端應用和智能助手,支持眾多先進的 AI 模型和 API,可在 Windows、MacOS、Android、iOS、Linux 和網頁版上使用。
Chatbox官網:Chatbox
進入官網后點擊免費下載(for Windows)
進行下載安裝
4.2 關聯 DeepSeek R1 與 Chatbox 的步驟
選擇剛剛安裝的模型,然后點擊保存
五、使用 Ollama 調用 DeepSeek 接口
5.1 請求接口(無上下文記憶)
這里我們使用ApiFox
來簡單給大家示例一下,后續大家可以在程序中調用接口
請求方式: POST
請求接口: http://localhost:11434/api/chat
請求內容:
{"model": "deepseek-r1:1.5b","messages": [{"role": "system","content": "你是一名高級Java程序員,擅長處理各種BUG以及編寫高質量代碼"},{"role": "user","content": "請幫我使用Java寫一個HelloWorld示例"}],"stream": true,"options": {"temperature": 0.2}
}
5.2 請求接口(有上下文記憶)
請求內容:
{"model": "deepseek-r1:1.5b","messages": [{"role": "system","content": "你是一名高級Java程序員,擅長處理各種BUG以及編寫高質量代碼"},{"role": "user","content": "請幫我使用Java寫一個HelloWorld示例"},{"role": "assistant","content": "\n\n好的!以下是一個基本的 `HelloWorld` 示例:\n\n```java\npublic class HelloWorld {\n public static void main(String[] args) {\n System.out.println(\"Hello World\");\n }\n}\n```\n\n這個示例展示了如何使用 Java 的 `main` 方法來執行一個簡單的輸出打印語句。你可以將 `Hello World` 替換為其他內容,比如:\n\n```java\nSystem.out.println(\"Hello and Me\");\n```\n\n如果你有其他需求或問題,請隨時告訴我!"},{"role": "user","content": "剛剛我問你的是什么?"}],"stream": true,"options": {"temperature": 0.2}
}
5.2 請求體參數解釋
在這個請求體中,每一個參數都有其特定的功能:
-
model:
- 值:
"deepseek-r1:1.5b"
- 作用: 指定要使用的具體模型版本。在這里,它使用的是名為
deepseek-r1
的版本,規模為1.5b
,這可能意味著該模型有 1.5 billion (15 億) 參數。
- 值:
-
messages:
- 作用: 這是一個對話歷史的數組,描述了在當前請求中系統和用戶之間的交流。
- 內容: 數組中的每一個對象代表一次交流,包括角色(role)和內容(content)。
- role: 指定交流的角色,可以是
"system"
(系統)、"user"
(用戶)或"assistant"
(助手)。 - content: 是該角色在該輪次中所說的話或指令。在對話管理中用于保持對話的上下文。
- role: 指定交流的角色,可以是
具體內容:
- 第一條消息由
system
提供,描述助手在對話中應扮演的角色——在這里,是一名高級Java程序員。 - 第二條消息是用戶的請求,要求助手寫一個 HelloWorld 示例。
- 第三條消息是助手回應用戶請求,提供了一個 Java 的 HelloWorld 示例代碼。
- 第四條消息是用戶再次提問,明確他們的問題。
-
stream:
- 值:
true
- 作用: 一般用于指示助手是否應該進行流式響應。這通常用于實時傳輸數據或進行連續的對話流,以便用戶能更快地接受到部分響應。
- 值:
-
options:
- 作用: 配置與模型交互的附加選項。
- temperature:
- 值:
0.2
- 作用: 控制生成文本輸出的多樣性。較低的溫度(例如,0.2)會使輸出更為確定和直接,而較高的溫度會增加生成文本的隨機性和多樣性。0.2 的值意味著在生成時更傾向于確定性,且生成的回應會較為穩定且一致。
- 值: