AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


DeepSeek被质疑抄袭?别怕!在本地部署DeepSeek R1,并添加私有知识库,支持联网搜索!
发布日期:2025-02-06 09:44:26 浏览次数: 1592 来源:Jack Bytes
推荐语

面对DeepSeek争议,教你如何本地部署并增强功能,保持领先优势。

核心内容:
1. DeepSeek争议背景及市场影响
2. 在本地部署DeepSeek R1的详细步骤
3. 集成私有知识库和联网搜索功能的方法

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

大家好,我是Jack Bytes,一个专注于将人工智能应用于日常生活的半吊子程序猿,平时主要分享AI、NAS、Docker、搞机技巧、开源项目等。

兄弟们,最近DeepSeek的热度真的是一波接着一波,先是登上中国和美国苹果应用榜单第一名:

这一波做空,导致英伟达的股价暴跌10%+,市值蒸发6000亿美元:

然后是受到大量来自美国IP的恶意攻击,导致线上服务瘫痪,无法进行注册:

昨天,马斯克、OpenAI纷纷质疑DeepSeek抄袭,白宫也对DeepSeek展开国家安全调查:

这一系列事件都表明:他们慌了。

其实他们不管质疑不质疑,先不管用什么手段,来自中国的公司用更低的成本做出了性能比肩ChatGPT o1的模型,本身就是一个突破。反过来可以想一想,为什么其他国家的公司没有做到呢?

今天,教大家在本地部署这个充满争议和魔幻色彩的模型,集成到Dify中,并添加私有知识库,支持联网搜索!

有些兄弟网络条件可能不太好,无法直接下载Dify的Docker镜像。我将该项目用到的Docker镜像打包放在了公众号,可自行免费领取,关键词可以在文末找到。镜像导入方法同样可以在文末找到!

一、Dify部署

1.1 克隆Dify代码仓库

Dify部署的方式相对来说比较简单,这里教大家使用Docker进行部署,Docker的安装方法这里不再赘述,大家可以自行搜索。

首先,克隆 Dify 源代码至本地环境:

git clone https://github.com/langgenius/dify.git

1.2 启动Dify

  1. 在本地打包镜像(可选)

如果Dify的版本是0.15.2的话,需要手动在本地打包一下镜像,如果大于0.15.2的话,可以直接跳到底2步。

进入到Dify的源代码根目录,执行make命令开始打包镜像

cd dify
git checkout 0.15.2

修改一下Makefile中的版本号:

再修改一下api/core/app/apps/agent_chat/app_runner.py中的一行代码:

然后在dify根目录下,执行下面的命令开始打包镜像:

make build-all

打包完成之后,可以在docker镜像中看到刚才打包好的镜像:

  1. 进入 Dify 源代码的 Docker 目录

cd dify/docker
  1. 复制环境配置文件

cp .env.example .env
  1. 启动 Docker 容器

如果使用的是我提供的Docker镜像,需要先导入镜像,获取镜像的关键词可以在文末找到,导入方法也可以在文末找到。

根据你系统上的 Docker Compose 版本,选择合适的命令来启动容器。你可以通过 $ docker compose version 命令检查版本,详细说明请参考 Docker 官方文档:

  • 如果版本是 Docker Compose V2,使用以下命令:

docker compose up -d
  • 如果版本是 Docker Compose V1,使用以下命令:

docker-compose up -d

运行命令后,你应该会看到类似以下的输出,显示所有容器的状态和端口映射:

最后检查是否所有容器都正常运行:

docker compose ps

在这个输出中,你应该可以看到包括 3 个业务服务 api / worker / web,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox

通过这些步骤,你应该可以成功在本地安装 Dify。

在浏览器输入http://127.0.0.1,即可进入到Dify的首页。

二、SearXNG部署

SearXNG 是一个免费的互联网元搜索引擎,整合了各种搜索服务的检索结果。用户不会被跟踪,搜索行为也不会被分析。现在你可以直接在 Dify 中使用此工具。

