这里写目录标题
Ollama 提供了一套原生 API,用于与本地部署的模型进行交互。以下是 Ollama 原生 API 的主要接口及其功能说明
地址:http://localhost:11434
1. 生成文本(Generate Text)
- API 路径:
/api/generate
- 请求方法: POST
- 功能: 向模型发送提示(prompt),生成文本回复。
- 请求参数:
{ "model": "deepseek-r1:7b", // 模型名称 "prompt": "你好,介绍一下你自己", // 输入提示 "stream": false, // 是否流式输出(默认false) "options": { // 可选参数 "temperature": 0.7, // 温度参数,控制生成多样性 "max_tokens": 100, // 最大生成token数 "top_p": 0.9 // Top-p采样参数 } }
- 响应示例:
{ "response": "你好,我是一个基于DeepSeek模型的人工智能助手,可以回答你的问题。", "done": true // 是否完成 }
2. 流式生成文本(Streaming Generate Text)
- API 路径:
/api/generate
- 请求方法: POST
- 功能: 以流式方式逐步返回生成的文本,适合实时交互场景。
- 请求参数:
{ "model": "deepseek-r1:7b", "prompt": "写一篇关于AI的文章", "stream": true // 开启流式输出 }
- 响应示例:
{"response": "AI", "done": false} {"response": "是", "done": false} {"response": "未来", "done": false} {"response": "的", "done": false} {"response": "趋势。", "done": true}
3. 列出可用模型(List Models)
- API 路径:
/api/tags
- 请求方法: GET
- 功能: 获取本地已下载的模型列表。
- 响应示例:
{ "models": [ { "name": "deepseek-r1:7b", "modified_at": "2024-01-01T12:00:00Z" }, { "name": "llama2:13b", "modified_at": "2024-01-02T12:00:00Z" } ] }
4. 拉取模型(Pull Model)
- API 路径:
/api/pull
- 请求方法: POST
- 功能: 从远程仓库下载模型到本地。
- 请求参数:
{ "name": "deepseek-r1:7b" // 模型名称 }
- 响应示例:
{ "status": "downloading", "progress": 0.5 // 下载进度 }
5. 删除模型(Delete Model)
- API 路径:
/api/delete
- 请求方法: DELETE
- 功能: 删除本地已下载的模型。
- 请求参数:
{ "name": "deepseek-r1:7b" // 模型名称 }
- 响应示例:
{ "status": "success" }
6. 模型信息(Model Info)
- API 路径:
/api/show
- 请求方法: POST
- 功能: 获取指定模型的详细信息。
- 请求参数:
{ "name": "deepseek-r1:7b" // 模型名称 }
- 响应示例:
{ "name": "deepseek-r1:7b", "size": "7B", "modified_at": "2024-01-01T12:00:00Z", "details": { "architecture": "Transformer", "quantization": "4-bit" } }
7. 聊天模式(Chat Mode)
- API 路径:
/api/chat
- 请求方法: POST
- 功能: 以对话形式与模型交互,支持上下文记忆。
- 请求参数:
{ "model": "deepseek-r1:7b", "messages": [ {"role": "user", "content": "你好"}, {"role": "assistant", "content": "你好,有什么可以帮你的?"}, {"role": "user", "content": "介绍一下AI"} ], "stream": false // 是否流式输出 }
- 响应示例:
{ "message": { "role": "assistant", "content": "AI是人工智能的缩写,旨在模拟人类智能..." }, "done": true }
8. 健康检查(Health Check)
- API 路径:
/api/health
- 请求方法: GET
- 功能: 检查Ollama服务是否正常运行。
- 响应示例:
{ "status": "healthy" }
9. 自定义配置(Custom Configuration)
- API 路径:
/api/config
- 请求方法: POST
- 功能: 修改Ollama的配置参数(如模型路径、端口号等)。
- 请求参数:
{ "model_path": "/custom/path/to/models", "port": 11435 }
10. 停止生成(Stop Generation)
- API 路径:
/api/stop
- 请求方法: POST
- 功能: 停止当前正在进行的生成任务。
- 请求参数:
{ "task_id": "12345" // 任务ID }
总结
Ollama 的原生 API 提供了丰富的功能,包括模型管理、文本生成、对话交互等。你可以通过这些 API 实现以下功能:
- 与本地模型交互(如DeepSeek)。
- 构建知识库检索和问答系统。
- 集成到其他应用或服务中(如企业微信、飞书等)。
如果需要更高级的功能(如知识库检索),可以结合 AnythingLLM 或 Dify 等工具,利用它们的 API 接口实现更复杂的业务逻辑。
😁 作者:Teddy (公众号:码尚云软件)
ok!到这里就大功告成,小编(Teddy)在这里先感谢大家的到来。
虽然不是太详细,小编已经很努力,给小编来个一键三连(点赞,关注,收藏),小编会越来越努力。。。