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

Ubuntu 24.04.1 LTS 本地部署 DeepSeek 私有化知识库

文章目录

  • 前言
    • 工具介绍与作用
    • 工具的关联与协同工作
    • 必要性分析
  • 1、DeepSeek 简介
    • 1.1、DeepSeek-R1 硬件要求
  • 2、Linux 环境说明
    • 2.1、最小部署(Ollama + DeepSeek)
      • 2.1.1、扩展(非必须) - Ollama 后台运行、开机自启:
    • 2.2、Page Assist - 浏览器插件
    • 2.3、知识库
      • 2.3.1、Embedding 向量化模型 - bge-m3
      • 2.3.2、AnythingLLM


前言

工具介绍与作用

  1. Ollama - 官方网站

    • 定义与作用:
      • Ollama 是一个开源的本地化大语言模型(LLM)部署工具,旨在简化大型语言模型的安装、运行和管理。它封装了底层的模型运行逻辑,提供了一个用户友好的命令行界面(CLI)和 API 接口,使得用户可以在本地设备上轻松运行各种开源模型(如 LLaMA、DeepSeek 等)。Ollama 支持 GPU 加速,能够自动利用设备的 GPU 资源来提高模型的推理效率。
    • 在 DeepSeek 部署中的作用:
      • Ollama 作为 DeepSeek 模型的本地运行环境,负责加载和运行 DeepSeek 模型文件。它提供了模型管理功能,用户可以通过 Ollama 的命令行工具下载、加载和切换不同的模型版本。
  2. Embedding - 官方网站

    • 定义与作用:
      • Embedding(嵌入)是指将高维数据(如文本)转换为低维向量的过程。这些向量能够捕捉数据的语义信息,便于进行高效的检索和比较。在自然语言处理中,嵌入模型(如 nomic-embed-text )将文本片段转换为向量,这些向量可以存储在向量数据库中。
    • 在 DeepSeek 部署中的作用:
      • 在部署 DeepSeek 时,Embedding 模型用于将文档内容转换为向量形式,并将这些向量存储在向量数据库中。当用户向 AI 助手提问时,系统会通过嵌入模型将问题文本转换为向量,然后在向量数据库中搜索与问题最相关的文档片段,从而提供更精准的回答。
  3. AnythingLLM - 官方网站

    • 定义与作用:
      • AnythingLLM 是一个全栈应用程序,用于构建私有化的 AI 知识库。它支持多种文档格式(如 PDF、TXT、DOCX 等),可以将文档内容嵌入到向量数据库中,并通过智能问答功能与用户进行交互。AnythingLLM 提供了前端管理界面,用户可以通过界面上传文档、管理知识库,并与 AI 助手进行对话。
    • 在 DeepSeek 部署中的作用:
      • AnythingLLM 作为前端管理工具,与 Ollama 结合使用,提供了一个完整的知识库管理解决方案。它通过调用 Ollama 提供的模型推理能力,结合嵌入模型和向量数据库,实现了对用户上传文档的智能检索和问答功能。AnythingLLM 支持多种 LLM 和嵌入模型,用户可以选择适合的模型组合来优化知识库的性能。
  4. Page Assist - 官方网站

    • 定义与作用:
      • Page Assist 是一个开源的浏览器扩展插件,用于与本地运行的 AI 模型进行交互。它提供了一个直观的 WebUI 界面,用户可以通过侧边栏或网页 UI 与 AI 模型进行对话。Page Assist 支持多种功能,包括与网页内容、PDF 文件和文档进行聊天交流。
    • 在 DeepSeek 部署中的作用:
      • Page Assist 为用户提供了一个便捷的交互界面,使得用户可以通过浏览器与本地运行的 DeepSeek 模型进行对话。它与 Ollama 配合使用,通过配置 Ollama 的地址和嵌入模型,用户可以在浏览器中直接与 DeepSeek 模型进行交互。

