亲测有效!使用Ollama本地部署DeepSeekR1模型,指定目录安装并实现可视化聊天与接口调用

news2025/2/22 13:58:22

文章目录

  • 一、引言
  • 二、准备工作(Ollama 工具介绍与下载)
    • 2.1 Ollama介绍
    • 2.2 Ollama安装
  • 三、指定目录安装 DeepSeek R1
  • 四、Chatbox 可视化聊天搭建
    • 4.1 Chatbox下载安装
    • 4.2 关联 DeepSeek R1 与 Chatbox 的步骤
  • 五、使用 Ollama 调用 DeepSeek 接口
    • 5.1 请求接口(无上下文记忆)
    • 5.2 请求接口(有上下文记忆)
    • 5.2 请求体参数解释

一、引言

在人工智能技术飞速发展的当下,本地部署语言模型为我们带来了隐私保护、快速响应以及自定义等诸多优势。DeepSeek R1 作为一款备受瞩目的模型,拥有强大的自然语言处理能力,可应用于聊天机器人、文本生成等多个领域 。
而 Ollama 则是一款优秀的 AI 模型管理工具,它能让我们在本地轻松运行大型语言模型。如果你想拥有一个完全掌控在自己手中,可指定目录安装,还能实现可视化聊天,并且可以灵活调用接口的 DeepSeek R1 模型,那这篇文章就是你的不二之选。
接下来,我将一步步带你完成利用 Ollama 本地部署 DeepSeek R1 的全过程,无论是调整模型的安装目录,还是通过 Chatbox 实现可视化聊天,又或是熟练运用 Ollama 调用 DeepSeek 接口,所有的操作步骤和细节都将毫无保留地呈现,助你快速搭建属于自己的高效 AI 环境。

二、准备工作(Ollama 工具介绍与下载)

2.1 Ollama介绍

Ollama 是一款专为本地运行 AI 模型设计的开源工具,它的出现极大地简化了模型部署流程,无论你是专业开发者还是 AI 爱好者,都能借助其轻松上手复杂的模型操作。其跨平台特性支持在 Windows、Mac 以及 Linux 系统上无缝运行,打破了系统壁垒。

2.2 Ollama安装

ollama官网:ollama
进入官网后点击Download下载
ollama官网
点击Download for Windows进行安装,这里以Windows系统示例
安装ollama
在Ollama官网中可以选择自己要安装的模型,复制右边的命令,后续我们要使用这个命令来进行安装DeepSeek R1模型
选择模型安装

三、指定目录安装 DeepSeek R1

ollama默认将模型安装到C盘,这可能会导致C盘的磁盘不足从而影响到计算机的整体性能,在C盘频繁进行大文件的读写操作也会增加系统崩溃的几率。所以这个时候我们就需要将DeepSeek R1模型安装到其他容量足够的磁盘中,从而减轻系统的压力。

指定目录安装DeepSeek R1模型全步骤:

  1. 在指定盘符中创建Ollama文件夹,这里我们以D盘示例

  2. C:\Users目录下找到.ollama文件夹剪切复制到新建的D:\Ollama目录中(.ollama中存储的有配置文件,缓存数据,日志文件,机器学习模型资源)

  3. D:\Ollama中新建一个文件夹models用于存储安装的模型

  4. D:\Ollama目录中打开终端DOS窗口,运行ollama --version查看ollama是否安装成功(如果显示版本号则证明安装成功)

  5. 在系统变量中新增OLLAMA_MODELS,变量值是存储模型的目录D:\Ollama\models
    配置ollama系统变量

  6. 重启电脑后在终端输入ollama --version查看环境变量是否生效

  7. D:\Ollama\models目录中打开终端DOS窗口,输入命令ollama run deepseek-r1:1.5b进行安装DeepSeek R1模型
    安装DeepSeek R1模型
    安装完成后提示success则证明安装成功,接下来就可以流畅使用DeepSeek啦!

四、Chatbox 可视化聊天搭建

4.1 Chatbox下载安装

Chatbox AI 是一款 AI 客户端应用和智能助手,支持众多先进的 AI 模型和 API,可在 Windows、MacOS、Android、iOS、Linux 和网页版上使用。
Chatbox官网:Chatbox
进入官网后点击免费下载(for Windows)进行下载安装
Chatbox下载安装

4.2 关联 DeepSeek R1 与 Chatbox 的步骤

关联 DeepSeek R1 与 Chatbox
选择刚刚安装的模型,然后点击保存
关联 DeepSeek R1 与 Chatbox
使用模型

五、使用 Ollama 调用 DeepSeek 接口

5.1 请求接口(无上下文记忆)

这里我们使用ApiFox来简单给大家示例一下,后续大家可以在程序中调用接口
请求方式: POST
请求接口: http://localhost:11434/api/chat
请求内容:

{
  "model": "deepseek-r1:1.5b",
  "messages": [
    {
      "role": "system",
      "content": "你是一名高级Java程序员,擅长处理各种BUG以及编写高质量代码"
    },
    {
      "role": "user",
      "content": "请帮我使用Java写一个HelloWorld示例"
    }
  ],
  "stream": true,
  "options": {
    "temperature": 0.2
  }
}

ApiFox调用DeepSeek接口

5.2 请求接口(有上下文记忆)

请求内容:

{
  "model": "deepseek-r1:1.5b",
  "messages": [
    {
      "role": "system",
      "content": "你是一名高级Java程序员,擅长处理各种BUG以及编写高质量代码"
    },
    {
      "role": "user",
      "content": "请帮我使用Java写一个HelloWorld示例"
    },
    {
      "role": "assistant",
      "content": "\n\n好的!以下是一个基本的 `HelloWorld` 示例:\n\n```java\npublic class HelloWorld {\n    public static void main(String[] args) {\n        System.out.println(\"Hello World\");\n    }\n}\n```\n\n这个示例展示了如何使用 Java 的 `main` 方法来执行一个简单的输出打印语句。你可以将 `Hello World` 替换为其他内容,比如:\n\n```java\nSystem.out.println(\"Hello and Me\");\n```\n\n如果你有其他需求或问题,请随时告诉我!"
    },
    {
      "role": "user",
      "content": "刚刚我问你的是什么?"
    }
  ],
  "stream": true,
  "options": {
    "temperature": 0.2
  }
}

5.2 请求体参数解释

在这个请求体中,每一个参数都有其特定的功能:

  1. model:

    • : "deepseek-r1:1.5b"
    • 作用: 指定要使用的具体模型版本。在这里,它使用的是名为 deepseek-r1 的版本,规模为 1.5b,这可能意味着该模型有 1.5 billion (15 亿) 参数。
  2. messages:

    • 作用: 这是一个对话历史的数组,描述了在当前请求中系统和用户之间的交流。
    • 内容: 数组中的每一个对象代表一次交流,包括角色(role)和内容(content)。
      • role: 指定交流的角色,可以是 "system"(系统)、"user"(用户)或 "assistant"(助手)。
      • content: 是该角色在该轮次中所说的话或指令。在对话管理中用于保持对话的上下文。

    具体内容:

    • 第一条消息由 system 提供,描述助手在对话中应扮演的角色——在这里,是一名高级Java程序员。
    • 第二条消息是用户的请求,要求助手写一个 HelloWorld 示例。
    • 第三条消息是助手回应用户请求,提供了一个 Java 的 HelloWorld 示例代码。
    • 第四条消息是用户再次提问,明确他们的问题。
  3. stream:

    • : true
    • 作用: 一般用于指示助手是否应该进行流式响应。这通常用于实时传输数据或进行连续的对话流,以便用户能更快地接受到部分响应。
  4. options:

    • 作用: 配置与模型交互的附加选项。
    • temperature:
      • : 0.2
      • 作用: 控制生成文本输出的多样性。较低的温度(例如,0.2)会使输出更为确定和直接,而较高的温度会增加生成文本的随机性和多样性。0.2 的值意味着在生成时更倾向于确定性,且生成的回应会较为稳定且一致。

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

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

相关文章

网络基础 【UDP、TCP】

1.UDP 首先我们学习UDP和TCP协议 要从这三个问题入手 1.报头和有效载荷如何分离、有效载荷如何交付给上一层的协议?2.认识报头3.学习该协议周边的问题 UDP报头 UDP我们先从示意图来讲解,认识报头。 UDP协议首部有16位源端口号,16位目的端…

SQL知识体系

