工作流评测 Quickstart
workflow_eval 模板评测带有邮件分类与路由的复杂 LLM 工作流。
创建项目
ragas quickstart workflow_eval
cd workflow_eval
安装依赖
uv sync
设置 API Key
export OPENAI_API_KEY="your-openai-key"
运行评测
uv run python evals.py
项目结构
workflow_eval/
├── README.md # Project documentation
├── pyproject.toml # Project configuration
├── workflow.py # Workflow implementation
├── evals.py # Evaluation workflow
├── __init__.py # Python package marker
└── evals/
├── datasets/ # Test datasets
├── experiments/ # Evaluation results
└── logs/ # Execution logs
评测内容
该模板评测客户支持邮件分类工作流:
- 工作流:多步邮件处理(分类 → 抽取 → 回复)
- 类别:Bug Report、Feature Request、Billing
- 测试用例:带有期望类别与抽取字段的客户邮件
- 指标:检查分类准确率的自定义离散指标
理解代码
工作流(workflow.py)
实现客户支持邮件工作流:
from workflow import default_workflow_client
workflow = default_workflow_client()
result = workflow.process_email("I found a bug in version 2.1.4...")
# Returns: category, extracted fields, response
评测(evals.py)
对照通过标准测试工作流准确率:
def load_dataset():
dataset_dict = [
{
"email": "Hi, I'm getting error code XYZ-123 when using version 2.1.4...",
"pass_criteria": "category Bug Report; product_version 2.1.4; error_code XYZ-123",
},
# More test cases...
]
该指标评测工作流是否正确:
- 分类邮件类别
- 抽取相关字段(版本、错误码、发票号等)
- 生成合适的回复
测试用例
模板包含多样场景:
- Bug Reports:带版本号和错误码
- Feature Requests:带紧急程度和产品领域
- Billing Issues:带发票号和金额
定制
接入你自己的工作流
用你自己的工作流替换示例:
from your_workflow import YourWorkflow
workflow = YourWorkflow()
@experiment()
async def run_experiment(row):
result = await workflow.process(row["input"])
# Evaluate result...
下一步
- Agent 评测 - 评测 AI agent
- LlamaIndex Agent 评测 - 评测 LlamaIndex 工作流