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

news2025/5/11 6:07:17

        前文,我们已经在本地基于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模型并实现交互式调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2319711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python NameError报错之导库报错

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

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

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

C++ 语法之数组指针

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

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

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

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

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

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

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

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

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

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

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

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

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…