邮件搜索例子#
这个示例展示了一个多轮邮件搜索工作流,内容参考自 ART。我们实现了一个 ReAct Agent,并定义了用于邮件搜索的工具。注意:此示例需要安装 AgentScope。
核心组件#
我们需要定义一些组件:
EmailSearchWorkflow:协调整个流程的主类。它负责初始化环境、管理 Agent 并执行任务。EmailSearchAgent:操作的“大脑”。接收用户的查询和系统提示。
决定采取哪些操作(例如使用哪个工具)。
基于
AgentScope框架构建。
工具(Tools):Agent 可调用以与环境交互的函数。根据代码,这些工具可能包括:
search_email:查找相关邮件。read_email:读取特定邮件的内容。generate_response:在找到答案后生成最终回复。该工具可继承自AgentScope框架。
Judge LLM:用于评估 Agent 表现的评判模型,通过
auxiliary_models定义。
运行实验#
第一步:准备数据#
运行以下命令准备数据:
python trinity/common/workflows/envs/email_searcher/prepare_data.py
如果你想选择一个新的数据库路径,可以修改 [prepare_data.py] 中的 DEFAULT_DB_PATH。此外,在进入下一步之前,请记得设置环境变量 DEFAULT_EMAIL_DB_PATH 指向该数据库路径。
第二步:运行工作流#
配置文件位于 email_search.yaml。
要运行此示例,可执行以下命令:
trinity run --config examples/grpo_email_search/email_search.yaml
评估结果#
结果如下图所示(准确率范围为 -0.1 到 1.0):


