【大模型本地运行与部署框架】Ollama的API交互

文章目录

  • 简介
  • [1 交互方式](#1 交互方式)
    • [1.1 使用`curl`命令](#1.1 使用curl命令)
    • [1.2 使用postman](#1.2 使用postman)
  • [2 endpoints](#2 endpoints)
    • [2.1 `POST /api/generate`使用提供的模型为给定提示生成响应。](#2.1 POST /api/generate使用提供的模型为给定提示生成响应。)
    • [2.2 `POST /api/chat` 在与提供的模型的聊天中生成下一条消息。](#2.2 POST /api/chat 在与提供的模型的聊天中生成下一条消息。)

简介

本文介绍如何与ollama服务实现交互。在本地启动ollama后,它实际是一个本地服务器,提供了一系列api接口,见其github地址:ollama/api.md

首先,要启动ollama服务,使用命令ollama serve


1 交互方式

在官网中,给出的是可以使用curl命令进行服务测试。

1.1 使用curl命令

这种方式也是官方文档中写的示例方式。
curl名字意思为 client url (客户端url)
curl可以通过在命令行工具(terminal、cmd、powershell)里输入URL,向其获取或发送数据。这其实类似于没有图形界面的浏览器,专注于数据传输。

格式: curl [options] <URL>

post请求简单示例

使用参数 -d,并指定要发送post请求的数据。

使用json格式数据,必须含有model参数,其次prompt参数等。

请求数据:采用deepseek-r1:1.5b模型,给出具体的提示词

shell 复制代码
curl http://localhost:11434/api/generate -d '{   
      "model": "deepseek-r1:1.5b",   
      "prompt": "Why is the sky blue?" }' 

响应数据 如下:

提示:

如果使用windows的话,cmd会报语法错误,解决方案:将单引号的地方改为双引号 ,将双引号的地方加上转义字符。

示例:
curl http://localhost:11434/api/generate -d "{ \"model\": \"llama3.2\", \"prompt\": \"Why is the sky blue?\"}"

1.2 使用postman

【待补充】

2 endpoints

2.1 POST /api/generate使用提供的模型为给定提示生成响应。

这是一个流式处理终结点,因此将有一系列响应。最终响应对象将包括来自请求的统计信息和其他数据。

所有参数:

  • 如果需要提交图片,使用 base64 编码的列表:llava bakllava images
  • 如果提供空提示,则模型将加载到内存中,返回单个json对象。
shell 复制代码
curl http://localhost:11434/api/generate -d '{ "model": "deepseek-r1:1.5b" }' 

#以下响应数据      
{
     "model": "deepseek-r1:1.5b",
     "created_at": "2025-8-25T19:52:07.071755Z",
     "response": "",
     "done": true
}
  • 如果提供空提示,并携带参数 keep_alive 0 ,则将模型从内存中卸载。
shell 复制代码
curl http://localhost:11434/api/generate -d '{   
     "model": "deepseek-r1:1.5b" ,
     "keep_alive": 0}' 

#以下响应数据      
{
     "model": "deepseek-r1:1.5b",
     "created_at": "2025-08-25T03:54:03.516566Z",
     "response": "",
     "done": true,
     "done_reason": "unload"
}

2.2 POST /api/chat 在与提供的模型的聊天中生成下一条消息。

这是一个流式处理终结点,因此将有一系列响应。可以使用禁用流式处理。最终响应对象将包括来自请求的统计信息和其他数据。"stream": false

所有参数

curl http://localhost:11434/api/chat -d "{ "model": "deepseek-r1:1.5b", "messages": [ { "role": "user", "content": "why is the sky blue?" } ]}"

【未完待续。。。】

相关推荐
晨曦夜月9 小时前
笔试强训day7
开发语言·c++·算法
Kurbaneli9 小时前
先啃C语言还是直奔目标?
开发语言
weixin_307779139 小时前
Jenkins Pipeline 完全指南:核心概念、使用详解与最佳实践
开发语言·ci/cd·自动化·jenkins·etl
kk”9 小时前
c++红黑树
开发语言·c++
Gomiko9 小时前
JavaScript DOM 原生部分(二):元素内容修改
开发语言·javascript·ecmascript
Z_W_H_9 小时前
【C#】C#中值类型和引用类型参数传递的区别
开发语言·c#
Data_agent9 小时前
实战:用Splash搞定JavaScript密集型网页渲染
开发语言·javascript·ecmascript
leiming69 小时前
C++ 02 函数模板案例
开发语言·c++·算法
weixin_421585019 小时前
PYTHON 迭代器1 - PEP-255
开发语言·python
小新1109 小时前
vs2022+Qt插件初体验,创建带 UI 界面的 Qt 项目
开发语言·qt·ui