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

【deepseek-r1模型】linux部署deepseek

1、快速安装

Ollama 下载:Download Ollama on macOS

Ollama 官方主页:https://ollama.com

Ollama 官方 GitHub 源代码仓库:https://github.com/ollama/ollama/

官网提供了一条命令行快速安装的方法。

(1)下载Ollama

curl -fsSL https://ollama.com/install.sh | sh

此命令将自动下载最新版本的 Ollama 并完成安装,以下是 Ollama 使用常见的指令:

ollama serve         #启动ollama
ollama create        #从模型文件创建模型
ollama show          #显示模型信息
ollama run           #运行模型
ollama pull          #从注册表中拉取模型
ollama push          #将模型推送到注册表
ollama list          #列出模型
ollama cp            #复制模型
ollama rm            #删除模型
ollama help          #获取有关任何命令的帮助信息
  • 验证安装完成,在 Exec 处输入:

ollama -h

输出如下:即表示安装成功🎉

(2)开启并使用 Ollama

1).在Service中增加下面两行

vi /etc/systemd/system/ollama.service

Environment="OLLAMA_HOST=0.0.0.0"

Environment="OLLAMA_ORIGINS=*"

2).首先,在终端中开启 Ollama,并在后台挂起(这里有可能有问题,启动的时候是127.0.0.1监听的)

ollama serve

(3)下载大模型

然后下载大模型选择Models 选择一个模型 我这里选择的是deepseek-r1

执行命令以下是成功的结果

(4)以下是常用的指令

1.运行指定大模型指令

ollama run deepseek-r1:7b

2.停止ollama服务

systemctl stop ollama

3.指令启动方式(这个是解决ollama serve启动时ip监听错误的指令)

OLLAMA_HOST=0.0.0.0:11434 /usr/local/bin/ollama serve

这是错误的监听界面

这是正确的监听界面

2. Ollama接口概览

Ollama 提供了以下主要接口:

(1) 生成文本
  • URL: POST /api/generate
  • 功能: 向模型发送提示(prompt),生成文本。

请求体:

{"prompt": "你的提示文本","max_tokens": 50, // 可选,生成的最大 token 数量"temperature": 0.7, // 可选,控制生成文本的随机性"top_p": 0.9, // 可选,控制生成文本的多样性"stop": ["\n", "。"] // 可选,生成停止的标记
}

响应体:

{"response": "模型生成的文本","tokens_used": 50 // 使用的 token 数量
}
(2) 对话模式
  • URL: POST /api/chat
  • 功能: 与模型进行多轮对话。

请求体:

{"messages": [{"role": "user", "content": "你好!"},{"role": "assistant", "content": "你好,有什么可以帮助你的?"}],"max_tokens": 100, // 可选,生成的最大 token 数量"temperature": 0.7 // 可选,控制生成文本的随机性
}

响应体:

{"response": "模型生成的回复","tokens_used": 100 // 使用的 token 数量
}
(3) 获取模型信息
  • URL: GET /api/model
  • 功能: 获取当前加载的模型信息。

响应体:

{"model_name": "deepseek-r1:7b","model_size": "7B",
}
(4) 重新加载模型
  • URL: POST /api/reload
  • 功能: 重新加载模型。

请求体:

{"model": "deepseek-r1:7b" // 可选,指定重新加载的模型
}

响应体:

{"status": "success","message": "Model reloaded successfully"
}
(5) 停止服务
  • URL: POST /api/stop
  • 功能: 停止 Ollama 服务。

响应体:

{"status": "success","message": "Service stopped successfully"
}

3. 参数说明

参数名

类型

说明

prompt

string

生成文本的提示。

messages

array

对话模式中的消息列表,每条消息包含 role

(user/assistant)和 content

max_tokens

integer

生成的最大 token 数量。

temperature

float

控制生成文本的随机性,值越高越随机。

top_p

float

控制生成文本的多样性,值越高越多样。

stop

array

生成停止的标记列表。


4. 错误响应

如果请求失败,Ollama 会返回以下格式的错误信息:

{"error": "错误描述","code": 400 // 错误码
}

常见错误码:

  • 400: 请求参数错误。
  • 404: 接口不存在。
  • 500: 服务器内部错误。

5. 注意事项

  • 确保 Ollama 服务已正确启动,并且模型 deepseek-r1:7b 已加载。
  • 如果服务监听在 127.0.0.1,外部无法访问,请修改为 0.0.0.0
  • 如果需要更高的性能,可以调整模型的参数(如 max_tokenstemperature)。

6. Java调用demo

public static void main(String[] args) {try (CloseableHttpClient httpClient = HttpClients.createDefault()) {HttpPost post = new HttpPost("http://你的ip:11434/api/generate");// 注意Ollama的API参数格式String json = "{"+ "\"model\": \"deepseek-r1:7b\","+ "\"prompt\": \"Hello World!\","
//                    + "\"temperature\": 0.7,"  // 新增温度参数
//                    + "\"top_p\": 0.9,"        // 新增top_p参数+ "\"stream\": false,"  // 是否启用流式   true时会逐个返回结果,而不是一次性返回全部结果+ "\"max_tokens\": 50"+ "}";post.setEntity(new StringEntity(json));post.setHeader("Content-Type", "application/json");HttpResponse response = httpClient.execute(post);String result = EntityUtils.toString(response.getEntity());System.out.println("API Response:\n" + result);// 解析 JSONJSONObject jsonObject = JSON.parseObject(result);// 提取 "response" 字段的值String responseStr = jsonObject.getString("response");// 去除 HTML 标签(如果需要)String cleanedResponse = responseStr.replaceAll("\\u003c/?.*?\\u003e", "").trim();// 打印结果System.out.println(String.format("提取的回答内容:%s", cleanedResponse));} catch (Exception e) {e.printStackTrace();}}

以下是请求成功的示例

如果对你有帮助请帮忙点个👍

相关文章:

【deepseek-r1模型】linux部署deepseek

1、快速安装 Ollama 下载:Download Ollama on macOS Ollama 官方主页:https://ollama.com Ollama 官方 GitHub 源代码仓库:https://github.com/ollama/ollama/ 官网提供了一条命令行快速安装的方法。 (1)下载Olla…...

【Github每日推荐】-- 2024 年项目汇总

1、AI 技术 项目简述OmniParser一款基于纯视觉的 GUI 智能体,能够准确识别界面上可交互图标以及理解截图中各元素语义,实现自动化界面交互场景,如自动化测试、自动化操作等。ChatTTS一款专门为对话场景设计的语音生成模型,主要用…...

C++中的.*运算符

看运算符重载的时候,看到这一句 .* :: sizeof ?: . 注意以上5个运算符不能重载。 :: sizeof ?: . 这四个好理解,毕竟都学过,但.*是什么? 于是自己整理了一下 .* 是一种 C 中的运算符,称为指针到成…...

深度学习笔记——LSTM

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍面试过程中可能遇到的LSTM知识点。 文章目录 LSTM(Long Short-Term Memory)LSTM 的核心部件LSTM 的公式和工作原理(1) 遗忘门&a…...

spring boot知识点2

1.spring boot 要开启一些特性,可通过什么方式开启 a.通过Enable注解,可启动定时服务 b.通过application.properties可设置端口号等地址信息 2.什么是热部署,以及spring boot通过什么方式进行热部署 热部署这个概念,我知道。就…...

【机器学习】CNN与Transformer的表面区别与本质区别

仅供参考 表面区别 1. 结构和原理: CNN:主要通过卷积层来提取特征,这些层通过滑动窗口(卷积核)捕捉局部特征,并通过池化层(如最大池化)来降低特征的空间维度。CNN非常适合处理具有网格状拓扑结构的数据,如图像。Transformer:基于自注意力(Self-Attention)机制,能…...

框架篇 - Hearth ArcGIS 框架扩展(DryIoC、Options、Nlog...)

框架篇 - Hearth ArcGISPro Addin 框架扩展(DryIoC、Options、Nlog…) 文章目录 框架篇 - Hearth ArcGISPro Addin 框架扩展(DryIoC、Options、Nlog...)1 使用IoC、DI1.1 服务注册1.1.1 `ServiceAttribute`服务特性1.2 依赖注入1.2.1 SDK底层创建实例类型依赖注入1.2.2 `In…...

JUC并发—7.AQS源码分析三

大纲 1.等待多线程完成的CountDownLatch介绍 2.CountDownLatch.await()方法源码 3.CountDownLatch.coutDown()方法源码 4.CountDownLatch总结 5.控制并发线程数的Semaphore介绍 6.Semaphore的令牌获取过程 7.Semaphore的令牌释放过程 8.同步屏障CyclicBarrier介绍 9.C…...

windows系统本地部署DeepSeek-R1全流程指南:Ollama+Docker+OpenWebUI

本文将手把手教您使用OllamaDockerOpenWebUI三件套在本地部署DeepSeek-R1大语言模型,实现私有化AI服务搭建。 一、环境准备 1.1 硬件要求 CPU:推荐Intel i7及以上(需支持AVX2指令集) 内存:最低16GB,推荐…...

当C#邂逅Deepseek, 或.net界面集成deepseek

最近,我开发了一个C#界面,并集成了Deepseek的接口功能,实现了本地化部署和流模式读取。 过程充满了挑战和乐趣,也让我深刻体会到Deepseek的强大之处。今天,我想和大家分享这段经历,希望能激发你对Deepseek的…...

Cursor实战:Web版背单词应用开发演示

Cursor实战:Web版背单词应用开发演示 需求分析自行编写需求文档借助Cursor生成需求文档 前端UI设计后端开发项目结构环境参数数据库设计安装Python依赖运行应用 前端代码修改测试前端界面 测试数据生成功能测试Bug修复 总结 在上一篇《Cursor AI编程助手不完全指南》…...

Kotlin Lambda

Kotlin Lambda 在探索Kotlin Lambda之前,我们先回顾下Java中的Lambda表达式,Java 的 Lambda 表达式是 Java 8 引入的一项强大的功能,它使得函数式编程风格的代码更加简洁和易于理解。Lambda 表达式允许你以一种更简洁的方式表示实现接口&…...

V4L2驱动之UVC

以下是关于V4L2摄像头驱动框架与UVC协议的关联分析,从内核驱动到用户空间的完整视角: 1. V4L2驱动框架核心架构 关键组件: 核心层 (V4L2 Core) v4l2_device:设备的总入口,管理所有子组件video_device:对应…...

numpy(01 入门)

前面内容:pandas(01 入门) 目录 一、numpy 简介 1.1 Numpy 应用场景 1.2 Numpy 优点 1.3 Numpy 缺点 1.4 相关链接 二、Numpy环境安装配置 2.1 Python自带包 2.2 Numpy 安装 三、NumPy.Ndarray 3.1 ndarray特点: 3.2 ndarray()参数&…...

Chatgpt论文润色指令整理

1. 内容润色 这个来自文章《three ways ChatGPT helps me in my academic writing》。 在输入你要润色的内容前,先输入以下内容来驯化chatgpt的身份: I’m writing a paper on [话题] for a leading [学科/杂志] academic journal. What I tried to s…...

vscode复制到下一行

linux中默认快捷键是ctrl shift alt down/up 但是在vscode中无法使用,应该是被其他的东西绑定了,经测试,可以使用windows下的快捷键shift alt down/up { “key”: “shiftaltdown”, “command”: “editor.action.copyLinesDownAction”…...

Python天梯赛刷题-五分题(上)

蓝桥杯题刷的好累,感觉零帧起手、以题带学真的会很吃力,打算重新刷一点天梯的题目巩固一下,我本人在算法非常不精通的情况下,自认为天梯的L1的题是会相对容易一些的,可能有一些没有脑子光靠力气的“硬推”hhhh。 从头…...

【优先级队列】任务分配

任务分配问题,有n个任务,每个任务有个达到时间。将这些任务分配给m个处理器,进行处理。每个处理器的处理时间不一样。处理器的任务列表有最大任务数限制。 分配任务的策略是:当前待分配的任务的处理时刻最小。如果处理时刻相同&am…...

设计模式之适配模式是什么?以及在Spring AOP中的拦截器链的使用源码解析。

前言 本文涉及到适配模式的基本用法,以及在Spring AOP中如何使用,首先需要了解适配模式的工作原理,然后结合Spring AOP的具体实现来详细详细解析源码。 首先,适配模式,也就是Adapter Pattern,属于结构型设计…...

Python 库自制 Cross-correlation 算法

Python 库自制 Cross-correlation 算法 引言正文引言 虽然 Scipy 库中包含了成熟的 Cross-correlation 算法,但是有些时候我们无法使用现成的库进行数据处理。这里介绍如何使用 Python 基础函数自制 Cross-correlation 算法。后续读者可以将该算法转换为其他各类语言。 正文…...

华为云AI开发平台ModelArts

华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

LangFlow技术架构分析

🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...