下文将介绍如何在社区版使用 Docker 将 SearXNG 集成到 Dify。

2.1 修改Dify配置文件

SearXNG 的配置文件位于 dify/api/core/tools/provider/builtin/searxng/docker/settings.yml, 配置文档可参考SearXNG官网文档。

你可以按需修改配置,也可直接使用默认配置。

2.2 启动服务

在 Dify 根目录下启动 Docker 容器。

cd dify
docker run --rm -d -p 8081:8080 -v "${PWD}/api/core/tools/provider/builtin/searxng/docker:/etc/searxng" searxng/searxng

2.3 使用 SearXNG

工具 > SearXNG > 去认证 中填写访问地址,建立 Dify 服务与 SearXNG 服务的连接。SearXNG 的 Docker 内网地址一般是 http://host.docker.internal:8081

点击授权,输入http://host.docker.internal:8081之后,点击保存即可:

如果成功的话,会出现「已授权」的字样:

三、DeepSeek R1 模型部署

3.1 ollama安装

进入到ollama官网,选择对应的操作系统,下载ollama应用程序并安装:

安装成功之后,在命令行输入ollama,如果出现下面的提示,则说明安装成功。

3.2 模型部署

在ollama官网的顶部,点击「Models」,然后选择第一个「DeepSeek R1」:

在模型界面,根据自己的显存大小选择对应的版本:

比如,我的电脑是MacOS 32G,这里我选择了14b的模型,点击14b,然后在右侧会出现下载命令:

将下载命令复制到命令行中执行:

命令执行完成之后,就可以通过命令行和大模型进行对话了:

当然,只是通过命令和大模型进行对话还是不太方便了点,那么接下来,介绍一下如何将其集成到Dify中,通过可视化的方式进行调用。

四、Embedding模型部署

为了使用私有的向量数据库,并使用混合检索来提升检索精度,我们还需要通过ollama下载一个文本Embedding模型。

ollama pull shaw/dmeta-embedding-zh

五、在Dify中添加模型

登录到已经部署好的Dify中,点击右上角的头像,然后点击设置:

在「模型供应商」界面中选择「ollama」:

5.1 DeepSeek R1模型添加

在「模型名称」中填:deepseek-r1:14b。在「基础URL中」,如果ollama和Dify是同机部署,并且Dify是通过Docker部署,那么填http://host.docker.internal:11434,其他情况填http://ollama的地址:11434,填完之后点击保存即可。

5.2 Embeding模型添加

在添加模型那里,点击「Text Embedding」,「模型名称」填:shaw/dmeta-embedding-zh,在「基础URL中」,如果ollama和Dify是同机部署,并且Dify是通过Docker部署,那么填http://host.docker.internal:11434,其他情况填http://ollama的地址:11434,填完之后点击保存即可。

六、上传私有知识库

在Dify的首页,点击「知识库」,进入到知识库界面:

然后点击「创建知识库」:

上传自己的文档,然后点击下一步:

在「索引方式」一栏中,选择「高质量」,Embedding模型选择刚才添加的ollama embedding模型:

在「检索设置」一栏中,选择「混合检索」,即同时执行全文检索和向量检索,并应用重排序步骤,从两类查询结果中选择匹配用户问题的最佳结果,用户可以选择设置权重或配置重新排序模型。然后点击「保存并处理」:

创建完成之后,可以看到正在处理中:

处理完成,会显示「可用」的状态:

可以点击「召回测试」来测试一下知识库的检索效果。比如我输入一个测试文本:机器学习的QQ群都有哪些,可以看到召回的第一条结果就包含了机器学习的群。

七、智能体搭建

截止到本节,我们完成了Dify、SearXNG搜索引擎、知识库、DeepSeek R1模型的创建,我们可以使用这些工具搭建一个智能体,结合本地私有知识库,并具备联网搜索的功能。