工具的关联与协同工作

  • Ollama 是底层的模型运行环境,负责加载和运行 DeepSeek 模型。
  • Embedding 模型将文档内容转换为向量,存储在向量数据库中,为智能问答提供支持。
  • AnythingLLM 作为前端管理工具,结合 Ollama 和嵌入模型,实现了知识库的管理和智能问答功能。
  • Page Assist 提供了一个用户友好的交互界面,使得用户可以通过浏览器与本地运行的 DeepSeek 模型进行对话。

必要性分析

必须使用的工具:

  • Ollama:
    • 作用:Ollama 是部署 DeepSeek 的核心工具,负责下载、管理和运行 DeepSeek 模型。它是本地化部署 DeepSeek 的基础,必须使用。
    • 最小需求:安装 Ollama 客户端,并通过命令行运行 DeepSeek 模型(如 ollama run deepseek-r1:7b )。
  • DeepSeek 模型:
    • 作用:DeepSeek 是一个强大的语言模型,用于提供智能问答和生成内容。
    • 最小需求:下载并运行 DeepSeek 模型(如 deepseek-r1:7b ),这是实现功能的基础。

可选的工具:

  • AnythingLLM:
    • 作用:提供一个用户友好的界面,用于管理文档、知识库和与 DeepSeek 模型进行交互。它支持文档上传、向量化和智能检索功能。
    • 是否必须:可选,但强烈推荐。如果没有 AnythingLLM,用户只能通过命令行与 DeepSeek 交互,无法实现知识库管理和智能检索功能。
  • Embedding:
    • 作用:将文档内容转换为向量形式,以便存储在向量数据库中,支持智能检索功能。
    • 是否必须:可选,但如果你需要实现基于文档的知识库功能(如智能检索和问答),则需要使用 Embedding。
  • Page Assist:
    • 作用:提供一个浏览器扩展界面,用于与本地运行的 DeepSeek 模型进行交互,增强用户体验。
    • 是否必须:可选,主要用于提升用户体验,使用户可以通过浏览器界面与模型进行对话。

1、DeepSeek 简介

官方网站

1.1、DeepSeek-R1 硬件要求

参考文档

在这里插入图片描述

参考文档:R1蒸馏版-1.5B 无需GPU,任意四核 CPU,内存 8GB,硬盘空间 12GB 即可运行

在这里插入图片描述

2、Linux 环境说明

操作系统:Ubuntu 24.04.1 LTS
安装包:ubuntu-24.04.1-desktop-amd64.iso

硬件环境:i5-10400
虚拟化软件:ESXi-8.0
虚拟机:CPU 8核 内存 16G 硬盘 80G

2.1、最小部署(Ollama + DeepSeek)

目标:快速启动并运行 DeepSeek 模型,进行基本的智能问答

最小需求:

  • Ollama:用于下载和运行 DeepSeek 模型
  • DeepSeek 模型:选择合适的模型版本(如 deepseek-r1:7b )并运行

参考文档:Ollama GitHub 部署文档

# 安装 curl 工具 - 系统默认没有
apt install curl

# 安装 Ollama
# 不推荐!好慢: curl -fsSL https://ollama.com/install.sh | sh
# 推荐 - 通过工具下载,地址:https://ollama.com/download/ollama-linux-amd64.tgz
# 解压
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
# 启动 Ollama 服务 - 前台运行
ollama serve
# 查看 Ollama 是否正常启动 - 通过浏览器访问 http://localhost:11434

# 验证是否安装成功
# 打开另外一个中端
ollama -v
ollama --version

# 下载并运行 DeepSeek 模型
# 说明:有点慢 1.1 GB
ollama run deepseek-r1:1.5b
# 成功后,即可愉快的玩耍啦 ~

在这里插入图片描述

2.1.1、扩展(非必须) - Ollama 后台运行、开机自启:

编辑配置文件

