前言
這篇文章依賴到的操作可查閱我之前的文章:
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 落地結果
?