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

Dify工作流实践—根据word需求文档编写测试用例到Excel中

前言

这篇文章依赖到的操作可查阅我之前的文章:

dify里的大模型是怎么添加进来的:在Windows本地部署Dify详细操作

flask 框架@app.route()函数的开发和调用:PythonWeb开发框架—Flask工程创建和@app.route使用详解

结构化提示词的编写:大模型结构化提示词编写方法

1.Chatflow和工作流的区别

Chatflow:支持反复提问

工作流:不支持反复提问,只能做一次任务,做完就结束了

2.编写测试用例工作流

2.1 创建工作流

给工作流取个名称,右下角点击【创建】

创建成功后默认添加了 【开始】节点

2.2 添加输入变量

给 “开始” 节点添加输入变量

添加变量:本地doc文档

2.3 提取需求文档内容

添加第二个节点:文档提取器

给第二个节点 “文档提取器” 添加输入和输出变量,还可以修改节点名称

 

2.4 用大模型写测试点

添加第三个节点:添加大模型,让大模型根据提取的需求内容编写测试点

选择模型:点击节点,在右侧面板上点击模型,然后在弹出的面板上下拉选择模型

 选择模型后,要注意调整 “温度” 和 “输出最大长度”,并打开开关

 添加System提示词:

添加用户提示词:

2.5 用大模型写测试用例

添加第四个节点:添加大模型,让大模型根据测试点写测试用例

选择模型:点击节点,在右侧面板上点击模型,然后在弹出的面板上下拉选择模型,注意调整温度和最大生成长度,并打开开关

添加System提示词: 

添加用户提示词:

 

2.6 写用例到Excel文档中

dify工作流中并不支持直接生成excel文件,但是支持HTTP请求

实现把大模型生成的测试用例存放在Excel中的方法是:用flask启动一个微服务,写一个@app.route()函数,dify的HTTP请求去调用这个接口,实现步骤如下:

  • 编写@app.route()函数:

## 安装依赖库

pip install  flask  pandas  openpyxl

from flask import Flask,request,jsonify
import os
import pandas as pd
import datetimeapp = Flask(__name__)@app.route('/')
def hello_world():  # put application's code herereturn 'Hello World!'@app.route('/write_to_excel', methods=['POST'])
def write_to_excel():# 1. 检查请求数据if not request.is_json:return jsonify({"result": -1, "error": "Content-Type必须是application/json"}), 400data = request.json# 2. 参数为空检查if not data or len(data) == 0:return jsonify({"result": -1, "message": "输入参数为空"}), 400try:# 3. 生成带时间戳的文件名timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")excel_file_path = os.path.join(os.getcwd(), f'output_{timestamp}.xlsx')  # 添加时间戳# 4. 数据处理df = pd.DataFrame(data)df.to_excel(excel_file_path, index=False, engine='openpyxl')return jsonify({"result": 1,"message": "数据已成功写入Excel文件","file_path": excel_file_path,"saved_rows": len(data),"timestamp": timestamp  # 返回时间戳信息}), 200except Exception as e:return jsonify({"result": -1, "error": str(e)}), 500if __name__ == '__main__':app.run()
  • 启动Flak服务

  • dify工作流中添加HTTP节点

  • 配置HTTP请求节点

【 注意】

url 不能填写:http://127.0.0.1:5000/write_to_excel,dify是在容器里的,相当于一个被隔离的子系统,如果dify是通过docker desktop安装并且和flask服务在一台电脑上,url填写为:http://host.docker.internal:5000/write_to_excel ;如果不在一台电脑上,url填写为:http://flask所在电脑IP:5000/write_to_excel

【其他】

如果不知道测试点的输出格式是什么,可以在 “测试用例” 后面直接加 “结束”节点,先运行,看输出结果,然后在 “测试用例” 和 “结束” 节点中间加上“HTTP请求”节点

2.7 添加结束节点

给 “结束” 节点添加输出

2.8 运行

右上角点击【运行】按钮,弹出面板,上传文件,点击【开始运行】

运行过程中可以在 “追踪” 下看每个节点运行情况和运行结果

点开可以看到每个节点的输入和输出


详情里面可以看到输入和最后的输出,以及使用的Token数

结果里是最后的执行结果

2.9 落地结果

 

http://www.xdnf.cn/news/764803.html

相关文章:

  • 使用new操作符动态分配
  • 《软件项目管理》第一章(概述)期末周复习总结笔记
  • 内存管理--《Hello C++ Wrold!》(8)--(C/C++)--深入剖析new和delete的使用和底层实现
  • 英语中什么时候用that?
  • 我爱学算法之—— 前缀和(上)
  • 【QT控件】QWidget 常用核心属性介绍 -- 万字详解
  • 使用source ~/.bashrc修改环境变量之后,关闭服务器,在重启,环境变量还有吗?
  • Hadoop 大数据启蒙:深入解析分布式基石 HDFS
  • 神经网络基础:从单个神经元到多层网络(superior哥AI系列第3期)
  • 题单:二分查找(最小下标)
  • 记忆解码 | 从神经机制到记忆逻辑的科学探索
  • 2023年12月6级第一套第一篇
  • 【头歌实验】Keras机器翻译实战
  • 什么是 CPU 缓存模型?
  • SMT高速贴片机核心技术深度剖析
  • 基于Python学习《Head First设计模式》第四章 工厂模式+抽象工厂
  • 【设计模式-3.6】结构型——桥接模式
  • 设计模式——访问者设计模式(行为型)
  • 使用 OpenCV (C/C++) 通过二值化增强车牌识别
  • 【机器学习基础】机器学习入门核心:数学基础与Python科学计算库
  • nssctf第一题[SWPUCTF 2021 新生赛]re1
  • 每日算法刷题计划Day20 6.2:leetcode二分答案3道题,用时1h20min
  • 深度学习|pytorch基本运算-hadamard积、点积和矩阵乘法
  • 如何学习才能更好地理解人工智能工程技术专业和其他信息技术专业的关联性?
  • Python-matplotlib库画不规则图
  • 机器视觉图像处理之图像滤波
  • LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 上
  • 深度学习与神经网络 前馈神经网络
  • 【LeetCode】数组刷题汇总记录
  • 二、Kubernetes 环境搭建