Python 调用本地部署的DeepSeek + Ollama API 详细指南
在本文中,我们将简单介绍如何在 Python 中使用 Ollama API,以DeepSeek 模型为例。无论你是想进行简单的聊天对话、使用流式响应处理大数据、还是希望在本地进行模型的创建、复制、删除等操作,本文都可以为你提供指导。此外,我们还展示了如何使用自定义客户端和异步编程来优化你的应用程序性能,无论你是 Ollama 的新手还是经验丰富的开发者,本文都能帮助你在 Python 中更高效地使用 Ollama API。
Ollama 部署DeepSeek
参考我这篇文章:本地部署DeepSeek R1 + 界面可视化open-webui【ollama容器+open-webui容器】
测试DeepSeek部署是否Okay?
curl http://localhost:11434/api/tags
输出:
有类似输出的,说明 Ollama 运行正常,并且已安装 DeepSeek 模型。
Python 调用 Ollama API
POST接口:
http://localhost:11434/api/generate
Python代码
import requests
import json
API_URL = "http://localhost:11434/api/generate" # Ollama API 端点
headers = {
"Content-Type": "application/json"
}
data = {
"model": "deepseek-coder", # 你的 DeepSeek 模型名称
"prompt": "请介绍一下 DeepSeek。",
"stream": False # 关闭流式输出
}
response = requests.post(API_URL, headers=headers, json=data)
if response.status_code == 200:
result = response.json()
print("AI 回复:", result["response"])
else:
print("请求失败:", response.status_code, response.text)
实时打印
可以通过设置 stream=True 启用响应流,使函数调用返回一个 Python 生成器,其中每个部分都是流中的一个对象。Python代码
import requests
import json
API_URL = "http://localhost:11434/api/generate" # Ollama API 端点
headers = {
"Content-Type": "application/json"
}
data = {
"model": "deepseek-r1:32b", # 你的 DeepSeek 模型名称
"prompt": "请介绍一下 DeepSeek。给出详细介绍",
"stream": True # 关闭流式输出
}
response = requests.post(API_URL, headers=headers, json=data, stream=True)
for line in response.iter_lines():
if line:
json_data = json.loads(line.decode("utf-8"))
print(json_data.get("response", ""), end="", flush=True)
注意
端口号:11434,默认的
Ollama 支持的 API 端点
API 端点 | 说明 |
---|---|
http://localhost:11434/api/generate | 生成文本(DeepSeek LLM) |
http://localhost:11434/api/tags | 列出可用模型 |
http://localhost:11434/api/show?name=deepseek-coder | 查看模型信息 |
http://localhost:11434/api/pull | 下载新模型 |
参考
END