零代码打造本地个人专属知识库 (dify+ollama)

踩坑 3 天;搭建了一套个人专属知识库;用的是 dify + ollama;写一篇文章记录下搭建步骤以及踩的坑如何填的;教程需懂些许Linux的操作;不完全是零小白教程

所用软件

VMware 虚拟机、centos8、dify、ollama;

软件介绍

VMware 虚拟机:用于在操作系统上同时运行其他系统的一款软件
centos8:linux 系统;用于安装 docker;不推荐在 windows 系统上安装 docker;

dify:Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

ollama:Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。非专业用户也能方便地管理和运行这些复杂的模型。

软件安装

虚拟机系统安装

安装好VMware和centos8;

centos8镜像下载:https://mirrors.aliyun.com/centos/8/isos/x86_64/?spm=a2c6h.25603864.0.0.75d11ce4lQBfTP

不会安装的可以看视频教程:【虚拟机安装centos7系统 - IT菜鸟丶阿森 | 小红书 - 你的生活指南】 😆

docker安装

进入centos系统;先将yum换源;

cd /etc/yum.repos.d
# 找到 CentOS-AppStream.repo、CentOS-Base.repo、CentOS-Extras.repo文件
# 注释掉原来的地址mirrorlist=http://mirrorlist.centos.org/?
# 在下面添加一行对应的阿里云地址
#AppStream.repo
baseurl=https://mirrors.aliyun.com/centos/$releasever-stream/AppStream/$basearch/os/
#Base.repo
baseurl=https://mirrors.aliyun.com/centos/$releasever-stream/BaseOS/$basearch/os/
#Extras.repo
baseurl=https://mirrors.aliyun.com/centos/$releasever-stream/extras/$basearch/os/

修改之后执行 yum clean all && yum makecache
再执行下方的命令安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加docker源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新索引
yum makecache fast
# 安装 docker-ce
yum install -y docker-ce
# 启动动 docker,并设置开机自启
systemctl start docker
systemctl enable docker

