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

【未完待续。。。】

相关推荐
Pin_Qing3 小时前
同一天,谷歌半价卖旗舰,阶跃翻倍收缓存
大数据·开发语言·人工智能·程序人生·缓存
2501_930707783 小时前
使用C#代码在 Word 文档中添加、插入或删除页面
开发语言·c#·word
没有梦想的咸鱼185-1037-16633 小时前
从通量数据到SCI论文——AI-R语言生态系统碳水热通量及其机制分析与论文
开发语言·人工智能·数据分析·r语言
weixin_461769403 小时前
conda create 创建容器 Failed to resolve ‘repo.anaconda.com‘问题
开发语言·python·conda·repo·网络问题·无法创建
Want5953 小时前
Python生日蛋糕
开发语言·python
C语言小火车3 小时前
C++ 为什么越来越依赖标准库?
java·开发语言·c++
郝学胜-神的一滴3 小时前
金融数据分析实战:从数据清洗到策略回测,Python全链路落地
开发语言·python·程序人生·金融·数据挖掘·数据分析
冒险的豆子4 小时前
JS 原型链 通俗易懂 解释说明(类比 关系)
开发语言·javascript·原型模式
破茧蝴蝶4 小时前
Selenium4 Python 页面白屏监控方案
开发语言·python
隐退山林4 小时前
JWT令牌技术
java·开发语言·java-ee