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

【未完待续。。。】

相关推荐
C+-C资深大佬3 小时前
C++ 中的 constexpr与 const区
java·开发语言·c++
仙俊红3 小时前
Java 单例模式:类里面为什么可以有自己类型的字段?
java·开发语言·单例模式
_Evan_Yao3 小时前
面向对象实战:用 Java/Python 设计一个简单的“怪物战斗”小游戏
java·开发语言
c++之路3 小时前
CMake 系列教程(一):CMake 基础知识
c语言·开发语言·c++
AI行业学习3 小时前
CC‑Switch v3.16.1-下载、配置、安装(2026‑06‑01 最新官方版)
开发语言·人工智能·windows·python
赵庆明老师3 小时前
JS检查提交的文件是否合规
开发语言·前端·javascript
Irissgwe3 小时前
C++ STL bitset 和位图详解
开发语言·c++·stl·位图·bitset
我还记得那天3 小时前
C语言随机数生成机制与猜数字游戏实现
c语言·开发语言·游戏
伊灵eLing4 小时前
GoLang 语言基础
开发语言·后端·golang
两年半的个人练习生^_^4 小时前
JMM 进阶:彻底理解 synchronized 实现原理
java·开发语言