abhinavgautam01/my-openenv

GitHub: abhinavgautam01/my-openenv

一个线程感知的邮件分流基准测试环境,用于评估AI模型在真实职场压力下的收件箱决策能力。

Stars: 1 | Forks: 0

## Email Triage OpenEnv colorFrom: blue colorTo: gray sdk: docker app_port: 8000 # Email Triage OpenEnv 环境 邮件分类是一项真实的职场任务:人们对收到的邮件进行分类,决定哪些需要立即处理,并管理有限的注意力。该环境将此工作流程转化为可复现的 OpenEnv 基准测试,包含确定性任务、类型化模型、程序化评分器和容器化 API。 ## 提交链接 - GitHub 仓库:`https://github.com/abhinavgautam01/my-openenv` - Hugging Face Space:`https://huggingface.co/spaces/abhinavgautam01/my-env` - Space 应用 URL:`https://abhinavgautam01-my-env.hf.space` ## 环境概要 - 领域:知识工作者的收件箱分类 - Benchmark id:`email_triage` - API:`reset()`、`step()`、`state()` - 模型:类型化的 Pydantic `EmailTriageAction` 和 `EmailTriageObservation` - 传输:包含 `/reset`、`/step`、`/state`、`/health`、`/tasks` 的 FastAPI 服务器 ## 任务 | Task | Difficulty | Emails | Objective | |------|------------|--------|-----------| | `classification` | Easy | 1 | 将单封邮件归类到 5 个类别中的一个 | | `ranking` | Medium | 8 | 将一批邮件按优先级从高到低排序 | | `full_triage` | Hard | 25 | 对整个收件箱进行分类处理,包括优先级、类别、处理方式、可选回复草稿、线程依赖关系以及固定的回复预算 | ## 动作空间 ``` class EmailTriageAction: email_id: str priority: Literal["HIGH", "MEDIUM", "LOW"] | None category: Literal["URGENT", "ACTION_REQUIRED", "INFO", "SPAM", "PERSONAL"] | None disposition: Literal["RESPOND", "DELEGATE", "ARCHIVE", "DEFER"] | None response_draft: str | None ranking: list[str] | None ``` 特定任务的预期: - `classification`:提交 `email_id` 和 `category` - `ranking`:提交一个包含 `ranking=[...]` 的动作,其中包含所有邮件 ID 且每个仅出现一次 - `full_triage`:提交 `email_id`、`priority` 和 `category`;`disposition` 和 `response_draft` 是可选的,但会影响奖励和最终评分 ## 观测空间 ``` class EmailTriageObservation: task_id: str task_type: Literal["classification", "ranking", "full_triage"] emails: list[Email] current_time: datetime emails_processed: int emails_remaining: int time_budget_remaining: float | None last_action_result: str | None done: bool reward: float # immediate reward from the most recent step cumulative_reward: float # total reward across the episode ``` ## 奖励设计 - `classification`:类别完全匹配得 `1.0`,否则 `0.0` - `ranking`:奖励为 `[0.0, 1.0]` 范围内的归一化 Kendall Tau 分数 - `full_triage`:每封邮件的密集奖励 - 优先级正确性:`0.4` - 类别正确性:`0.3` - 处理方式正确性:`0.2` - 回复质量:`0.1` - 无效动作会受到惩罚 - 困难模式还有回复预算、时间预算、重复线程惩罚,以及在高价值邮件上花费回复的奖励 ## 评分器 - `classification`:确定性完全匹配评分器 - `ranking`:确定性归一化 Kendall Tau 评分器 - `full_triage`:基于优先级、类别、处理方式、回复质量、回复预算效率、线程感知和完成率的加权确定性评分器 所有最终任务分数都归一化到 `[0.0, 1.0]`。 ## 困难模式机制 困难任务不仅仅是重复的分类。它包括: - 具有 `root`、`followup` 和 `duplicate` 消息的多邮件线程 - 通常需要在同一线程中的另一条消息之后处理的邮件 - 固定的回复预算,因此低价值的回复会消耗稀缺的容量 - 重复或仅供查看的后续邮件,通常应归档或推迟 - 高影响力的业务场景,例如事件、续订、审批和高管会议准备 ## 本地设置 ``` pip install -e ".[server,dev,inference]" python3 -m pytest -q openenv validate uvicorn server.app:app --host 0.0.0.0 --port 8000 ``` ## Docker 根目录 Docker 构建: ``` docker build -t email-triage-openenv . docker run --rm -p 8000:8000 email-triage-openenv curl http://localhost:8000/health ``` 兼容验证器的仅服务器构建: ``` docker build -t email-triage-openenv ./server ``` ## API 示例 重置: ``` curl -X POST http://localhost:8000/reset \ -H "Content-Type: application/json" \ -d '{"task_type":"ranking","seed":42}' ``` 排序步骤: ``` curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d '{"email_id":"e1","ranking":["e1","e3","e2","e4","e5","e6","e7","e8"]}' ``` ## 推理 根目录下的 `inference.py` 是演示脚本和基线推理运行器。它使用 OpenAI 客户端并读取: - `HF_TOKEN` - `API_BASE_URL` - `MODEL_NAME` - `LOCAL_IMAGE_NAME` 可选任务选择器: - `EMAIL_TRIAGE_TASK=ranking` - `EMAIL_TRIAGE_TASKS=all` 示例: ``` export HF_TOKEN=... export API_BASE_URL=https://router.huggingface.co/v1 export MODEL_NAME=Qwen/Qwen2.5-72B-Instruct export LOCAL_IMAGE_NAME=email-triage-openenv:latest python3 inference.py ``` 标准输出使用所需的结构化格式: ``` [START] task=classification env=email_triage model=Qwen/Qwen2.5-72B-Instruct [STEP] step=1 action=classify(e1,URGENT) reward=1.00 done=true error=null [END] success=true steps=1 score=1.000 rewards=1.00 ``` ## 验证 本地验证使用: - `python3 -m pytest -q` - `openenv validate` - `docker build -t email-triage-openenv-final-check .` - 对 `/health`、`/tasks` 和 `/reset` 进行全新容器冒烟测试 部署的 Space 位于 `https://abhinavgautam01-my-env.hf.space`。
标签:Apex, AV绕过, Docker, FastAPI, OpenEnv, Petitpotam, Pydantic, Python, 任务自动化, 优先级排序, 决策支持, 办公自动化, 大模型评估, 安全规则引擎, 安全防御评估, 收件箱分流, 无后门, 智能体环境, 机器学习, 模拟环境, 沙箱环境, 注意力管理, 知识工作, 请求拦截, 逆向工具, 邮件分类, 邮件处理