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

【未完待续。。。】

相关推荐
寻星探路8 小时前
【Python 全栈测开之路】Python 进阶:库的使用与第三方生态(标准库+Pip+实战)
java·开发语言·c++·python·ai·c#·pip
SmartRadio16 小时前
CH585M+MK8000、DW1000 (UWB)+W25Q16的低功耗室内定位设计
c语言·开发语言·uwb
rfidunion16 小时前
QT5.7.0编译移植
开发语言·qt
rit843249916 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
大、男人16 小时前
python之asynccontextmanager学习
开发语言·python·学习
hqwest16 小时前
码上通QT实战08--导航按钮切换界面
开发语言·qt·slot·信号与槽·connect·signals·emit
AC赳赳老秦17 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
不知道累,只知道类17 小时前
深入理解 Java 虚拟线程 (Project Loom)
java·开发语言
国强_dev18 小时前
Python 的“非直接原因”报错
开发语言·python
YMatrix 官方技术社区18 小时前
YMatrix 存储引擎解密:MARS3 存储引擎如何超越传统行存、列存实现“时序+分析“场景性能大幅提升?
开发语言·数据库·时序数据库·数据库架构·智慧工厂·存储引擎·ymatrix