Ollama — 接口
有,而且非常多。Ollama 的 API 体系分为两套:原生 API(功能最全)和 OpenAI 兼容 API(生态通用)。
对于你的“合同解析”项目,除了 /api/generate,这几个接口最值得关注:
一、核心必用接口(你的项目刚需)
| 端点 | 方法 | 核心用途 | 为什么对你的项目很重要 |
|---|---|---|---|
/api/chat |
POST | 多轮对话(推荐) | 天然支持 messages 数组,比单 prompt 更易维护上下文,且同样支持 format: json。 |
/api/tags |
GET | 列出本地模型 | 检查你的 vipsoft 模型是否已创建成功。 |
/api/show |
POST | 查看模型详情 | 查看 vipsoft 的 Modelfile 配置(如 num_ctx 是否生效)。 |
/api/delete |
DELETE | 删除模型 | 清理旧测试模型,释放磁盘空间。 |
二、原生 API 完整清单
除了上述核心接口,Ollama 还提供了一套完整的模型管理 API:
/api/generate:你正在用的,单次文本补全。/api/chat:更现代的聊天接口,使用messages数组(含role)来维持对话记忆。/api/embeddings:生成文本向量(如果你后续要做语义检索)。/api/pull:拉取远程模型(类似ollama pull)。/api/create:通过 API 直接创建自定义模型(无需命令行)。/api/copy:复制模型。/api/ps:查看当前正在运行的模型进程。
三、OpenAI 兼容接口(生态杀手锏)
Ollama 在 http://localhost:11434/v1/ 路径下提供了一组完全兼容 OpenAI 格式的接口。这意味着你可以直接使用为 ChatGPT 编写的 SDK 或代码来调用本地模型。
/v1/chat/completions:对应原生的/api/chat。/v1/embeddings:对应原生的/api/embeddings。/v1/models:对应原生的/api/tags。
Python 示例(使用 OpenAI SDK 调用本地 Ollama):
# 安装 openai 包:pip install openai
from openai import OpenAI
# 将 client 指向你的本地 Ollama 服务
client = OpenAI(
base_url='http://localhost:11434/v1',
api_key='ollama' # 本地通常无需验证,但必须传一个非空值
)
# 像调用 ChatGPT 一样调用你的 vipsoft 模型
response = client.chat.completions.create(
model="vipsoft", # 你的自定义模型名
messages=[
{"role": "system", "content": "你是合同解析助手"},
{"role": "user", "content": "解析这份合同..."}
],
temperature=0.1
)
print(response.choices[0].message.content)
四、快速验证命令(终端测试)
你可以直接在 CMD 或 PowerShell 中运行以下命令快速体验:
- 查看模型列表:
curl http://localhost:11434/api/tags - 使用 Chat API(推荐替代 Generate):
curl http://localhost:11434/api/chat -H "Content-Type: application/json" -d '{ "model": "vipsoft", "messages": [ { "role": "user", "content": "你是谁?" } ], "stream": false, "format": "json" }'
五、官方文档入口
- 官网文档:
https://docs.ollama.com/api。 - 在线文档:
https://github.com/ollama/ollama/blob/main/docs/api.md(最详细)。
建议:在你的合同解析 Python 代码中,优先考虑迁移到 /api/chat 或 /v1/chat/completions。因为 messages 结构比拼接长字符串更清晰,也更利于未来扩展多轮问答(比如先让模型确认合同类型,再执行解析)。
本文来自博客园,作者:VipSoft 转载请注明原文链接:https://www.cnblogs.com/vipsoft/p/20124910
浙公网安备 33010602011771号