手把手教你Dify+ Ollama 搭建个人知识库(数据在本地,离线可用)

手把手教你Dify+ Ollama 搭建个人知识库(数据在本地,离线可用)

手把手教你Dify+ Ollama 搭建个人知识库(数据在本地,离线可用)-寻找资源网
手把手教你Dify+ Ollama 搭建个人知识库(数据在本地,离线可用)
此内容为付费阅读,请付费后查看
5
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
seekresource@163.com
1919588043
QQ1919588043
寻找资源网
微信小店:寻网百货
付费阅读
商城已上线,快去看看吧!

为什么要自己搭

      这两年各种 AI 知识库工具不少,但大部分要么数据得传到云端,要么收费不低。如果你手里有一些不想上传的文档(比如公司内部资料、个人笔记、技术手册),或者单纯希望断网也能用,那本地部署一套就挺合适。

     Dify 负责知识库管理和问答流程,Ollama 跑本地模型,两个都是开源免费。搭好之后,PDF、Word、TXT 等文档直接往里扔,问什么它就基于你给的材料回答,所有数据都留你自己电脑上。

     这篇文章就是我折腾的过程记录,照着做基本能成。

整体思路

  • 用 Docker 跑 Dify(开源 AI 应用平台)
  • 用 Ollama 跑本地模型(小显存显卡也能跑小模型)
  • 把 Dify 连上 Ollama
  • 在 Dify 里建知识库,上传文档
  • 测试问答

一、准备工作

硬件要求

内存:至少 8 GB(推荐 16 GB)

硬盘:20 GB 以上空闲空间

Windows 10/11(专业版或家庭版都能用,家庭版需要手动装 WSL2)

如果你打算跑 7B 以上的模型,内存最好 16 GB 起步,独显6G以上更好。

图片
图片

二、安装Dify

2.1 拉代码

打开 PowerShell(管理员模式),找个目录:

2.2 配置环境变量

cp .env.example .env

用记事本打开 .env,初始阶段保持默认就行,不用改什么。如果电脑上 80 端口被占用了,可以把 EXPOSE_NGINX_PORT 改成 8080

2.3 启动Dify

docker compose up -d

 第一次启动会下载镜像,等几分钟。完成后查看状态:

docker compose ps

所有服务都应该是 Up 。

2.4 初始化管理账号

浏览器访问 https://localhost(端口改了就换成对应的)。按照页面提示注册邮箱、用户名、密码。

这里插一句:Dify 默认的数据库密码是 difyai123456,如果你的电脑只自己用、不连外网,没必要改。如果非要改,不能只改 .env,得同步改数据库和 Redis 里面的密码,比较麻烦,个人用我就跳过了。

如果是新手,不建议改,我改了密码出了问题,我又改回来。折腾够呛。

三、安装 Ollama 并下载模型

3.1 下载安装 Ollama

去官网 https://ollama.com 下载 Windows 版,安装后会自动启动,系统托盘能看到羊驼图标。

3.2 下载模型

打开 PowerShell 或命令行,执行:

ollama pull qwen2:7b   命令拉取一个对话模型。
ollama pull nomic-embed-text  拉取拉一个嵌入模型(用于知识库向量化)

模型大小:qwen2:7b 大概 4.4 GB,nomic-embed-text 只有 274 MB。如果你的机器内存小于 8 GB,可以试试 qwen2:1.5b 或 phi3:mini。

图片

不用命令,也可以在安装好的ollama 窗口中下载。参考上图。

四、让 Dify 能连上 Ollama

关键点:Dify 跑在 Docker 容器里,它访问 Ollama 不能用 localhost,须用 host.docker.internal 。

4.1在 Dify 中添加 Ollama 模型

登录 Dify → 右上角头像 → 设置 →模型供应商→找到ollama插件(安装)。安装完成后如下图所示。

图片

添加对话模型(用于问答):

模型类型:LLM

模型名称:qwen2:7b(跟你下载的名字一模一样)

基础 URL:https://host.docker.internal:11434

上下文长度:4096

最大 token 上限:4096

图片

添加嵌入模型(用于知识库):

模型类型:Text Embedding

模型名称:nomic-embed-text

基础 URL:https://host.docker.internal:11434

保存即可

添加成功后,在下拉菜单中可以看到模型列表。

图片

五、创建知识库

5.1 新建知识库

在 Dify 左侧菜单找到“知识库”,点击“创建知识库”。给它起个名字,比如“我的技术笔记”。

5.2 上传文档

点击“添加文档”,你可以:

    上传本地文件(支持 PDF、Word、TXT、Markdown 等)

5.3 选择嵌入模型

嵌入模型选刚才添加的 nomic-embed-text。其他设置保持默认。

图片

等它处理完成。Dify 会把文档切片,然后用嵌入模型把每一段转成向量存到本地(向量数据库 Weaviate 也是跑在你 Docker 里的,不会上传到任何地方)。

六、开始问答

6.1 创建一个聊天应用

左侧菜单 → 工作室 → 创建应用 → 选择“工作流” → 起个名字。

6.2 关联知识库

在应用编辑页面的“上下文”栏,选择你刚才建的知识库。

6.3 设置模型

在“模型”栏,选择刚才添加的 qwen2:7b。

6.4 测试

发布应用,然后在右侧对话框问它问题。比如你上传了一份经济数据,问“2010年GPD”它会从你上传的文档里找答案。

6.5 断网测试

关掉 Wi-Fi,刷新页面,再问一次。只要之前已经加载过模型(Ollama 本地跑着),Dify 和知识库都在本地,照样能答。这才是“离线可用”的意义。

图片

测试结果如下:

图片

七、一些踩过的坑

7.1 嵌入模型选错了导致知识库处理失败 Dify 里添加模型时,对话模型和嵌入模型不能混用。嵌入模型必须选类型为  Text Embedding  的。如果你在 Ollama 里只拉了对话模型,没有  nomic-embed-text  这种嵌入模型,知识库创建那一步会失败。 

7.2 基础 URL 写 localhost 导致连不上 这是最容易犯的错。Docker 容器里的 localhost 指向容器自己,不是你的 Windows 宿主机。必须写  https://host.docker.internal:11434 。如果还不行,写你电脑的 IPv4 地址(比如  https://192.168.1.100:11434 )。 

7.3 模型回答时很慢 

  • 小模型(1.5B ~ 3B)在 CPU 上也能跑,速度还行。
  • 7B 以上的模型没有 GPU 的话会比较慢,可以降低上下文长度,或者换小一点的模型。
  • 第一次加载模型会慢一些,后续问答会快一点(Ollama 会把模型部分留在内存)。 

  7.4 中文支持不好 Ollama 上的通用模型(如 llama3、phi3)中文能力一般。建议用专门的中文模型: 

  •  qwen2:7b (通义千问 2,中文强)
  • deepseek-R1:7b (代码和中文都还行)
  • glm4:9b (智谱,需要更多内存)

对知识库感兴趣的,关注我一起进步哦。如果有技术咨询,请留言。

看完不过瘾,那就自己发一篇吧!
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
相关推荐
评论 抢沙发

请登录后发表评论

    暂无评论内容