当然,为了展示,这些功能可能不会很复杂,大家可以举一反三,实现更加高级的应用。

7.1 创建智能体

点击「工作室」,选择「创建空白应用」:

选择「Agent」,然后填写「应用名称」,点击「创建」:

创建完成后,如下图所示,其中下面的信息我已经填过了,大家可以自行添加:

提示词如下:

# 职位描述
## 角色
你的主要任务是人工智能辅助助手,能够调用知识库工具、联网搜索、网页爬虫、获取时间等相关工具,收集相关信息,回答用户的提问。

## 技能
### 技能1:使用知识库工具进行知识库检索相关内容
### 技能2:使用time工具获取当前的时间
### 技能3:使用searxng功能进行联网搜索
### 技能4:使用webscraper功能对搜索到的相关内容进行爬取,并进行总结分析

## 限制
- 每次都必须调用知识库工具,如果没有相关内容,再进行联网搜索
- 你的回答应严格针对分析任务。使用结构化语言,逐步思考
- 使用的语言应和用户提问的语言相同
- 搜索的关键词必须和用户提问的内容一致

另外,根据需要可以修改一下模型参数,最主要的是「上下文窗口大小」,我设置的是40000。如果过小的话,效果可能不好。

7.2 测试智能体(联网搜索功能)

接下来提问一下看看,我的问题是:DeepSeek R1是什么时间发布的。这个问题具有时效性,如果不能联网搜索的话,模型是回答不出来的。

可以看到,智能体首先在私有知识库中进行检索:

发现在知识库中没有相关的内容,于是开始调用「联网搜索」插件进行联网搜索,最终通过分析搜索到的内容,发现DeepSeek的发布时间是2025年1月20日。

可以看到DeepSeek确实是2025年1月20日发布的,智能体回答的没问题:

7.3 测试智能体(知识库功能)

接下来,在测试一下如果要找到结果在知识库中的情况。问题如下:在知识库中搜索机器学习群有哪些。

可以看到智能体先调用了知识库,同时给出了一系列思考的过程:

最终给出了一个机器学习群:

可以看到这个群确实是存在于知识库中:

八、关键词

dify镜像
小贴士:复制上面的关键词并发送到公众号,可获取相关镜像

九、镜像导入方法

打开命令行工具,输入下面的命令导入镜像:

docker load -i dify-api.tar
docker load -i dify-sandbox.tar
docker load -i dify-web.tar
docker load -i nginx.tar
docker load -i postgres.tar
docker load -i redis.tar
docker load -i squid.tar
docker load -i weaviate.tar

我是Jack Bytes

一个专注于将人工智能应用于日常生活的半吊子程序猿!

平时主要分享AI、NAS、Docker、搞机技巧、开源项目等技术,喜欢的话请关注吧!

扫码进行技术交流

往期内容

Happy New Year

手把手教你在本地部署DeepSeek R1,并集成到Dify中,建议收藏

2025-01-28

字节放大招,AI IDE 震撼登场,一个人能顶一个公司!初体验

2025-01-27

49.2K Star,千万别用!不然你会后悔为什么没早点发现这个PDF工具,支持Docker部署!

2025-01-26

春节降至,手把手教大家在电子破烂上安装飞牛NAS,并使用虚拟机安装其他系统!

2025-01-24

飞牛私有云fnOS系统 虚拟机应用上线

2025-01-22

小米 NAS 开发完成,进入落地状态!我来说点不一样的!| 粉丝福利,内含红包封面!

2025-01-21

超全的开源游戏大合集!建议收藏,让你换个方式折腾!

2025-01-18

在群晖NAS上部署一个舆情监控系统,开源免费,功能全面!

2025-01-12

端口映射是什么鬼?一文带你搞懂!搞机NAS必备!

2025-01-10

fuck一下,你就知道了!自动纠正并执行输错的命令!

2025-01-08

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询