文章目录
一、本地部署DeepSeek
1. 安装ollama
ollama官网下载对应操作系统即可。
ollama默认安装在C盘,在ollama中下载的模型也默认放在C盘,如果想放在其他盘,需要修改环境变量。
在环境变量中添加:OLLAMA_MODELS D:\ollama\models,重启ollama,否则环境变量不生效。
2. 安装DeepSeek
在 ollama 官网选择对应的模型
本地安装,选择1.5b,复制右边命令,在CMD中执行即可。
二、与DeepSeek对话
1. 通过终端与DeepSeek对话
输入:ollama list
输出:NAME ID SIZE MODIFIED
deepseek-r1:1.5b a42b25d8c10a 1.1 GB 8 minutes ago
可以看到本地安装的模型列表
输入:ollama run deepseek-r1:1.5b
即可在终端中进行交互
2. 通过网站与DeepSeek对话
1. 本地需要搭建node环境
2. 下载网站源码:https://github.com/ollama-webui/ollama-webui-lite
3. 进入项目目录:
npm ci 安装项目依赖
npm run dev -- --port=9001
3. 通过API与DeepSeek对话(Python版)
描述 | API |
---|---|
http://localhost:11434/api/tags | 模型列表 (确认Ollama 是否正确运行 ) |
http://localhost:11434/api/generate | 生成文本 |
http://localhost:11434/api/chat | 对话交互(多轮对话不会记录以前的沟通, 只能每次请求,把之前的记录重新发送) |
- 列出模型信息
res = requests.get("http://localhost:11434/api/tags")
print(res.text)
{
"models": [
{
"name": "deepseek-r1:1.5b",
"model": "deepseek-r1:1.5b",
"modified_at": "2025-03-21T09:28:11.0125754+08:00",
"size": 1117322599,
"digest": "a42b25d8c10a841bd24724309898ae851466696a7d7f3a0a408b895538ccbc96",
"details": {
"parent_model": "",
"format": "gguf",
"family": "qwen2",
"families": [
"qwen2"
],
"parameter_size": "1.8B",
"quantization_level": "Q4_K_M"
}
}
]
}
- 生成文本
res = requests.post(
url="http://localhost:11434/api/generate",
json={
"model":"deepseek-r1:1.5b",
"prompt":"你好",
"stream":False, #关闭流式输出
# "temperature":"1" #temperature`(控制生成文本的随机性,值越大越随机)、`max_tokens`(限制生成文本的最大令牌数)等。
}
)
print(res.text)
{
"model": "deepseek-r1:1.5b",
"created_at": "2025-03-21T10:27:05.4590575Z",
"response": "\u003cthink\u003e\n\n\u003c/think\u003e\n\n你好!很高兴见到你,有什么我可以帮忙的吗?",
"done": true,
"done_reason": "stop",
"context": [151644,108386,151645,151648,271,151649,271,108386,6313,112169,104639,56568,3837,104139,109944,106128,9370,101037,11319],
"total_duration": 1675157900,
"load_duration": 1177944000,
"prompt_eval_count": 4,
"prompt_eval_duration": 42483900,
"eval_count": 17,
"eval_duration": 454225100
}
- 对话
message_list = []
while True:
text = input("请输入:")
user_dict = {"role": "user", "content": text}
message_list.append(user_dict)
res = requests.post(
url="http://localhost:11434/api/chat",
json={
"model": "deepseek-r1:1.5b",
"messages": message_list,
"stream": False
}
)
data_dict = res.json()
res_msg_dict = data_dict['message']
print(res_msg_dict)
message_list.append(res_msg_dict)
参考文档:https://www.bilibili.com/video/BV1sFKMeqES5?p=6&vd_source=249d5bf5a04f9b77743eda2b1a246870