当前位置: 首页 > news >正文

Ollama API 交互

Ollama API 交互
Ollama 提供了基于 HTTP 的 API,允许开发者通过编程方式与模型进行交互。

本文将详细介绍 Ollama API 的详细使用方法,包括请求格式、响应格式以及示例代码。

1. 启动 Ollama 服务
在使用 API 之前,需要确保 Ollama 服务正在运行。可以通过以下命令启动服务:
ollama serve

默认情况下,服务会运行在 http://localhost:11434。

2. API 端点
Ollama 提供了以下主要 API 端点:

生成文本(Generate Text)
端点:POST /api/generate

功能:向模型发送提示词(prompt),并获取生成的文本。

请求格式:

{"model": "<model-name>",  // 模型名称"prompt": "<input-text>", // 输入的提示词"stream": false,          // 是否启用流式响应(默认 false)"options": {              // 可选参数"temperature": 0.7,     // 温度参数"max_tokens": 100       // 最大 token 数}
}

响应格式:
{ "response": "<generated-text>", // 生成的文本 "done": true // 是否完成 }

聊天(Chat)
端点:POST /api/chat

功能:支持多轮对话,模型会记住上下文。

请求格式:
{ "model": "<model-name>", // 模型名称 "messages": [ // 消息列表 { "role": "user", // 用户角色 "content": "<input-text>" // 用户输入 } ], "stream": false, // 是否启用流式响应 "options": { // 可选参数 "temperature": 0.7, "max_tokens": 100 } }
响应格式:
{ "message": { "role": "assistant", // 助手角色 "content": "<generated-text>" // 生成的文本 }, "done": true }

列出本地模型(List Models)
端点:GET /api/tags

功能:列出本地已下载的模型。

响应格式:
{ "models": [ { "name": "<model-name>", // 模型名称 "size": "<model-size>", // 模型大小 "modified_at": "<timestamp>" // 修改时间 } ] }
拉取模型(Pull Model)
端点:POST /api/pull

功能:从模型库中拉取模型。

请求格式:
{ "name": "<model-name>" // 模型名称 }
响应格式:
{ "status": "downloading", // 下载状态 "digest": "<model-digest>" // 模型摘要 }
3. 使用示例
生成文本
使用 curl 发送请求:
curl http://localhost:11434/api/generate -d '{ "model": "deepseek-coder", "prompt": "你好,你能帮我写一段代码吗?", "stream": false }'
多轮对话
使用 curl 发送请求:

curl http://localhost:11434/api/chat -d '{ "model": "deepseek-coder", "messages": [ { "role": "user", "content": "你好,你能帮我写一段 Python 代码吗?" } ], "stream": false }'

列出本地模型
使用 curl 发送请求:

curl http://localhost:11434/api/tags

拉取模型
使用 curl 发送请求:
curl http://localhost:11434/api/pull -d '{ "name": "deepseek-coder" }'

  1. 流式响应
    Ollama 支持流式响应(streaming response),适用于实时生成文本的场景。

启用流式响应
在请求中设置 "stream": true,API 会逐行返回生成的文本。

curl http://localhost:11434/api/generate -d '{ "model": "deepseek-coder", "prompt": "你好,你能帮我写一段代码吗?", "stream": true }'
响应格式
每行返回一个 JSON 对象:
{ "response": "<partial-text>", // 部分生成的文本 "done": false // 是否完成 }

  1. 编程语言示例
    Python 使用 requests 库与 Ollama API 交互:
    `import requests

生成文本

response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": "deepseek-coder",
"prompt": "你好,你能帮我写一段代码吗?",
"stream": False
}
)
print(response.json())多轮对话:response = requests.post(
"http://localhost:11434/api/chat",
json={
"model": "deepseek-coder",
"messages": [
{
"role": "user",
"content": "你好,你能帮我写一段 Python 代码吗?"
}
],
"stream": False
}
)
print(response.json())JavaScript 使用 fetch API 与 Ollama 交互:// 生成文本
fetch("http://localhost:11434/api/generate", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "deepseek-coder",
prompt: "你好,你能帮我写一段代码吗?",
stream: false
})
})
.then(response => response.json())
.then(data => console.log(data));`

多轮对话:

fetch("http://localhost:11434/api/chat", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ model: "deepseek-coder", messages: [ { role: "user", content: "你好,你能帮我写一段 Python 代码吗?" } ], stream: false }) }) .then(response => response.json()) .then(data => console.log(data));

http://www.gsyq.cn/news/32874.html

相关文章:

  • 项目冷场?用禅道协作白板激活团队的创新思维!
  • 2025年桥洞力学板市场趋势与选购指南:江苏同芯木业江苏行业领先
  • 吴恩达深度学习课程二: 改善深层神经网络 第一周:深度学习的实践(一)
  • Ollama 运行模型
  • 2025 年矿井轴流通风机,矿井抽出式轴流对旋通风机,矿井压入式对旋轴流通风机,FKD 系列矿井压入式对旋轴流通风机厂家最新推荐,实力品牌深度解析采购无忧之选
  • 2025 年矿用隔爆型压入式轴流通风机,FKZ 系列矿井轴流通风机,FKCDZ 系列矿井抽出式轴流对旋通风机厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读
  • 第一次编程作业完结撒花!!!
  • 2025年沈阳/北京/东三省制造业企业商业秘密保护权威推荐榜单:高新技术企业与上市公司数据安全解决方案精选
  • 2025沈阳/北京/东三省制造业企业商业秘密保护厂家推荐大宸商业,专业合规护航企业发展
  • LangGraph MCP - 使用LangGraph构建多智能体工作流(六)
  • 告别卡顿与等待,Rancher Vai 让集群操作“秒响应”
  • 2025 年铝型材框架、铝型材围栏、6063 铝型材、重型铝型材厂家最新推荐 —— 产能、专利、环保三维数据透视
  • 2025 年碳化硅金刚线切割机,石墨金刚线切割机,陶瓷金刚线切割机厂家最新推荐,产能、专利、适配性三维数据透视
  • 2025 年 10 月油石、保温材料、玉石、石英金刚线切割机厂家最新推荐,产能、专利、环保三维数据透视
  • 2025 年 10 月瓦楞纸、蜂窝铝、硬质合金金刚线切割机厂家最新推荐,实力品牌深度解析采购无忧之选!
  • 共产主义没能解决”霸凌“的状况
  • 测试计划与方案怎么写?这份让开发和PM都信服的模板请收好!
  • 5 MHz 到 10 GHz 一只搞定:H3-MABA-011118 国产替代实测笔记
  • Perplexity AI研究助手10个提示词
  • Linux 下使用 tar 与 pigz 进行多核压缩
  • 2025年pvc线槽厂家权威推荐榜单:线槽盖板/不锈钢线槽/塑料线槽板源头厂家精选
  • 2025年无锡排水管道非开挖修复公司权威推荐榜单:污水管道维修改造/商场污水管道修复/排水管道修复源头公司精选
  • Jenkins 集成jmeter、rf
  • 2025年10月黄褐斑改善产品推荐榜:五款热门产品深度对比分析
  • 纯前端实现结构描述生成Word文件
  • 2025年10月淡化痘印产品推荐榜:五款精选产品深度对比分析
  • LangGraph MCP - 初识(一)
  • 2025年10月上海装修公司推荐榜:五家优质企业深度对比分析
  • 2025年10月上海装修公司推荐榜单:五家优质选择深度对比分析
  • 2025年10月敏感肌产品推荐榜单:权威评测与科学选购指南