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

devtools/2025/4/1 3:18:32/

        前文,我们已经在本地基于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.ppmy.cn/devtools/171423.html

相关文章

更改 vscode ! + table 默认生成的 html 初始化模板

vscode ! 快速成的 html 代码默认为&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>D…

STM32八股【3】------RAM和片上FLASH

1、RAM和FLASH构成 1.RAM ┌──────────────────────────┐ │ 栈区 (Stack) │ ← 从RAM顶端向下扩展&#xff08;存储局部变量、函数调用信息&#xff09; │--------------------------│ │ 堆区 (Heap) │ ← …

Java 基于微信小程序的美食推荐系统(附源码,文档)

博主介绍&#xff1a;✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不…

Node.js 包管理配置文件详解:package.json、npmrc、package-lock.json 全面解析

目录 Node.js 包管理配置文件详解 1. package.json&#xff1a;Node.js 项目的核心配置文件 示例&#xff1a;完整的 package.json 配置 关键字段解析 2. package-lock.json&#xff1a;锁定依赖版本 示例&#xff1a;部分 package-lock.json 作用 如果 package-lock.j…

JavaScript 在 Chrome 中运行详解

JavaScript 在 Chrome 中运行详解 引言 JavaScript 是一种广泛使用的编程语言,常用于网页开发中实现动态效果和交互功能。Chrome 浏览器作为全球最受欢迎的浏览器之一,对 JavaScript 的支持非常出色。本文将详细介绍 JavaScript 在 Chrome 中运行的原理、环境以及一些优化技…

Oracle无法正常OPEN(一)

作为DBA在启动数据库时&#xff0c;可能会经常遇到数据库无法正常open的现象&#xff0c;其中原因有很多&#xff0c;今天我们讨论控制文件过旧的场景。即ORA-01207: file is more recent than control file - old control file 一、创建测试数据 SQL> create tablespace t…

spring boot jwt生成token

1、引入jwt依赖 <!--jwt的依赖--> <dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.18.3</version> </dependency> 2、创建TokenUtils工具类 package com.pn.utils;import com.…

html css 网页制作成品——HTML+CSS非遗文化扎染网页设计(5页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…