文章目录
- 一、引言
- [二、准备工作(Ollama 工具介绍与下载)](#二、准备工作(Ollama 工具介绍与下载))
-
- [2.1 Ollama介绍](#2.1 Ollama介绍)
- [2.2 Ollama安装](#2.2 Ollama安装)
- [三、指定目录安装 DeepSeek R1](#三、指定目录安装 DeepSeek R1)
- [四、Chatbox 可视化聊天搭建](#四、Chatbox 可视化聊天搭建)
-
- [4.1 Chatbox下载安装](#4.1 Chatbox下载安装)
- [4.2 关联 DeepSeek R1 与 Chatbox 的步骤](#4.2 关联 DeepSeek R1 与 Chatbox 的步骤)
- [五、使用 Ollama 调用 DeepSeek 接口](#五、使用 Ollama 调用 DeepSeek 接口)
-
- [5.1 请求接口(无上下文记忆)](#5.1 请求接口(无上下文记忆))
- [5.2 请求接口(有上下文记忆)](#5.2 请求接口(有上下文记忆))
- [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
请求内容:
json
{
"model": "deepseek-r1:1.5b",
"messages": [
{
"role": "system",
"content": "你是一名高级Java程序员,擅长处理各种BUG以及编写高质量代码"
},
{
"role": "user",
"content": "请帮我使用Java写一个HelloWorld示例"
}
],
"stream": true,
"options": {
"temperature": 0.2
}
}

5.2 请求接口(有上下文记忆)
请求内容:
json
{
"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 的值意味着在生成时更倾向于确定性,且生成的回应会较为稳定且一致。
- 值 :