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

news2025/6/6 19:51:13

前言

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

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 datetime

app = Flask(__name__)


@app.route('/')
def hello_world():  # put application's code here
    return '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"}), 400

    data = request.json

    # 2. 参数为空检查
    if not data or len(data) == 0:
        return jsonify({"result": -1, "message": "输入参数为空"}), 400

    try:
        # 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  # 返回时间戳信息
        }), 200

    except Exception as e:
        return jsonify({"result": -1, "error": str(e)}), 500



if __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.coloradmin.cn/o/2402046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LC实战派】小智固件编译

这篇写给立创吴总,是节前答应他配合git代码的说明;也给所有对小智感兴趣的小伙伴。 请多提意见,让这份文档更有价值 - 第一当然是拉取源码 - git clone https://github.com/78/xiaozhi-esp32.git 完成后,先查看固件中实际的…

jdbcTemplate.query备忘录

jdbcTemplate.query中使用全部字符串和参数注入&#xff0c; 查询速度为什么差距这么大 如何正确使用JdbcTemplate参数化查询 1、使用?占位符 String sql "SELECT * FROM users WHERE name LIKE ?"; List<User> users jdbcTemplate.query(sql,new Object[…

如何搭建Z-Blog PHP版本:详细指南

Z-Blog是一款功能强大且易于使用的博客平台&#xff0c;支持PHP和ASP两种环境。本文将重点介绍如何在PHP环境下搭建Z-Blog博客系统&#xff0c;帮助您快速上线自己的个人博客站点。 准备工作 1. 获取Z-Blog PHP版本 首先&#xff0c;访问Z-Blog官方网站下载最新版本的Z-Blog…

Github Copilot新特性:Copilot Spaces-成为某个主题的专家

概述 当今的工程团队都会面临知识碎片化的问题。关键的上下文分散在代码、文档和团队成员的头脑中&#xff0c;这使得他们很难在一个新的领域快速上手并完成工作。Copilot Spaces 通过集中您的项目上下文解决了这个问题&#xff0c;因此 Copilot 可以根据您的工作提供更智能、…

攻防世界-XCTF-Web安全最佳刷题路线

每次写序都是最烦恼的&#xff0c;都不知道写什么&#xff0c;CTF是团队竞赛&#xff0c;有很多分支&#xff08;Web安全&#xff0c;密码学&#xff0c;杂项&#xff0c;Pwn&#xff0c;逆向&#xff0c;安卓&#xff09;&#xff0c;可以每个领域都涉猎&#xff0c;或许感觉那…

t021-高校物品捐赠管理系统【包含源码材料!!!!】

视频演示地址 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装高校物品捐赠管理系统软件来发挥其高效地信息…

设计模式——面向对象设计六大原则

摘要 本文详细介绍了设计模式中的六大基本原则&#xff0c;包括单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则和合成复用原则。每个原则都通过定义、理解、示例三个部分进行阐述&#xff0c;旨在帮助开发者提高代码的可维护性和灵活性。通过具体代码…

Python制作史莱姆桌面宠物!可爱的

史莱姆桌面宠物 一个可爱的桌面史莱姆宠物&#xff0c;它会在您的任务栏上移动并提供可视化设置界面。 这里写目录标题 史莱姆桌面宠物功能特点安装与运行直接运行方式创建可执行文件 使用说明自定义GIF说明打包说明开源地址 功能特点 可爱的史莱姆在任务栏上自动移动支持…

Dify源码教程:账户和密码传递分析

概述 Dify系统中账户创建过程中的密码处理是Web应用安全的重要环节。本教程详细分析了从前端表单到后端存储的完整流程&#xff0c;展示了Dify如何安全地处理用户凭据。 前端部分 在 dify/web/app/install/installForm.tsx 文件中&#xff0c;当用户填写完表单并点击安装按钮…

数据分析图表类型及其应用场景

说明&#xff1a;顶部HTML文件下载后可以直接查看&#xff0c;带有示图。 摘要 数据可视化作为现代数据分析的核心环节&#xff0c;旨在将复杂、抽象的数据转化为直观、易懂的图形形式。这种转化显著提升了业务决策能力&#xff0c;优化了销售与营销活动&#xff0c;开辟了新…

Github 2025-06-03Python开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2025-06-03统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目10Rust项目1HTML项目1C项目1 系统设计指南 创建周期&#xff1a;2507 天开发语言&#xff1a;Pyt…

电脑提示dll文件缺失怎么办 dll修复方法

当你在使用某些应用程序或启动电脑时&#xff0c;看到提示“DLL文件缺失”的错误信息&#xff0c;这通常意味着某个必要的动态链接库&#xff08;DLL&#xff09;文件无法被找到或加载&#xff0c;导致软件无法正常运行。本文将详细介绍如何排查和修复DLL文件缺失的问题&#x…

【自动思考记忆系统】demo (Java版)

背景&#xff1a;看了《人工智能》中的一段文章&#xff0c;于是有了想法。想从另一种观点&#xff08;⭕️&#xff09;出发&#xff0c;尝试编码&#xff0c;告别传统程序员一段代码解决一个问题的方式。下图是文章原文和我的思考涂鸦✍️&#xff0c;于是想写一个自动思考记…

51单片机基础部分——独立按键检测

前言 在单片机开发中&#xff0c;我们会经常对单片机的状态进行控制&#xff0c;比如我们会控制某个灯点亮&#xff0c;某个灯熄灭&#xff0c;这个时候我们就要开始做控制&#xff0c;我们可以通过什么控制呢&#xff0c;这个地方我们选择按键控制 按键实物及工作原理 生活…

【Docker管理工具】部署Docker可视化管理面板Dpanel

【Docker管理工具】部署Docker可视化管理面板Dpanel 一、Dpanel介绍1.1 DPanel 简介1.2 主要特点 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Dpanel镜像五、部署Dpanel…

springboot实现查询学生

文章目录 数据库前端 请求mybatis 数据库 前端 请求 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <a href"/list">启动学生管理…

Appium+python自动化(九)- 定位元素工具

简介 环境搭建好了&#xff0c;其他方面的知识也准备的差不多了&#xff0c;那么就开始下一步元素定位&#xff0c;元素定位主要介绍如何使用uiautomatorviewer&#xff0c;通过定位到页面上的元素&#xff0c;然后进行相应的点击等操作. 此外在介绍另一款工具&#xff1a;Insp…

Unity 中实现可翻页的 PageView

之前已经实现过&#xff1a; Unity 中实现可复用的 ListView-CSDN博客文章浏览阅读5.6k次&#xff0c;点赞2次&#xff0c;收藏27次。源码已放入我的 github&#xff0c;地址&#xff1a;Unity-ListView前言实现一个列表组件&#xff0c;表现方面最核心的部分就是重写布局&…

云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】

云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】 目录 云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】1.RPM包的一般安装位置2.软件名和软件包名3.查询软件信息4.查询软件包5.导入红帽签名信息&#xff0c;解决查询软件包信息报错6.利用…

LuaJIT2.1 和 Lua5.4.8 性能对比

说明 最近在学习 LuaJIT&#xff0c;想看看把它接入到项目中使用&#xff0c;会提高多大的性能。 今天抽时间&#xff0c;简单地测试了一下 LuaJIT 2.2 和 Lua5.4.8 的性能。 测试平台&#xff1a; 系统&#xff1a;Windows 10 WSLCPU&#xff1a;Intel Core™ i7-8700 CPU…