Ollama API 交互指南
快速解决
直接调用 Ollama API 交互,只需向 http://localhost:11434/api/generate 发送 POST 请求并携带模型名称和提示文本:
curl -X POST -H "Content-Type: application/json" -d '{"model": "llama2", "prompt": "你好,世界!"}' http://localhost:11434/api/generate
这个命令可以快速实现与 Ollama 模型的 API 交互,适用于本地部署模型的测试和开发场景。
常用方法
以下是 Ollama API 中常用的几个交互方法,按使用频率排序:
| 方法 | URL | 用途 |
|---|---|---|
POST /api/generate |
生成文本 | 用于模型生成文本的 API 调用 |
GET /api/models |
获取模型列表 | 获取当前 Ollama 服务中可用的模型 |
POST /api/pull |
拉取模型 | 从模型仓库中拉取模型到本地 |
POST /api/create |
创建模型 | 使用自定义配置创建模型(高级) |
POST /api/chat |
生成聊天回复 | 用于聊天类场景的 API 调用 |
详细说明
生成文本(POST /api/generate)
用于让模型根据输入提示生成文本。适合问答、续写等任务。
curl -X POST -H "Content-Type: application/json" \
-d '{"model": "llama2", "prompt": "解释一下量子计算的原理。"}' \
http://localhost:11434/api/generate
说明:
"model":指定使用的模型名称,如llama2。"prompt":输入提示文本,模型将基于此生成输出。- API 会返回生成的文本结果,以及元数据。
获取模型列表(GET /api/models)
查看当前已安装或可访问的模型列表。
curl -X GET http://localhost:11434/api/models
说明:
- 该命令无需参数,返回一个 JSON 列表,包含模型名称、大小、状态等信息。
- 用于确认本地可用的模型资源。
拉取模型(POST /api/pull)
从远程模型仓库拉取指定模型到本地。
curl -X POST -H "Content-Type: application/json" \
-d '{"name": "llama2"}' \
http://localhost:11434/api/pull
说明:
"name":指定要拉取的模型名称。- 执行后,Ollama 会从远程下载模型,并安装到本地。
- 需要网络连接和模型权限。
高级技巧
使用流式响应处理生成输出
Ollama 的 /api/generate 接口支持流式响应,可实时获取生成结果:
curl -X POST -H "Content-Type: application/json" \
-d '{"model": "llama2", "prompt": "写一首关于秋天的诗。", "stream": true}' \
http://localhost:11434/api/generate
说明:
"stream": true:开启流式响应。- 每当模型生成一部分内容,就会返回一个 JSON 数据块,包含
"response"字段。 - 适用于需要实时更新或处理长文本的场景。
设置生成参数(temperature, max_tokens)
可以调整生成文本的参数,比如控制输出的随机性和长度:
curl -X POST -H "Content-Type: application/json" \
-d '{"model": "llama2", "prompt": "介绍Python语言", "temperature": 0.7, "max_tokens": 200}' \
http://localhost:11434/api/generate
说明:
"temperature":数值越低,输出越确定;越高越随机。"max_tokens":限制输出的最大词数。- 适合对输出风格有特定需求的场景,如代码生成、总结、创意写作等。
常见问题
Q1: Ollama API 交互失败,提示 "404 Not Found"?
A:检查 Ollama 服务是否已启动,端口是否为 11434,并确保请求的 URL 正确无误。服务启动命令通常是:
ollama serve
Q2: 拉取模型时提示 "Model not found"?
A:确保模型名称拼写正确,比如 llama2、phi、mistral 等。你可以在 Ollama 的模型仓库中查询支持的模型名称。
Q3: 如何关闭流式输出,获取完整生成结果?
A:将请求中的 "stream": false,这样会等待模型生成完整文本后一次性返回结果。
总结
通过简单的 HTTP 请求即可实现与 Ollama API 的交互,无论是模型生成、拉取还是查看信息,开发者都能快速上手并集成到自己的项目中。