Dify和dify2openai本地部署笔记

前言

部署方案:使用最简单的docker-compose部署

参考文档:官方社区版安装文档 https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose

docker-compose部署dify

1、提前安装docker和docker compose,列如:

[root@comioadify ~]# docker -v
Docker version 27.5.1, build 9f9e405
[root@comioadify ~]# docker-compose -v
Docker Compose version v2.39.2
[root@comioadify ~]# 

2、dify安装包下载:https://github.com/langgenius/dify/tags 如稳定版 0.15.8的zip。(实测取master分支能启动,但是有BUG,配置了模型apikey还提示找不到model)

3、上传到Linux放置程序的目录,然后解压,准备环境配置文件,通过docker-compose拉起服务:

unzip dify-0.15.8.zip 
cd dify-0.15.8/docker
cp .env.example .env
docker-compose up -d

Dify和dify2openai本地部署笔记

4、等待所有镜像被拉起,处于UP状态为止。

Dify和dify2openai本地部署笔记

注意dify的nginx默认监听服务器的80端口,如服务器有其它Nginx需要合理规避80

注:第一次 docker-compose up 拉起服务会从国外镜像下载依赖程序,根据网络情况一般要十多分钟。如果当前网络条件无法访问镜像站,则需要配置一些镜像加速,列如:

cat /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://mirror.ccs.tencentyun.com",
    "https://mirror.baidubce.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]
}

访问和维护

日常维护命令:

cd dify-0.15.8/docker
# 启动dify镜像
docker-compose up -d
# 停止dify镜像
docker-compose down
# 查看所有镜像(含停止的)
docker-compose ps -a
# 查看运行中的镜像
docker-compose ps

访问服务:http://dify服务器IP:80 , 首次登录设置好管理员帐号密码,随后进入用户登录页面登录即可

Dify和dify2openai本地部署笔记

Dify和dify2openai本地部署笔记

设置大模型:右上角个人图标 – 设置 – 模型供应商设置。 按需选择公有云供应商,列如阿里百炼平台的通义千问:

Dify和dify2openai本地部署笔记

如果是本地基座模型,并且模型提供了openAI兼容接口,可以使用“OpenAI-API-compatible”模型供应商配置baseURL、api Key、model即可使用:

Dify和dify2openai本地部署笔记

修改时区:设置页面 → 语言 → 时区修改成 +08:00 China Time - Shanghai, Beijing, Shenzhen, Guangzhou

知识库:存储文本向量数据的地方,支持使用Embedding模型 或 免费的倒排索引,前者精度更高适合生产环境,后者适合个人学习。

实测通过RAG知识库检索的确 能输出想要的结果:

Dify和dify2openai本地部署笔记

安装dify2openai Gateway

目前看dify自身无法开放openAI接口,导致外部其它的智能体无法轻易调用dify,可以思考使用dify2openai Gateway来解决: [第三方智能体平台] →http openai→ [dify2openai] → [dify api] → [dify应用] → [RAG知识库|LLM模型]

1、安装nodejs、npm,确保nodejs版本>=12 (实测低于这个版本会有问题)

[root@comioadify local]# node --version
v20.12.2
[root@comioadify local]# npm --version
10.5.0

2、使用国内的镜像加速(实测不设置国内加速会出现各种npm install错误) npm config set registry https://registry.npmmirror.com/

安装部署过程参考Dify2OpenAI的GitHub文档部署即可(中文) https://github.com/onenov/Dify2OpenAI

启动需要使用pm2,如果没有就安装pm2:

npm install -g pm2

安装完成,并使用pm2启动,看到status=online,并且浏览器访问 http://dify2openai地址:3099 能显示结果则算通过。

Dify和dify2openai本地部署笔记

Dify和dify2openai本地部署笔记

dify2openai浏览器设置dify API地址和key,通过dify系统对应的应用,选择发布API就能取得对应信息:

Dify和dify2openai本地部署笔记

最后按照dify2openai浏览器提供的curl命令测试,如果能通则说明openai配置可用:

Dify和dify2openai本地部署笔记


问题排坑:使用pm2启动status=online,浏览器登录就直接status=errored,查看日志是ES Module语法不支持。 通过 yum安装的nodejs版本仅10.0,ES Module需要nodejs>=12。尝试卸载重新二进制安装新版本解决:

sudo yum remove nodejs npm -y

# 下载 Node.js 20 的二进制包
wget https://nodejs.org/dist/v20.12.2/node-v20.12.2-linux-x64.tar.xz

# 解压到 /usr/local
sudo tar -xJf node-v20.12.2-linux-x64.tar.xz -C /usr/local/

# 创建符号链接
sudo ln -sf /usr/local/node-v20.12.2-linux-x64/bin/node /usr/bin/node
sudo ln -sf /usr/local/node-v20.12.2-linux-x64/bin/npm /usr/bin/npm
sudo ln -sf /usr/local/node-v20.12.2-linux-x64/bin/npx /usr/bin/npx

# 验证安装
node --version
npm --version

Dify和dify2openai本地部署笔记

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
道风尘的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容