当前位置: 首页 > news >正文

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的服务没有暴露,安装以下步骤完成:

  1. 通过调用systemctl edit ollama.service编辑systemd服务。这将打开一个编辑器。

  2. 对于每个环境变量,在[Service]部分下添加一行Environment

  [Service]Environment="OLLAMA_HOST=0.0.0.0"
  1. Ctrl+X保存并退出。

  2. 重载systemd并重启Ollama:

 systemctl daemon-reloadsystemctl restart ollama

加载之后的模型如下图所示

在这里插入图片描述
可以设置系统级别的默认模型
在这里插入图片描述

模型测试

进入工作室,点击创建空白应用,选择聊天助手
在这里插入图片描述
接下来可以在这个页面中对对话做一些基础的设置
在这里插入图片描述
以旅游助手为例,我选择了推荐的提示词内容,并修改开场白如下:

欢迎来到旅行规划助手!我是一个智能工具,旨在帮助您轻松规划旅程。下面是您提供的一些已知信息:1. 您的旅行目的地是{{destination}}
2. 计划出发的日期是{{departure_date}}
3. 计划返回的日期是{{return_date}}
4. 此次旅行将有{{travelers}}人参加
5. 整个旅行的大致预算是{{budget}}元您是否还有其他的补充信息?

在这里插入图片描述

在右上角的模型选择界面,你甚至可以同时调试多个模型

在这里插入图片描述
我这里测试了同一模型在不同温度参数下的回答效果:
在这里插入图片描述
在这里插入图片描述


http://www.mrgr.cn/news/35206.html

相关文章:

  • 【日志】力扣11.盛水最多的容器
  • Python 占位语句 pass
  • 【Python进阶】Python中的数据库交互:ORM技术与SQLAlchemy
  • 第8章利用CSS制作导航菜单
  • 微信小程序=》基础=》常见问题=》性能总结
  • 287. 寻找重复数(二分查找)
  • CSS 的元素显示模式简单学习
  • linux命令行快捷键
  • 【Linux】nginx连接前端项目
  • 排序----归并排序(非递归版)
  • 美团外卖霸王餐系统有哪些优势?如何选择?
  • 浙大数据结构:05-树9 Huffman Codes
  • 4款思维导图在线工具,新手速来!
  • chatGPT问答知识合集【五】
  • 【CPP11?】结合CPP发展历史来理解CPP11
  • 掌握Python办公自动化,轻松成为职场高效达人
  • 特殊类设计
  • 一步一步优化一套生成式语言模型系统
  • 二分查找算法(8) _点名
  • Solidity——抽象合约和接口详解
  • 【python】数据类型
  • WebRtc实际应用
  • 【数学二】极限的计算- 等价无穷小替换、洛必达法则求极限
  • 找不到MFC140.dll无法继续执行代码怎么办,共有6种解决方法
  • 离线一机一码验证和网络验证的区别以及使用场景
  • Figma 中要放大并下载 UI 设计中的图标