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
前言
工具介绍与作用
-
Ollama - 官方网站
- 定义与作用:
- Ollama 是一个开源的本地化大语言模型(LLM)部署工具,旨在简化大型语言模型的安装、运行和管理。它封装了底层的模型运行逻辑,提供了一个用户友好的命令行界面(CLI)和 API 接口,使得用户可以在本地设备上轻松运行各种开源模型(如 LLaMA、DeepSeek 等)。Ollama 支持 GPU 加速,能够自动利用设备的 GPU 资源来提高模型的推理效率。
- 在 DeepSeek 部署中的作用:
- Ollama 作为 DeepSeek 模型的本地运行环境,负责加载和运行 DeepSeek 模型文件。它提供了模型管理功能,用户可以通过 Ollama 的命令行工具下载、加载和切换不同的模型版本。
- 定义与作用:
-
Embedding - 官方网站
- 定义与作用:
- Embedding(嵌入)是指将高维数据(如文本)转换为低维向量的过程。这些向量能够捕捉数据的语义信息,便于进行高效的检索和比较。在自然语言处理中,嵌入模型(如 nomic-embed-text )将文本片段转换为向量,这些向量可以存储在向量数据库中。
- 在 DeepSeek 部署中的作用:
- 在部署 DeepSeek 时,Embedding 模型用于将文档内容转换为向量形式,并将这些向量存储在向量数据库中。当用户向 AI 助手提问时,系统会通过嵌入模型将问题文本转换为向量,然后在向量数据库中搜索与问题最相关的文档片段,从而提供更精准的回答。
- 定义与作用:
-
AnythingLLM - 官方网站
- 定义与作用:
- AnythingLLM 是一个全栈应用程序,用于构建私有化的 AI 知识库。它支持多种文档格式(如 PDF、TXT、DOCX 等),可以将文档内容嵌入到向量数据库中,并通过智能问答功能与用户进行交互。AnythingLLM 提供了前端管理界面,用户可以通过界面上传文档、管理知识库,并与 AI 助手进行对话。
- 在 DeepSeek 部署中的作用:
- AnythingLLM 作为前端管理工具,与 Ollama 结合使用,提供了一个完整的知识库管理解决方案。它通过调用 Ollama 提供的模型推理能力,结合嵌入模型和向量数据库,实现了对用户上传文档的智能检索和问答功能。AnythingLLM 支持多种 LLM 和嵌入模型,用户可以选择适合的模型组合来优化知识库的性能。
- 定义与作用:
-
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
部署完成啦 ~ 可以使用啦 ~