当前位置: 首页 > news >正文

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

文章目录

  • 简介
  • 1 交互方式
    • 1.1 使用`curl`命令
    • 1.2 使用postman
  • 2 endpoints
    • 2.1 `POST /api/generate`使用提供的模型为给定提示生成响应。
    • 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模型,给出具体的提示词

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对象。
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 ,则将模型从内存中卸载。
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?” } ]}”

【未完待续。。。】

http://www.dtcms.com/a/350263.html

相关文章:

  • Vue Flow 设计大模型工作流
  • 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第六章知识点问答(22题)
  • 连锁零售排班难?自动排班系统来解决
  • DDR3入门系列(二)------DDR3硬件电路及Xilinx MIG IP核介绍
  • 基于LZO的无损数据压缩IP,高性能压缩速率32Gbps,压缩率50%,适用FPGAASIC
  • TDengine IDMP 应用场景:IT 系统监控
  • HIVE创建UDF函数全流程
  • 【URP】Unity 插入自定义RenderPass
  • 【学习记录】CSS: clamp、@scope
  • C++ extern 关键字面试深度解析
  • 大模型的思考方式
  • 引脚电平异常?以下或许是原因
  • Java 高可用实现方式
  • 基于MATLAB长时间序列遥感数据处理及在全球变化、物候提取、植被变绿与固碳分析等领域中的实践技术应用
  • 面试常考算法题汇总
  • Java设计模式-观察者模式
  • MATLAB函数文件编写规范
  • imx6ull-驱动开发篇41——Linux RTC 驱动实验
  • 详解flink SQL基础(四)
  • 使用Docker+WordPress部署个人博客
  • 无人机和无人系统的计算机视觉-人工智能无人机
  • k8s的etcd备份脚本
  • 4G模块 EC200通过MQTT协议连接到阿里云
  • Java-面试八股文-Java高级篇
  • Springboot 集成 TraceID
  • 在react里使用路由,手动跳转
  • C++ 内存安全与智能指针深度解析
  • 【flutter对屏幕底部有手势区域(如:一条横杠)导致出现重叠遮挡】
  • YOLOv7:重新定义实时目标检测的技术突破
  • 浅聊RLVR