Dify部署及初步测试
文章目录
- Dify安装
- Dify启动
- 模型接入
- 模型测试
Dify安装
根据Docker Compose 部署中的相关指引,完成以下步骤
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d
查看容器状态:docker compose ps
关闭容器:docker compose down
Dify启动
输入http://your_server_ip/install
进入Dify页面,碰到如下错误
为了查看更详细的报错信息,重启docker并以非后台形式启动:
docker compose down
docker compose up
可以看到关键报错在这一句:FATAL: data directory "/var/lib/postgresql/data/pgdata" has wrong ownership
,根据docker-db-1 Always restart中的内容,应该是数据库挂载目录的权限出了问题。
使用ls -l ./volumes/db/data
查看权限,果然都是root
使用sudo chown -R 999:999 ./volumes/db/data
以及chmode -R 777 dify/
修改权限。
你猜怎么着,死活修改不了,最后我发现这是因为文件夹路径挂载在硬盘上,没法改权限,于是重新在默认目录下载了一个项目,这下就可以成功运行了。
接下来设置用户名和密码,设置完之后会自动跳转到登录页面,登进去就是这样
模型接入
右上角点击头像中的设置,进入模型供应商页面,选择ollama
此时会出现An error occurred during credentials validation: HTTPConnectionPool(host='localhost', port=11434): Max retries exceeded with url: /v1/api/chat (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fb83df87a30>: Failed to establish a new connection: [Errno 111] Connection refused'))
的错误,这是因为docker中对应的localhost并不是宿主机的地址,需要改成宿主机的IP地址。
但是改完之后,依然会出现上面的错误,这是因为ollama的服务没有暴露,安装以下步骤完成:
-
通过调用
systemctl edit ollama.service
编辑systemd服务。这将打开一个编辑器。 -
对于每个环境变量,在
[Service]
部分下添加一行Environment
:
[Service]Environment="OLLAMA_HOST=0.0.0.0"
-
Ctrl+X
保存并退出。 -
重载
systemd
并重启Ollama:
systemctl daemon-reloadsystemctl restart ollama
加载之后的模型如下图所示
可以设置系统级别的默认模型
模型测试
进入工作室,点击创建空白应用,选择聊天助手
接下来可以在这个页面中对对话做一些基础的设置
以旅游助手为例,我选择了推荐的提示词内容,并修改开场白如下:
欢迎来到旅行规划助手!我是一个智能工具,旨在帮助您轻松规划旅程。下面是您提供的一些已知信息:1. 您的旅行目的地是{{destination}}
2. 计划出发的日期是{{departure_date}}
3. 计划返回的日期是{{return_date}}
4. 此次旅行将有{{travelers}}人参加
5. 整个旅行的大致预算是{{budget}}元您是否还有其他的补充信息?
在右上角的模型选择界面,你甚至可以同时调试多个模型
我这里测试了同一模型在不同温度参数下的回答效果: