当前位置: 首页 > 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 算法。后续读者可以将该算法转换为其他各类语言。 正文…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

零基础设计模式——行为型模式 - 责任链模式

第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

AspectJ 在 Android 中的完整使用指南

一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

ip子接口配置及删除

配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

第八部分:阶段项目 6:构建 React 前端应用

现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...

高端性能封装正在突破性能壁垒,其芯片集成技术助力人工智能革命。

2024 年,高端封装市场规模为 80 亿美元,预计到 2030 年将超过 280 亿美元,2024-2030 年复合年增长率为 23%。 细分到各个终端市场,最大的高端性能封装市场是“电信和基础设施”,2024 年该市场创造了超过 67% 的收入。…...

GeoServer发布PostgreSQL图层后WFS查询无主键字段

在使用 GeoServer(版本 2.22.2) 发布 PostgreSQL(PostGIS)中的表为地图服务时,常常会遇到一个小问题: WFS 查询中,主键字段(如 id)莫名其妙地消失了! 即使你在…...