暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

deepseek + dify 私有化部署实现本地知识库搭建

388

介绍

深度求索人工智能基础技术研究有限公司(简称"深度求索"或"DeepSeek")是一家致力于实现通用人工智能(AGI)的中国公司。作为一款开创性的人工智能框架,DeepSeek凭借其创新的算法架构和独特的反思链能力,显著提升了对话交互体验。通过采用私有化部署模式,用户能够更好地掌控数据安全和使用安全,并根据实际需求灵活调整部署方案,实现便捷的自定义系统功能。

Dify 是一款开源的大语言模型(LLM) 应用开发平台,提供完整的私有化部署方案。通过将本地部署的 DeepSeek 服务无缝集成到 Dify 平台,企业可以在确保数据隐私的前提下,在本地服务器环境内构建功能强大的 AI 应用。

另外Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。

环境准备

硬件环境:

  • 系统 CentOS Linux release 7.9.2009

  • CPU >= 8 Core

  • 显存/RAM ≥ 32 GiB(推荐)

软件环境:

  • Docker

  • Ollama

  • Dify 社区版

环境部署

安装ollama

Ollama 是一款跨平台的大模型管理客户端,支持 MacOS、Windows 和 Linux 等多种操作系统。它旨在为用户无缝部署大型语言模型(LLM),例如 DeepSeek、Llama、Mistral 等。通过一键部署功能,用户可以快速将大模型集成到应用中,并确保所有使用数据均在本地机器内存储,从而实现全面的数据隐私和安全性保护。

[root@pcllm ~]# curl -fsSL https://ollama.com/install.sh | sh
>>> Installing ollama to /usr/local
>>> Downloading Linux amd64 bundle
######################################################################## 100.0%
>>> Creating ollama user...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink from /etc/systemd/system/default.target.wants/ollama.service to /etc/systemd/system/ollama.service.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.
WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.

[root@pcllm ~]# ollama -v
ollama version is 0.5.7
复制

调整ollama监听端口,后续dify连接需要,ollama默认只监听127.0.0.1

修改文件
vim /etc/systemd/system/ollama.service

增加

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"

重现加载
sudo systemctl daemon-reload
sudo systemctl restart ollama

sudo systemctl status ollama

复制

安装deepseek

使用ollama 拉取deepseek本地资源包

[root@pcllm ~]# ollama run deepseek-r1:7b
复制

安装BGE M3

BGE M3-Embedding是由中国科学技术大学和BAAI联合开发的开源模型。该论文提出了一种新的嵌入模型,命名为M3-Embedding,其在多语言性、多功能性和多粒度性三个维度上表现出色。该模型支持超过100种工作语言,并支持最多8192个词长的输入文本。此外,它还支持密集检索(Dense Retrieval)、多向量检索(Multi-Vector Retrieval)和稀疏检索(Sparse Retrieval),为现实世界中的信息检索应用提供了统一的基础模型。通过灵活组合这些检索方式,该模型实现了良好的混合召回效果。

使用ollama 拉取bge本地资源包

[root@pcllm ~]# ollama run bge-m3:latest 
复制

安装docker

dify 依赖环境使用docker运行,需要提前安装docker环境

[root@pcllm opt]# cd /etc/yum.repos.d
[root@pcllm opt]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
[root@pcllm opt]# yum makecache fast
[root@pcllm opt]# yum install -y docker-ce docker-ce-cli containerd.io
[root@pcllm opt]# systemctl start docker
复制

安装 Dify 社区版

访问 Dify GitHub 项目地址,运行以下命令完成拉取代码仓库和安装流程。

[root@pcllm opt]# yum -y install git
[root@pcllm opt]# git clone https://github.com/langgenius/dify.git
[root@pcllm opt]# cd dify/docker
[root@pcllm opt]# cp .env.example .env
[root@pcllm opt]# docker compose up -d 
[root@pcllm opt]# docker images
REPOSITORY                  TAG         IMAGE ID       CREATED         SIZE
langgenius/dify-web         0.15.3      f0fae584255f   4 days ago      436MB
langgenius/dify-api         0.15.3      e05373163e63   4 days ago      2.97GB
nginx                       latest      97662d24417b   6 days ago      192MB
postgres                    15-alpine   f2404745c576   8 days ago      273MB
redis                       6-alpine    8d7a968b2baf   5 weeks ago     30.2MB
langgenius/dify-sandbox     0.2.10      4328059557e8   3 months ago    567MB
ubuntu/squid                latest      87507c4542d0   5 months ago    242MB
semitechnologies/weaviate   1.19.0      8ec9f084ab23   21 months ago   52.5MB
复制

在使用docker compose up -d 合成镜像时,会下载8个镜像包,使用国外源会出现连接报错,需要替换docker镜像源。

问题处理,报错信息

[root@pcllm docker]# docker compose up -d
[+] Running 9/9
 ✘ redis Error      context canceled                                                                                                                                                      15.0s 
 ✘ api Error        Get "https://registry-1.docker.io/v2/": dial tcp 45.114.11.238:443: i/o timeout                                                                                       15.0s 
 ✘ web Error        context canceled                                                                                                                                                      15.0s 
 ✘ ssrf_proxy Error context canceled                                                                                                                                                      15.0s 
 ✘ weaviate Error   context canceled                                                                                                                                                      15.0s 
 ✘ worker Error     context canceled                                                                                                                                                      15.0s 
 ✘ sandbox Error    context canceled                                                                                                                                                      15.0s 
 ✘ db Error         context canceled                                                                                                                                                      15.0s 
 ✘ nginx Error      Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)                                                    15.0s 
Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 45.114.11.238:443: i/o timeout
复制

解决

首先进入/etc/docker/daemon.json文件,然后在里面加入下面的配置


然后在里面加入下面的配置

{
  "registry-mirrors" : ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://dockerproxy.com",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/" 
],
 "insecure-registries" : [
    "registry.docker-cn.com",
    "docker.mirrors.ustc.edu.cn"
    ],
"debug": true,
"experimental": false
}
然后在终端重新启动一下docker

systemctl daemon-reload

systemctl restart docker
复制

至此,dify相关环境组件都安装完成,下面进行dify配置。

dify 配置

登陆

首次登陆dify需要设置邮箱,用户名,密码,用于后续登陆环境。

http://192.168.20.254/
复制

ollama添加deepseek模型

在设置–模型供应商,页面找到ollama,添加deepseek模型

clip.png

clip_1.png

ollama添加BGE M3模型

在ollama添加BGE M3模型

clip_3.png

知识库创建

在dify的知识库栏,创建一个名为deepseek基础使用的知识库。

clip_4.png

clip_5.png

此处BGE M3已自动加载,选择混合检索。

clip_6.png

clip_7.png

等待其处理完成即可。

创建应用

创建一个基础聊天的应用,关联deepseek基础使用知识库

clip_8.png

clip_9.png

clip_10.png

然后进行提供“五个黄金法则”,可以看到,回答与原pdf内容一样,无任何偏差。

clip_11.png

原《DeepSeek指导手册从入门到精通.pdf》中,“五个黄金法则”内容。

clip_12.png

写在最后

通过此次本地化部署实践探索,不仅验证了DeepSeek与Dify技术框架有效的结合,也展示了开源技术在企业内核构建中的巨大潜力。随后,可以继续发挥这两种技术的优势,推动AI技术在实际应用中的创新和优化,为企业知识库建设提供更加高效、智能和安全的解决方案。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论