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

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

文章目录

  • 一、引言
  • 二、准备工作(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.kler.cn/a/550140.html

相关文章:

  • 在Nodejs中使用kafka(三)offset偏移量控制策略,数据保存策略
  • 通过网线将Keysight DSOX4154A示波器信号传输至电脑的Step
  • 【jar包启动命令简单分享】
  • LeetCode1299
  • Selenium+Pytest自动化测试框架实战
  • springboot接入ShardingJDBC
  • 科技引领未来,中建海龙C-MiC 2.0技术树立模块化建筑新标杆
  • 高校体育场管理系统系统|体育场管理系统小程序设计与实现(源码+数据库+文档)
  • 在 Python 里,None 可能是调用者主动传入的值,所以不能用 None 来判断参数是否被提供。
  • .NET软件开发框架简记
  • 软件定义汽车时代的功能安全和信息安全
  • 知识文档管理系统哪个好?对比25年主流11款
  • SpringBoot(7)-Swagger
  • 【抽象代数】1.2. 半群与群
  • Kubernetes控制平面组件:Kubernetes如何使用etcd
  • 腾讯云ChatBI通过中国信通院大模型驱动的智能数据分析工具专项测试
  • Golang-GMP调度模型
  • OpenGL ES学习大纲
  • Android Studio SVN下载安装
  • rustdesk编译修改名字