【大模型本地运行与部署框架】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?" } ]}"

【未完待续。。。】

相关推荐
Wenweno0o1 天前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
chenjingming6661 天前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
cch89181 天前
Python主流框架全解析
开发语言·python
不爱吃炸鸡柳1 天前
C++ STL list 超详细解析:从接口使用到模拟实现
开发语言·c++·list
十五年专注C++开发1 天前
RTTR: 一款MIT 协议开源的 C++ 运行时反射库
开发语言·c++·反射
Momentary_SixthSense1 天前
设计模式之工厂模式
java·开发语言·设计模式
‎ദ്ദിᵔ.˛.ᵔ₎1 天前
STL 栈 队列
开发语言·c++
勿忘,瞬间1 天前
数据结构—顺序表
java·开发语言
张張4082 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_423533992 天前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python