
本地部署deepseek大模型后,如何通过API调用?
前几天我在自己的Mac笔记本上部署了deepseek大模型,并配置了UI对话框,但是本地模型如何调用其API呢?
大家好,我是 同学小张,+v: jasper_8017 一起交流,持续学习AI大模型应用实战案例,持续分享,欢迎大家点赞+关注,订阅我的大模型专栏,共同学习和进步。
0. 背景
前几天我在自己的Mac笔记本上部署了deepseek大模型,并配置了UI对话框,具体步骤见下文:
Deepseek本地部署教程,带UI(普通个人笔记本,无GPU,纯CPU也可使用)
这只是实现了利用本地模型进行对话的功能。如果想要开发一些Agent或其它能力呢?
这就需要通过代码调用本地模型的API了。那么本地模型如何调用其API呢?
1. API 调用
其实还是很简单的。因为本地部署用的是Ollama,所以调用大模型API使用的也是Ollama的API接口。
1.1 API 参数介绍
以对话补全API为例,Ollama接口为:
POST /api/generate
其参数如下:
-
参数
- model: (必需)模型名称
- prompt: 要生成响应的提示
- suffix: 模型响应后的文本
- images: (可选)一个base64编码的图像列表(用于多模态模型,如 llava )
-
高级参数(可选):
- format: 返回响应的格式。目前唯一接受的值是 json
- options: 其他模型参数,如 temperature、seed 等
- system: 系统消息
- template: 要使用的提示模板
- context: 从先前对 /generate 的请求中返回的上下文参数,可以用于保持简短的对话记忆
- stream: 如果设置为 false ,响应将作为单个响应对象返回,而不是一系列对象流
- raw: 如果设置为 true ,将不会对提示进行任何格式化。如果您在请求API时指定了完整的模板提示,可以选择使用 raw 参数
- keep_alive: 控制模型在请求后保留在内存中的时间(默认:5m)
1.2 示例请求(流式)
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:7b",
"prompt": "为什么草是绿的?"
}'
http://localhost:11434
是 Ollama 在本地运行时的服务地址。
完整接口参考:https://github.com/datawhalechina/handy-ollama/blob/main/docs/C4/1.%20Ollama%20API%20%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.md
2. Python 调用 API
知道了接口的基本结构,下面我们看下如何用Python来调用。
2.1 环境准备
在开始使用 Python 与 Ollama API 交互之前,请确保您的开发环境满足以下条件:
- Python: 安装 Python 3.8 或更高版本。
- pip: 确保已安装 pip,Python 的包管理工具。
- ollama 库: 用于更方便地与 Ollama API 交互。安装命令如下:
pip install ollama
2.2 使用示例
2.2.1 非流式调用
from ollama import chat
from ollama import ChatResponse
response: ChatResponse = chat(model='deepseek-r1:7b', messages=[
{
'role': 'user',
'content': '为什么天空是蓝色的?',
},
])
print(response['message']['content'])
print(response.message.content)
2.2.2 流式响应
可以通过设置 stream=True
启用响应流,使函数调用返回一个 Python 生成器,其中每个部分都是流中的一个对象。
from ollama import chat
stream = chat(
model='deepseek-r1:7b',
messages=[{'role': 'user', 'content': '为什么天空是蓝色的?'}],
stream=True,
)
for chunk in stream:
print(chunk['message']['content'], end='', flush=True)
2.3 运行结果展示
完整python接口调用示例参考:https://github.com/datawhalechina/handy-ollama/blob/main/docs/C4/2.%20%E5%9C%A8%20Python%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20Ollama%20API.md
如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~
- 大家好,我是 同学小张,持续学习C++进阶、OpenGL、WebGL知识和AI大模型应用实战案例
- 欢迎 点赞 + 关注 👏,持续学习,持续干货输出。
- +v: jasper_8017 一起交流💬,一起进步💪。
- 微信公众号搜【同学小张】 🙏
私信免费领取AI、C++等相关资料,持续收集更新中! 包括但不限于:
清华大学104页《DeepSeek:从入门到精通》.pdf
DeepSeek指导手册(24页).pdf
《如何向 ChatGPT 提问以获得高质量答案:提示技巧工程完全指南》
《OpenAI:GPT 最佳实践(大白话编译解读版)》
人工智能精选电子书
更多推荐
所有评论(0)