# RAA 评测代码 本目录包含 RAA 数据、Baseline/P1 推理、ASR 转录和 LLM Judge 的最小复现链路。 ## 安装 ```bash python -m venv .venv source .venv/bin/activate pip install -r raa_bench/requirements.txt cp raa_bench/.env.example raa_bench/.env ``` 在 `raa_bench/.env` 中配置自己的服务信息: ```env DASHSCOPE_API_KEY=your_dashscope_api_key OPENAI_API_KEY=your_openai_compatible_api_key OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 EVAL_MODEL_NAME=qwen3.7-max ``` ## 0. 离线校验 ```bash python raa_bench/scripts/validate_open_source_data.py ``` ## 1. Baseline 推理 ```bash python raa_bench/scripts/inference_baseline.py \ --base-dir raa_bench/data \ --task raa \ --output-dir raa_bench/out/baseline ``` ## 2. P1 推理 P1 在用户打断时注入“最近 5 秒已播放模型音频 + P1 提示语 + 用户打断音频”。 ```bash python raa_bench/scripts/inference_optimized.py \ --base-dir raa_bench/data \ --task raa \ --output-dir raa_bench/out/p1 \ --inject-mode prompt_p1 \ --context-seconds 5 ``` 首次运行 P1 时会通过 TTS 生成提示语,并在 `raa_bench/scripts/prompt_cache/` 建立本地缓存;该缓存不纳入 Git。 ## 3. ASR 转录 ```bash python raa_bench/scripts/asr.py --root-dir raa_bench/out/baseline/raa python raa_bench/scripts/asr.py --root-dir raa_bench/out/p1/raa ``` ## 4. RAA Judge ```bash python raa_bench/scripts/evaluate_raa.py --root-dir raa_bench/out/baseline/raa python raa_bench/scripts/evaluate_raa.py --root-dir raa_bench/out/p1/raa ``` 每个样本生成 `raa_rating.json`,每组生成 `raa_summary.json`。实时模型结果可能随模型版本、网络和生成随机性变化。 ## 核心脚本 | 脚本 | 用途 | |---|---| | `build_raa_dataset.py` | TTS 合成并构建 108 条输入数据 | | `dashscope_common.py` | Realtime 会话、时间对齐录音和音频工具 | | `inference_baseline.py` | 无上下文注入的 Baseline 推理 | | `inference_optimized.py` | 已播放音频上下文注入推理 | | `asr.py` | ASR 转录并生成 word-level timestamps | | `evaluate_raa.py` | TOR 检查、文本切分和 RAA Judge | | `validate_open_source_data.py` | 离线校验数据文件与元数据 | ## 数据构建 重新生成数据会调用 TTS 并覆盖对应数据文件,建议在副本中执行: ```bash python raa_bench/scripts/build_raa_dataset.py ``` 构建参数与音频处理流程见 [data/BUILD.md](data/BUILD.md)。