目录
前言
自从 DeepSeek-R1
火出圈以来,很多个人和公司开始尝试本地化部署,以解决原来一些内部资料安全和隐私问题;我们也尝试在本地进行相关部署,以验证本地知识库是否可行,最终达到以下目的:
- 所有知识库内容不通过公网流转;
- 用户可以通过和智能助手聊天的方式来了解各种内部知识;
- 在不增加太多的成本下实现;
因篇幅较长,分开三篇编写:
技术原理
前置概念了解
-
大模型
- 系统推理模型
- Embedding 模型
- Rerank 模型
- 语音转文字模型
-
本地模型调度
- Ollama
- vLLM
-
流程编排
- Dify
-
知识库
- RAG
硬件及环境准备
主机 | 配置 | 必备软件 | 说明 |
---|---|---|---|
192.168.10.1 | 显卡:支持 CUDA 的显卡均可,显存根据模型大小选择,推荐大小 48G 显存 CPU:不限 内存:大于8G 注:如果没有足够大的显存,ollama 会使用内存和CPU进行模型调度,但速度非常慢; | - | 用于安装 Ollama |
192.168.10.2 | CPU:4核 内存:大于16G | Docker ,Git | 用于安装 Dify |
模型选择
模型 | 作用 |
---|---|
qwq | 用于推理 |
deepseek-r1:32b | 用于推理(备选) |
bge-m3 | 用于处理知识库嵌入向量 |
qwen2.5:14b | 用于分词 |
开始本地部署
安装 Ollama
-
Ollama
可以很好的管理和调度本地大模型,安装也相对简单; -
官网下载地址:ollama.com/download ;
-
根据操作系统选择合适的安装即可;
-
安装完成后需配置几个环境变量:
-
OLLAMA_HOST
- 设置为
0.0.0.0
表示所有主机都可以访问,当非本机访问时需要设置
- 设置为
-
OLLAMA_KEEP_ALIVE
- 表示模型在显存中保存的时间,设置为
24h
表示保留24
小时
- 表示模型在显存中保存的时间,设置为
-
OLLAMA_MAX_LOADED_MODELS
- 同时加载模型最大数量,大于这个数量最早加载的模型会被卸载
-
OLLAMA_MODELS
- 模型文件保存目录,
windows
默认在C
盘,建议指定一个速度快的磁盘 - 因模型文件很大,需要有足够的空间
- 模型文件保存目录,
-
-
Ollama
安装完成后,可以开始下载模型,可到官网进行模型选择:ollama.com/search -
使用以下命令下载模型:
ollama pull deepseek-r1:32b
-
模型文件非常大,下载时需要保持网络畅通;
-
模型文件下载完成后,使用以下命令进行使用测试:
ollama run deepseek-r1:32b
-
如果成功运行就可以进行对话了;
-
需要下载以下模型:
- qwq
- bge-m3
- qwen2.5:14b
安装 Dify
-
如果只有
Ollama
无法很好的进行日常使用,还需要上层的工具来进行管理,这里就用到了Dify
-
官网介绍
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
-
目前
Dify
社区版的主要安装方式是使用Docker Compose
,详情可参考官网: -
克隆 Dify 源代码
git clone https://github.com/langgenius/dify.git
-
进入 Dify 源代码的 Docker 目录,并复制示例配置文件
cd dify/docker cp .env.example .env
-
启动
Dify
docker compose up -d
-
第一次需要从网络上拉取很多内容,所以速度比较慢,需耐心等待
-
观察所有容器的状态,没有错误表示启动完成,类似这样:
[+] Running 11/11 ✔ Network docker_ssrf_proxy_network Created 0.1s ✔ Network docker_default Created 0.0s ✔ Container docker-redis-1 Started 2.4s ✔ Container docker-ssrf_proxy-1 Started 2.8s ✔ Container docker-sandbox-1 Started 2.7s ✔ Container docker-web-1 Started 2.7s ✔ Container docker-weaviate-1 Started 2.4s ✔ Container docker-db-1 Started 2.7s ✔ Container docker-api-1 Started 6.5s ✔ Container docker-worker-1 Started 6.4s ✔ Container docker-nginx-1 Started 7.1s
-
启动完成后,即可访问这台主机:
http://192.168.10.2
-
第一次访问会提示创建管理员用户,输入需要的用户名和密码完成配置;