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

本地基于Ollama部署的DeepSeek详细接口文档说明

        前文,我们已经在本地基于Ollama部署好了DeepSeek大模型,并且已经告知过如何查看本地的API。为了避免网络安全问题,我们希望已经在本地调优的模型,能够嵌入到在本地的其他应用程序中,发挥本地DeepSeek的作用。因此需要知道本地DeepSeek的API结构,知道什么接口地址要输入什么参数,以及如何使用。

       前置文章:

        (1)个人windows电脑上安装DeepSeek大模型:https://lzm07.blog.csdn.net/article/details/145491693

        (2)查看和使用本地Windows系统下通过Ollama部署的DeepSeek模型的API:https://lzm07.blog.csdn.net/article/details/145601121

        先了解接口的详细内容,再postman对接口进行验证。

一、核心接口文档说明

1. ‌模型列表查询

‌接口地址‌:GET http://localhost:11434/api/tags

‌功能‌:获取本地已部署的模型列表,包含模型名称、版本及大小信息

‌响应示例‌(json):

{"models": [{"name": "deepseek-r1:8b", "modified_at": "2025-03-20T12:00:00Z", "size": 8.2e9}]}

2. ‌文本生成

‌接口地址‌:POST http://localhost:11434/api/generate

‌功能:根据输入提示生成文本内容,支持代码、文章、问答等场景‌。

请求参数(json)‌:

