mac部署dify并新建应用
·
文章目录
一、下载桌面版docker
brew install --cask docker
二、修改docker配置文件
进入docker-点击设置-改完以后点击apply
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://mirror.aliyuncs.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io"
]
}
三、下载dify并配置
# 克隆国内镜像仓库
git clone https://gitee.com/langgenius/dify.git
# 进入项目文件夹
cd dify
# 切换到稳定版
git checkout 1.13.3
# 配置dify源代码
cd docker
# 重命名
mv docker docker-dify-1.13.3
# 复制环境模板生成可配置文件
cp .env.example .env
# 启动dify(第一次用时)
docker compose up -d
# 后续直接docker -desktop即可启动dify
四、dify的启动和配置
http://localhost/install
- 第一次启动要设置这些

- 主页面

- 配置大模型
- 点击右上角的图标-设置-模型供应商-选择ollama-点击安装-添加api秘钥(模型名称选择你自己已有的ollama模型

- 点击右上角的图标-设置-模型供应商-选择ollama-点击安装-添加api秘钥(模型名称选择你自己已有的ollama模型
五、用dify创建应用
1、聊天机器人
-
1、在首页点击创建空白应用

-
2、点击新手适用-聊天助手

-
3、写提示词,选择模型

-
4、配置项调整:我们重点关注我圈出来的

-
5、配置完点击发布,我们就可以开始正式聊天啦~ 你可以嵌入网站或者通过接口调用,官网都有详细的文档~

2、agent
你还可以创建一个agent,区别在于agent里面可以调用工具,只要你添加了,使用过程中会直接进行调用

3、工作流
实战:自动生成测试用例
我们还可以添加工作流,这个类似于做任务,做完就结束,不能聊天。如果要反复问的话,就选chatflow,我们先来新建工作流吧
-
新建工作流-输入名称和描述-点击创建

-
选择用户输入

-
点击用户输入,因为我们这边是要添加prd之类的,所以我们选择变量为添加文件,其他的按照图片来吧,点击保存

-
点击用户输入旁边那个➕号来新建文档提取器(支持word,excel之类的),这边输入变量选择doc

-
点击文档编辑器的➕号,选择新增LLM,选择模型,然后改下配置参数

-
接着再写提示词,给一个现成的吧
# 角色:软件测试工程师
## 目标:
根据用户输入的原始软件需求,梳理出核心的测试点
## 工作流:
1. 分析软件的功能需求,深入挖掘原始需求中的显示需求和隐式需求点。
2. 针对每个需求点,设计正向的测试点,包括各种有效的输入和有效边界,确保能覆盖各种满足业务需求的场景。
3. 针对每个需求点,设计反向测试点,包括异常数据、异常操作、无效边界值、空值等,违反业务规则的值等,确保覆盖各种可能的异常情况。
4. 将生成的测试点按照下面<输出格式>的要求输出。
## 输出格式:
以Markdown形式输出所有的测试点,示例:
# 测试点
## 登录模块测试点
- 有效用户名和有效密码是否登录成功
- 有效用户名和无效密码是否登录失败
## 搜索路线测试点
- 起点和终点是否为空时都能正确提示
- 起点和终点是否相同能正确提示
- 首页点击搜索输入框和点击“从哪出发”输入框的跳转功能是否正常
## 限制:
1.只需要设计测试点,不需要完整的测试用例
2.输出格式必须是Markdown格式

也支持添加变量
- 点击添加消息-添加用户提示词(点击圈出来的地方,选择文档提取器的text)


- 同样的配置再添加一个测试用例的,提示词给你
# 完整提取文本(Dify工作流大模型节点提示词)
## 系统提示词
# 角色
你是一位资深的软件测试专家,善于编写详细测试用例。
## 背景
你需要根据软件测试点,编写详细可执行的测试用例。
## 工作流
1. 分析用户提供的每个测试点。
2. 依次把每个测试点,转换为详细测试用例,内容包含编号、标题、操作步骤、预期结果。如果1条用例无法覆盖测试点,可以写多条用例。
3. 编写用例完成后,检查用例,确保所有测试点全部被用例覆盖。
## 输出格式
二维数组格式,包含多个子数组,每个子数组中有多个元素,包含了用例的编号、标题、操作步骤、预期结果。
### 要求:
1. 第一个子数组为字段名称。从第二个子数组开始,每个子数组代表一个完整用例
2. 用例编号递增,用例标题具备唯一性,包含了一级模块+二级模块+测试场景。
3. 用例中的每个步骤后面加一个换行符`\n`
4. 生成的用例标题、步骤和预期结果中,如果需要用双引号,请使用中文双引号,json本身key和values的双引号必须是英文的
### 示例:
```json
[
["编号","标题","操作步骤","预期结果"],
[
"1",
"购票模块-线路搜索-使用已存在的线路名称搜索",
"步骤1:打开搜索页面;\n步骤2:输入一个已存在的合法线路名称;\n步骤3:点击搜索按钮",
"搜索成功,页面显示对应线路信息"
],
[
"2",
"购票模块-线路搜索-使用不存在的线路名称搜索",
"步骤1:打开搜索页面;\n步骤2:输入一个不存在的合法线路名称;\n步骤3:点击搜索按钮",
"搜索结果为空,页面显示为空"
],
[
"3",
"购票模块-线路搜索-使用空值搜索",
"步骤1:打开搜索页面;\n步骤2:搜索框什么都不输入;\n步骤3:点击搜索按钮",
"页面显示所有的线路信息"
]
]


- 点击结束:在llm测试用例节点点击新增-选择输入-其他按照我的截图来,这样一个工作流就搭建好了!!


- 开始调试,选择文件,点击开始运行


- 觉得ok了就可以点击发布,一个工作流就完成啦!
- 运行历史也可以查看哦

- 工作流还支持发布为工具,发布好了以后可以在智能体等地方进行调用(不推荐,其实在工作流里跑也一样)


4、chatflow工作流
实战:多轮聊天构造测试数据
- 本次拿自动生成优惠券举例
- 整体的思路如下:
- 用户输入优惠券业务需求(满减 / 折扣 / 有效期 / 使用范围等)
- LLM 大模型解析自然语言,输出创建优惠券接口标准 JSON 请求参数
[
{
"title": "北河测试999",
"coupon_price": "100",
"coupon_threshold_price": "200",
"start_time": "1744008557",
"end_time": "1744613357",
"create_num": "999",
"limit_num": "1",
"type": "FREE_GET"
},
{
"title": "北河测试999",
"coupon_price": "100",
"coupon_threshold_price": "200",
"start_time": "1744008557",
"end_time": "1744613357",
"create_num": "999",
"limit_num": "1",
"type": "FREE_GET"
}
]
- HTTP 节点循环调用创建优惠券接口,传入模型生成的参数,完成优惠券创建(sql也可以,就是比较麻烦)
操作步骤:
- 新建一个chatflow工作流

- 点击创建后界面如下:

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)