nano /etc/systemd/system/ollama.service
# 重载 systemd 配置
sudo systemctl daemon-reload
# 开机自启
sudo systemctl enable ollama
# 启动服务
sudo systemctl start ollama
# 查看状态
sudo systemctl status ollama

配置文件示例

[Unit]
Description=Ollama Service
After=network.target

[Service]
ExecStart=/usr/bin/ollama serve
Restart=always
User=root
Group=root
RestartSec=3
# 如果需要远程访问,设置为 0.0.0.0
Environment="OLLAMA_HOST=0.0.0.0"
# 如果需要更改端口,可以在这里设置
Environment="OLLAMA_PORT=11434"
Environment="OLLAMA_ORIGINS=*"
# 模型文件存储目录,当前为默认。推荐变更为 /data/ollama/models
Environment="OLLAMA_MODELS=/root/.ollama/models"

[Install]
WantedBy=multi-user.target

2.2、Page Assist - 浏览器插件

以上方法,只能通过命令行进行交互。
如何通过浏览器进行交互呢?浏览器上面安装个插件 Page Assist

FireFox 安装示例(Chrome 也有)

在这里插入图片描述

点击插件之后显示的页面

在这里插入图片描述

配置页面 - 配置成中文

在这里插入图片描述

配置页面 - 选择模型

在这里插入图片描述

插件页面 - 开始聊天啦 ~

在这里插入图片描述

2.3、知识库

2.3.1、Embedding 向量化模型 - bge-m3

# 拉取模型
ollama pull bge-m3
# 验证是否拉取成功
ollama list

2.3.2、AnythingLLM

参考文档:AnythingLLM 官方部署文档
说明:通过官方命令下载有点慢,可以通过工具下载。
AnythingLLMDesktop.AppImage 安装文件下载地址

说明:使用 .AppImage 文件,依赖 FUSE
FUSE 官方网站

# 安装 FUSE
sudo add-apt-repository universe
sudo apt install libfuse2t64
# 安装好后,鼠标双击 AnythingLLMDesktop.AppImage 文件即可出现可视化界面啦 ~

初始界面

在这里插入图片描述

skip 注册的流程 - 创建工作区 - 设置 LLM 首选项

在这里插入图片描述

设置 Embedding 向量化模型

在这里插入图片描述

上传自定义的知识,并向量化保存。

在这里插入图片描述

在这里插入图片描述

下拉,点击 Save

在这里插入图片描述

部署完成啦 ~ 可以使用啦 ~



http://www.kler.cn/a/551678.html

相关文章:

  • QT QLineEdit如何支持文件拖放
  • 项目2 数据可视化--- 第十五章 生成数据
  • 【开源免费】基于SpringBoot+Vue.JS个人博客系统(JAVA毕业设计)
  • 在Nodejs中使用kafka(四)消息批量发送,事务
  • Ollama 部署本地 Deepseek-R1 大模型及可视化聊天工具指南
  • springboot399-中文社区交流平台(源码+数据库+纯前后端分离+部署讲解等)
  • mapbox基础,使用geojson加载circle圆点图层
  • 汽车通信未来新趋势:Eclipse uProtocol
  • 无第三方依赖 go 语言工具库
  • 【复现DeepSeek-R1之Open R1实战】系列6:GRPO源码逐行深度解析(上)
  • 深入解析「卡顿帧堆栈」 | UWA GPM 2.0 技术细节与常见问题
  • 25工商管理研究生复试面试问题汇总 工商管理专业知识问题很全! 工商管理复试全流程攻略 工商管理考研复试真题汇总
  • 解决DeepSeek服务器繁忙的有效方法
  • vue3项目,商城系统
  • 网络工程师 (45)网际控制报文协议ICMP
  • 分布式储能监测云平台
  • 麒麟V10离线安装docker和docker-compose
  • 1.王道_常用命令
  • 嵌入式学习第十六天--stdio(二)
  • SQL进阶技巧:如何统计用户跨端消费行为?