{"model": "deepseek-r1:8b",  // 必填,需与本地模型名称一致‌:ml-citation{ref="2,4" data="citationList"}"prompt": "输入问题",        // 必填"stream": false,           // 是否流式输出(默认true)‌:ml-citation{ref="4,7" data="citationList"}"temperature": 0.7,        // 随机性控制(0-1,默认0.8)‌:ml-citation{ref="4,7" data="citationList"}"max_tokens": 1000         // 最大输出长度‌:ml-citation{ref="4,7" data="citationList"}}

‌响应示例‌(json):

{"response": "生成内容","created_at": "2025-03-21T10:00:00Z","done": true}

3. ‌对话交互

‌接口地址‌:POST http://localhost:11434/api/chat

‌‌功能‌: 支持多轮对话交互,维护上下文语义

请求参数(json)‌:

{"model": "deepseek-r1:8b","messages": [{"role": "user", "content": "你好"},{"role": "assistant", "content": "有什么可以帮助您?"}],"options": {"temperature": 0.7,      // 可选参数‌:ml-citation{ref="4,7" data="citationList"}"num_ctx": 4096          // 上下文窗口大小‌:ml-citation{ref="7" data="citationList"}}}

‌响应示例(json)‌:

{"message": {"role": "assistant", "content": "回复内容"},"done": true}

二、模型管理接口

4. ‌拉取模型

‌接口地址‌:POST http://localhost:11434/api/pull

‌功能‌: 从仓库下载指定模型到本地

请求参数(json)‌:

{"name": "deepseek-r1:14b",  // 需与模型仓库名称一致‌:ml-citation{ref="5,8" data="citationList"}"stream": false             // 是否显示下载进度流‌:ml-citation{ref="5,8" data="citationList"}}

‌响应示例‌(json):

{"status": "success", "digest": "sha256:..."}

5. ‌创建自定义模型

‌接口地址‌:POST http://localhost:11434/api/create

请求参数‌(json):

{"name": "custom-model",    // 自定义模型名称"modelfile": "FROM deepseek-r1:8b\nPARAMETER temperature 0.9"  // 模型配置文件‌:ml-citation{ref="5,8" data="citationList"}}

6. ‌删除模型

‌接口地址‌:DELETE http://localhost:11434/api/delete

‌功能‌: 移除本地已部署的模型

请求参数‌(json):

{"name": "deepseek-r1:1.5b"}  // 需删除的模型名称‌:ml-citation{ref="6,8" data="citationList"}

三、高级接口

7. ‌查看模型信息

‌接口地址‌:GET http://localhost:11434/api/show

‌请求参数‌(json):

{"name": "deepseek-r1:8b"}    // 模型名称‌:ml-citation{ref="8" data="citationList"}

‌响应示例(json)‌:

{"license": "Apache-2.0","modelfile": "...","parameters": "temperature 0.8"}

‌8. 流式响应处理

‌说明‌: 在请求(文本生成/对话)中设置 "stream": true 时,响应将以数据流形式分块返回‌。

‌‌数据格式‌: 分块返回SSE(Server-Sent Events)格式数据。

示例‌(使用 curl)(CMD中执行):

curl http://localhost:11434/api/generate -d '{"model": "deepseek-r1:8b","prompt": "写一首关于春天的诗","stream": true}'

四、Postman下载安装

        了解了以上接口之后,我们要先对接口进行验证,看接口的地址、类型、以及请求的参数是否都正常,便于之后在其他程序中应用这些接口。当前我们使用来postman验证接口。

        先下载和安装postman程序。

1. 下载postman

       官方网址:https://www.postman.com/downloads/

2. postman安装

       点击Postman-win64-Setup.exe。不用登录,点击下方的“Continue without an account”。

       不用登录,点击“Open Lightweight API Client”。

       进入postman主界面

五、Postman测试说明

‌1.配置请求头

设置 Content-Type: application/json‌。

2.发送请求示例(对话接口)

‌步骤‌:

(1)选择 POST 方法,输入 http://localhost:11434/api/chat

(2)在 ‌Body‌ 标签中选择 ‌raw‌ 格式,粘贴以下内容(json):

       模型名称一定要写对,根据自己本地安装好的模型修改,如我们前面已经在本地部署好了deepseek模型,并将模型命名为my_model_name ,则此时,应该填写:"model": "my_model_name"

{"model": "deepseek-r1:8b","messages": [{"role": "user", "content": "解释机器学习中的过拟合"}]}

(3)点击 ‌Send‌ 获取响应‌。

‌3.流式响应处理

若设置 "stream": true,需在Postman中启用 ‌Stream‌ 模式,逐块接收数据‌。

(1)在 ‌Body‌ 标签选择 ‌raw‌ → ‌JSON‌,输入以下内容(json):

{"model": "deepseek-chat", "messages": [{"role": "user", "content": "你的问题"}], "stream": true  // 关键参数,启用流式输出‌:ml-citation{ref="7,8" data="citationList"}}

(2)关闭 SSL 验证(可选)‌

在 Postman 设置(Settings → General)中关闭 ‌SSL certificate verification‌,避免证书错误中断流式传输‌。

六、注意事项

‌       (1)模型名称匹配‌:确保接口中的 model 参数与通过 ollama list 查看到的名称完全一致‌。

‌       (2)显存限制‌:高参数版本(如14B)需至少32GB内存,低配置设备建议使用1.5B或8B版本‌。

‌       (3)端口占用‌:若端口11434被占用,可通过 OLLAMA_HOST 环境变量修改服务端口‌。

‌       (4)跨域问题‌: 若通过 Swagger 调用,需在Ollama服务端配置CORS头(bash):

# 启动服务时添加参数OLLAMA_ORIGINS=* ollama serve

通过以上接口,可全面管理本地部署的DeepSeek模型并实现交互式调用。

相关文章:

本地基于Ollama部署的DeepSeek详细接口文档说明

前文,我们已经在本地基于Ollama部署好了DeepSeek大模型,并且已经告知过如何查看本地的API。为了避免网络安全问题,我们希望已经在本地调优的模型,能够嵌入到在本地的其他应用程序中,发挥本地DeepSeek的作用。因此需要知…...

python NameError报错之导库报错

在日常代码编写中,经常出现如 图1 一样的报错,在代码多时很难找到问题,但翻看代码后就会发现是因为未导库, 图1 报错 代码: time.sleep(0.1) print("time库") 解决方法: 第一步:在代码中添加导库代码 import time #…...

Web3网络生态中数据保护合规性分析

Web3网络生态中数据保护合规性分析 在这个信息爆炸的时代,Web3网络生态以其独特的去中心化特性,逐渐成为数据交互和价值转移的新平台。Web3,也被称为去中心化互联网,其核心理念是将数据的控制权归还给用户,实现数据的…...

【数学建模】模糊综合评价模型详解、模糊集合论简介

模糊综合评价模型详解 文章目录 模糊综合评价模型详解1. 模糊综合评价模型概述2. 模糊综合评价的基本原理2.1 基本概念2.2 评价步骤 3. 模糊综合评价的数学模型3.1 数学表达3.2 模糊合成运算 4. 模糊综合评价的应用领域5. 模糊综合评价的优缺点5.1 优点5.2 缺点 6. 模糊综合评价…...

C++ 语法之数组指针

一维数组: 如果我们定义了一个一维数组,那么这个数组名,就是指向第一个数组元素的地址,也即,是整个数组分配的内存空间的首地址。 比如 int a[3]; 定义了一个包含三个元素的数组。因为一个int占4个字节,那…...

从0到1在windows上用flutter开发android app(环境准备、创建项目、加速构建)

一、项目环境准备 ​1、设置环境变量 需配置以下两个核心环境变量,以替换官方资源链接为国内镜像: ​Windows系统​(通过PowerShell或系统属性面板设置) # 临时生效(当前会话) $env:PUB_HOSTED_URL = "https://pub.flutter-io.cn" $env:FLUTTER_STORAGE_BA…...

PLY格式文件如何转换成3DTiles格式——使用GISBox软件实现高效转换

一、概述 在三维GIS和数字孪生领域,3DTiles格式已成为主流的数据格式之一。它由Cesium团队提出,专为大规模3D数据可视化设计,能够高效地加载和展示海量模型数据。而PLY格式则是一种常见的三维模型文件格式,主要用于存储点云数据或…...

Java定时任务的三重境界:从单机心跳到分布式协调

《Java定时任务的三重境界:从单机心跳到分布式协调》 本文将以生产级代码标准,揭秘Java定时任务从基础API到分布式调度的6种实现范式,深入剖析ScheduledThreadPoolExecutor与Quartz Scheduler的线程模型差异,并给出各方案的性能压…...

响应压缩导致的接口请求response没有响应体问题排查

目录 一、背景二、排查过程三、解决方法四、学习与思考-响应压缩(一)可能原因(二)深入排查(三)注意 一、背景 接口发布到测试环境,测试同学说没有数据 二、排查过程 1、本地用相同的参数、相…...

【Linux网络】手动部署并测试内网穿透

📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…...

java项目之在线购物系统(源码+文档)

项目简介 在线购物系统实现了以下功能: 使用在线购物系统的用户分管理员和用户两个角色的权限子模块。 管理员所能使用的功能主要有:主页、个人中心、用户管理、商品分类管理、商品信息管理、系统管理、订单管理等。 用户可以实现主页、个人中心、我的…...

【设计模式】C++ 单例模式总结与最佳实践

1. 单例模式简介 单例模式(Singleton Pattern) 是软件开发中常见的设计模式之一,主要用于 确保某个类只有一个实例,并提供一个全局访问点。常见的使用场景包括: 日志管理:全局唯一的日志记录器。数据库连…...

OO_Unit1

第一次作业 UML类图 代码复杂度分析 其中Expr中的toString方法认知复杂度比较高,主要源于多层条件嵌套和分散的字符串处理逻辑,重构时可重点关注这两部分的解耦。 代码量分析 1.”通用形式“ 我觉得我的设计的最大特点就是“通用形式”,具…...

重要重要!!fisher矩阵元素有什么含义和原理; Fisher 信息矩阵的形式; 得到fisher矩阵之后怎么使用

fisher矩阵元素有什么含义和原理 目录 fisher矩阵元素有什么含义和原理一、对角线元素( F i , i F_{i,i} Fi,i​)的含义与原理二、非对角线元素( F i , j F_{i,j} Fi,j​)的含义与原理Fisher 信息矩阵的形式矩阵的宽度有位置权重数量决定1. **模型参数结构决定矩阵维度**2.…...

[已解决]jupyter notebook报错 500 : Internal Server Error及notebook闪退

jupyter notebook出现如上图的报错,可以在黑色窗口中检查是为什么报错。 我检查发现是nbconvert导致的问题,卸载重装nbconvert。 但是这时候出现,jupyter notebook闪退问题。jupyter的黑色窗口出现一秒钟就没了。 在Anaconda Prompt中检查ju…...

2025年渗透测试面试题总结- 某亭-安全研究员(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 一、SQL注入过滤单引号绕过方法 二、MySQL报错注入常用函数 三、报错注入绕WAF 四、MySQL写文件函数…...

Redis分布式锁如何实现——简单理解版

目录 前言 满足条件 加锁之后产生的问题 避免死锁的方法 Lua脚本实现避免释放其他锁 看门狗判断过期 扩展 Lua脚本 Redission 前言 在如今开发的某些项目中,多个进程必须以互斥的方式独占共享资源,这时用分布式锁是最直接有效的,分布式…...

数字化转型驱动卫生用品安全革新

当315晚会上晃动的暗访镜头揭露卫生巾生产车间里漂浮的异物、纸尿裤原料仓中霉变的碎屑时,这一触目惊心的场景无情地撕开了“贴身安全”的遮羞布,暴露的不仅是部分企业的道德缺失,更凸显了当前检测与监管体系的漏洞,为整个行业敲响…...

北京南文观点:品牌如何抢占AI 认知的 “黄金节点“

在算法主导的信息洪流中,品牌正在经历一场隐蔽的认知权争夺战,当用户向ChatGPT咨询"哪家新能源车企技术最可靠"时,AI调取的知识图谱数据源将直接决定品牌认知排序。南文乐园科技文化(北京)有限公司&#xff…...

分布式(一):CAPBASE理论

1 CAP理论 1.1 简介 CAP也就是Consistency(一致性)、Availability(可用性)、Partition Tolenrance(分区容错性)这三个单词首字母组合。 在理论计算机科学中,CAP定理(CAP theorem&…...

自适应柔顺性策略:扩散引导控制中学习近似的柔顺

24年10月来自斯坦福大学和 TRI 的论文“Adaptive Compliance Policy: Learning Approximate Compliance for Diffusion Guided Control”。 柔顺性在操作中起着至关重要的作用,因为它可以在不确定的情况下平衡位置和力的并发控制。然而,当今的视觉运动策…...

python中所有内置类型

文章目录 数值类型序列类型集合类型映射类型布尔类型空类型代码汇总 在 Python 中,数据类型可分为内置数据类型和用户自定义数据类型。内置数据类型是 Python 解释器直接支持的类型 数值类型 整数(int):表示整数,可正…...

​「Java-API帮助文档」

「Java-API帮助文档」,链接:https://pan.quark.cn/s/d7ced3b48f33 java.applet提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。java.awt包含用于创建用户界面和绘制图形图像的所有类。java.awt.color提供用于颜色空间的类。java…...

1204. 【高精度练习】密码

文章目录 题目描述输入输出样例输入样例输出数据范围限制CAC代码 题目描述 人们在做一个破译密码游戏: 有两支密码棒分别是红色和蓝色,把红色密码棒上的数字减去蓝色 密码棒上的数字,就是开启密码锁的密码。 现已知密码棒上的数字位数不超过…...

SVN简明教程——下载安装使用

SVN教程目录 一、开发中的实际问题二、简介2.1 版本控制2.2 Subversion2.3 Subversion的优良特性2.4 工作原理2.5 SVN基本操作 三、Subversion的安装与配置1. 服务器端程序版本2. 下载源码包3. 下载二进制安装包4. 安装5. 配置版本库① 为什么要配置版本库?② 创建目…...

“智改数转”新风口,物联网如何重构制造业竞争力?

一、政策背景 为深化制造业智能化改造、数字化转型、网络化联接,江苏省制定了《江苏省深化制造业智能化改造数字化转型网络化联接三年行动计划(2025-2027年)》,提出到2027年,全省制造业企业设备更新、工艺…...

从数据洪流到智能洞察:人工智能如何解锁大数据的价值?

引言:数据洪流时代,企业的机遇与挑战 在这个信息爆炸的时代,数据正以前所未有的速度增长。IDC预测,全球数据量将在未来几年内持续飙升,企业每天都会产生海量的用户行为数据、市场交易数据、设备传感数据等。理论上&…...

蓝桥杯 之 数论

文章目录 习题质数找素数 LCM报数游戏 快速幂数字诗意 组合数与错位排序小蓝与钥匙 同余取模 数论,就是一些数学问题,蓝桥杯十分喜欢考察,常见的数论的问题有:取模,同余,大整数分解,素数&#x…...

SpringBoot的启动原理?

大家好,我是锋哥。今天分享关于【SpringBoot的启动原理?】面试题。希望对大家有帮助; SpringBoot的启动原理? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Spring Boot的启动原理主要是通过 SpringApplication 类来…...

从零开始搭建向量数据库:基于 Xinference 和 Milvus 的文本搜索实践

引言 在 AI 和大数据时代,向量数据库正成为处理非结构化数据(如文本、图像)的利器。最近,我尝试用 Xinference 和 Milvus 搭建一个简单的文本搜索系统,从读取本地文本文件到实现交互式查询和高亮显示匹配结果&#xf…...