docker镜像源配置 目前未失效,阿里云的镜像我试过无用(坑1

vi /etc/docker/daemon.json
{
  "registry-mirrors" : [
    "https://register.liberx.info",
    "https://dockerpull.com",
    "https://docker.anyhub.us.kg",
    "https://dockerhub.jobcher.com",
    "https://dockerhub.icu",
    "https://docker.awsl9527.cn"
  ],
  "ipv6" : false
}
# 保存好后执行
systemctl daemon-reload
systemctl restart docker

ollama安装

在自己的windows系统上安装ollama;下载地址:https://ollama.com/;下载windows版本的安装即可;

注:安装好了ollama需要在环境变量里面配置模型下载路径;否则下载的模型是在C盘;OLLAMA_MODELS为模型下载路径;OLLAMA_HOST代表访问ollama大模型api的IP;配置为0.0.0.0会监听所有可用的网络接口;如果设置成127.0.0.1则只能本地访问(坑2)

环境变量

安装好了;可以用ip+端口号在浏览器中查看下;

打开终端;使用ollama命令操作ollama;

命令作用
ollama pull model_name拉取大模型 如qwen2.5
ollama list列出下载好的大模型
ollama run model_name运行大模型

图例

模型列表地址:https://ollama.com/library

使用gpu加速
英伟达显卡可以安装cuda;安装完重启即可;下载地址:https://developer.nvidia.cn/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local
使用命令nvidia-smi 查看
在这里插入图片描述
可以看到里面有一个ollama_llama_server的进程;

dify安装

安装

dify官网:http://difyai.com/

我们使用docker compose方式来快速安装dify
克隆dify代码到本地
git clone https://github.com/langgenius/dify.git

推荐先从windows下载;然后用xftp工具将项目文件夹拷贝到centos中;

进入 Dify 源代码的 Docker 目录
cd dify/docker

复制环境配置文件 cp .env.example .env

启动容器 docker compose up -d

注:这里要保证docker compose的版本要大于2.24版本;不然有坑,启动不了dify。使用docker compose version 命令检查版本(坑3)

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

检查容器是否运行
docker compose ps

更新
cd dify/docker
docker compose down
# 这里还是需要从windows更新好;把文件夹复制到虚拟机
git pull origin main
docker compose pull
docker compose up -d
  • 如果 .env.example 文件有更新,请务必同步修改您本地的 .env 文件。
  • 检查 .env 文件中的所有配置项,确保它们与您的实际运行环境相匹配。您可能需要将 .env.example 中的新变量添加到 .env 文件中,并更新已更改的任何值。
访问

访问虚拟机的ip地址;小编是192.168.171.168;

访问http://192.168.171.168/install初始化管理员账户密码

设置好管理员账户密码就可以登录进去了

配置知识库应用

配置之前要先安装两个大模型,一个是LLM模型;一个是textEmbed
,小编安装的是QWEN2.5和shaw/dmeta-embedding-zh-small;
一个是用来对话的;一个用来自动智能分割文件形成知识库;用 ollama pull 命令

配置模型供应商

右上角用户点击设置

添加ollama模型供应商

  • 模型类型是LLM;
  • 模型名称填自己下载的模型名称如:QWEN2.5;
  • URL填windows系统在虚拟机网络下的ip;如:http://192.168.171.1:11434,ollama的默认端口是11434

再次添加Text Embedding模型,跟LLM添加是一样的;模型名称为shaw/dmeta-embedding-zh-small;

注:这里windows防火墙要配置端口入站规则;或者关闭防火墙;
在防火墙高级配置里添加一个入站规则;名称为ollama,类型为端口;端口为11434;然后一直默认下一步即可;否则dify会提示连接大模型超时;添加不了。(坑4)

配置知识库

创建知识库

选择一个pdf文档;点击下一步
;分段设置选择自动分段,索引方式选择高质量;模型就选择添加好的Embedding模型,检索设置为混合检索即可,点保存并处理

到100%即处理完成

配置应用

以聊天助手为例

上下文添加要引用的知识库


即可开始对话

本文简述了下安装步骤;更多dify和ollama使用技巧、开发技巧欢迎大佬们留言讨论;

### 本地部署 DifyOllama 教程 #### 环境准备 为了成功部署 DifyOllama,在开始之前需确保拥有一个运行 Linux 的服务器或虚拟机。建议选用 Ubuntu 20.04 LTS 或更新版本作为操作系统,因为这些版本提供了更好的稳定性和兼容性[^1]。 #### 安装 Docker 由于 Dify 支持通过 Docker 进行快速安装,因此需要先在目标机器上配置好 Docker 环境。可以按照官方文档中的指导完成 Docker 的安装过程。一旦 Docker 准备就绪,就可以利用它来简化后续的应用程序设置流程[^3]。 #### 创建并编辑 Systemd Service 文件 如果遇到任何启动失败或其他异常情况,可能需要手动调整服务文件以适应特定系统的差异。可以通过命令 `sudo vi /etc/systemd/system/ollama.service` 来创建或者修改名为 ollama 的 systemd service 文件,从而更好地控制应用程序的行为和服务状态管理[^2]。 #### 使用 Cpolar 实现远程访问 为了让外部网络能够连接到内部部署的服务实例,还需要借助像 cpolar 这样的内网穿透工具。这一步骤对于希望测试或展示项目成果的人来说尤为重要,因为它允许开发者轻松分享自己的作品给全球用户而无需复杂的路由器端口映射操作。 ```bash # 更新软件包列表并安装必要组件 sudo apt update && sudo apt upgrade -y # 安装 Docker CE sudo apt install docker-ce docker-ce-cli containerd.io -y # 启动并启用 Docker 服务 sudo systemctl start docker sudo systemctl enable docker # 下载并运行 Dify 应用容器 docker run --name dify-app -p 80:80 -d difyofficial/dify:latest # 编辑 Ollama 服务配置 (如果有需要的话) sudo vi /etc/systemd/system/ollama.service # 设置 Cpolar 并获取公开 URL 地址用于外网访问 wget https://github.com/cpolario/cpolar/releases/latest/download/cpolar-linux-amd64.tar.gz tar zxvf cpolar-linux-amd64.tar.gz cd cpolar/ ./cpolar http 80 --subdomain your-subdomain-name ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值