SQL复习 MySQL SQL介绍 SQL SQL的全拼是什么? SQL全拼:Structured Query Language,也叫结构化查询语言。 SQL92和SQL99有什么区别呢? SQL92和SQL99分别代表了92年和99年颁布的SQL标准。 在 SQL92 中采用(&#xff…

大语言模型入门

大语言模型入门 1 大语言模型步骤1.1 pre-training 预训练1.1.1 从网上爬数据1.1.2 tokenization1.1.2.1 tokenization using byte pair encoding 1.3 预训练1.3.1 context1.3.2 training1.3.3 输出 1.2 post-training1:SFT监督微调1.2.1 token 1.3 强化学习1.3.1 基…

【网络安全】零基础入门网络安全劝退指北

作为从16年接触网络安全的小白,谈谈零基础如何入门网络安全,有不对的地方,请多多指教。 这些年最后悔的事情莫过于没有把自己学习的东西积累下来形成一个知识体系。 如何入门 简单了解网络安全 网络安全就是指的确保网络系统中的数据不被别…

【Go | 从0实现简单分布式缓存】-2:HTTP服务端与一致性哈希

本文目录 一、回顾1.1 复习接口 二、http标准库三、实现HTTP服务端四、一致性哈希 本文为极客兔兔“动手写分布式缓存GeeCache”学习笔记。 一、回顾 昨天已经开发了一部分项目,我们先来看看项目结构。 分布式缓存需要实现节点间通信,建立基于 HTTP 的…

分享一个使用的音频裁剪chrome扩展-Ringtone Maker

一、插件简介 铃声制作器是一个简单易用的 Chrome 扩展,专门用于制作手机铃声。它支持裁剪音频文件的特定片段,并将其下载为 WAV 格式,方便我们在手机上使用。无论是想从一段长音频中截取精彩部分作为铃声,还是对现有的音频进行个…

知识拓展:设计模式之装饰器模式

装饰器模式拓展 1. 什么是装饰器模式? 装饰器模式(Decorator Pattern)是一种结构型设计模式,允许向一个现有的对象添加新的功能,同时又不改变其结构。装饰器模式通过创建一个装饰类来包装原始类,从而在不修…

ESP学习-1(MicroPython VSCode开发环境搭建)

下载ESP8266固件:https://micropython.org/download/ESP8266_GENERIC/win电脑:pip install esptools python.exe -m pip install --upgrade pip esptooo.py --port COM5 erase_flash //清除之前的固件 esptool --port COM5 --baud 115200 write_fla…

CAS单点登录(第7版)10.多因素身份验证

如有疑问,请看视频:CAS单点登录(第7版) 多因素身份验证 概述 多因素身份验证 (MFA) 多因素身份验证(Multifactor Authentication MFA)是一种安全机制,要求用户提供两种…

04 redis数据类型

文章目录 redis数据类型string类型hash类型list类型set类型zset类型 (sortedset)通用命令 redis数据类型 官方命令::http://www.redis.cn/commands.html Redis 中存储数据是通过 key-value 格式存储数据的,其中 val…

【R语言】主成分分析与因子分析

一、主成分分析 主成分分析(Principal Component Analysis, PCA)是一种常用的无监督数据降维技术,广泛应用于统计学、数据科学和机器学习等领域。它通过正交化线性变换将(高维)原始数据投影到一个新的坐标系&#xff…

网络安全试题

ciw网络安全试题 (1)(单选题)使网络服务器中充斥着大量要求回复的信息,消耗带宽,导致网络或系统停止正常服务,这属于什么攻击类型? A、拒绝服务 B、文件共享 C、BIND漏洞 D、远程过程调用 &a…

教育小程序+AI出题:如何通过自然语言处理技术提升题目质量

随着教育科技的飞速发展,教育小程序已经成为学生与教师之间互动的重要平台之一。与此同时,人工智能(AI)和自然语言处理(NLP)技术的应用正在不断推动教育内容的智能化。特别是在AI出题系统中,如何…

51单片机入门_10_数码管动态显示(数字的使用;简单动态显示;指定值的数码管动态显示)

接上篇的数码管静态显示,以下是接上篇介绍到的动态显示的原理。 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选&#xff…

MyBatis:动态SQL高级标签使用方法指南

一、引言 目前互联网大厂在搭建后端Java服务时,常使用Springboot搭配Mybatis/Mybatis-plus的框架。Mybatis/Mybatis-plus之所以能成为当前国内主流的持久层框架,与其本身的优点有关:支持定制动态 SQL、存储过程及高级映射,简化数…

使用 Python paramiko 自动备份设备配置实验

一、实验拓扑: 要求:交换机 SW1 做为 SSH 服务端,桥接本地虚拟虚拟网卡;本地主机通过 python paramiko 库功能登录到 SW1 上进行配置备份;AR1 做为测试 SW1 的 SSH 客户端 二、实验环境搭建: 1、SW1 配置…

【Python项目】文本相似度计算系统

【Python项目】文本相似度计算系统 技术简介:采用Python技术、Django技术、MYSQL数据库等实现。 系统简介:本系统基于Django进行开发,包含前端和后端两个部分。前端基于Bootstrap框架进行开发,主要包括系统首页,文本分…

某大型业务系统技术栈介绍【应对面试】

微服务架构【图】 微服务架构【概念】 微服务架构,是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。在微服务架构中,服务与服务之间通信时,通常是…

复现论文:DPStyler: Dynamic PromptStyler for Source-Free Domain Generalization

论文:[2403.16697] DPStyler: Dynamic PromptStyler for Source-Free Domain Generalization github: TYLfromSEU/DPStyler: DPStyler: Dynamic PromptStyler for Source-Free Domain Generalization 论文: 这篇论文还是在PromptStyler:Prompt-driven Style Gener…

Python在网络安全中的应用 python与网络安全

前言 网络安全是保护网络、系统和程序免受数字攻击的做法。据估计, 2019 年该行业价值 1120 亿美元,到2021 年估计有 350 万个职位空缺。 许多编程语言用于执行与网络安全相关的日常任务,但其中一种已成为行业标准:Python&#…