通过Api调用DeepSeek
通过 API 与 Ollama 部署的 DeepSeek 模型进行交互,可以将其集成到自己的应用程序或服务中。以下是详细的步骤和方法:
1. 启动 Ollama 服务
在通过 API 与 DeepSeek 交互之前,需要确保 Ollama 服务正在运行。默认情况下,Ollama 会启动一个本地 HTTP 服务器。
启动 Ollama 服务:
1
ollama serve
这将启动一个本地服务器,默认监听
http://localhost:11434
。
2. 使用 Ollama 的 API 接口
Ollama 提供了 RESTful API,您可以通过 HTTP 请求与 DeepSeek 模型交互。以下是一些常用的 API 端点:
生成文本
URL:
http://localhost:11434/api/generate
Method:
POST
Body:
1
2
3
4
5{
"model": "deepseek",
"prompt": "你好,DeepSeek!",
"stream": false
}参数说明:
model
: 指定使用的模型,这里是deepseek
。prompt
: 输入的提示词或问题。stream
: 是否启用流式输出。如果设置为true
,API 会以流式方式返回结果。
示例请求:
1
2
3
4
5
6
7curl -X POST http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek",
"prompt": "你好,DeepSeek!",
"stream": false
}'响应示例:
1
2
3{
"response": "你好!我是 DeepSeek,一个由深度求索公司开发的大型语言模型。有什么我可以帮你的吗?"
}
流式生成文本
如果需要逐步获取生成的文本(例如在聊天场景中),可以将 stream
参数设置为 true
。
示例请求:
1
2
3
4
5
6
7curl -X POST http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek",
"prompt": "你好,DeepSeek!",
"stream": true
}'响应示例:
1
2
3
4
5{"response": "你好"}
{"response": "!"}
{"response": "我是"}
{"response": " DeepSeek"}
{"done": true}
列出可用模型
URL:
http://localhost:11434/api/tags
Method:
GET
示例请求:
1
curl http://localhost:11434/api/tags
响应示例:
1
2
3
4
5
6
7
8
9{
"models": [
{
"name": "deepseek",
"modified_at": "2023-10-01T12:00:00Z",
"size": 5000000000
}
]
}
删除模型
如果需要删除本地已下载的模型,可以使用以下 API:
URL:
http://localhost:11434/api/delete
Method:
DELETE
Body:
1
2
3{
"model": "deepseek"
}示例请求:
1
2
3
4
5curl -X DELETE http://localhost:11434/api/delete \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek"
}'
3. 在代码中集成 API
您可以使用任何支持 HTTP 请求的编程语言与 Ollama API 交互。以下是 Python 示例:
Python 示例
1 | import requests |
4. 进阶用法
调整生成参数:
您可以通过 API 调整生成文本的参数,例如:temperature
: 控制生成文本的随机性。max_tokens
: 限制生成文本的最大长度。top_p
: 控制生成文本的多样性。
示例:
1
2
3
4
5
6
7
8{
"model": "deepseek",
"prompt": "你好,DeepSeek!",
"stream": false,
"temperature": 0.7,
"max_tokens": 100,
"top_p": 0.9
}多轮对话:
通过将历史对话记录作为prompt
的一部分,可以实现多轮对话。示例:
1
2
3
4
5{
"model": "deepseek",
"prompt": "用户:你好!\nAI:你好!有什么我可以帮你的吗?\n用户:你能写一首诗吗?",
"stream": false
}
5. 注意事项
- 性能:
DeepSeek 是一个大型模型,运行它需要较高的计算资源。确保您的机器有足够的 CPU/GPU 和内存。 - 安全性:
Ollama 默认监听本地端口,如果需要暴露给外部网络,请确保配置适当的安全措施(如防火墙、身份验证等)。
通过以上方法,您可以轻松地将 DeepSeek 集成到自己的应用程序中,并利用其强大的自然语言处理能力!
参考资料:
Ollama 官网: https://ollama.ai/
DeepSeek 官网: https://www.deepseek.com/