一、下载桌面版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模型
      在这里插入图片描述

五、用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工作流
    在这里插入图片描述
  • 点击创建后界面如下:
    在这里插入图片描述
Logo

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

更多推荐