{"repo": "agent-reliability-lab/llm-long-context-eval-zh-v2", "files": {"README.md": {"22d8b2a2eb7749f09af0998c0bfcc31feef4dd03": {"t": 1785747286.4722095, "n": 9427, "h": "0aa0430a3f2b2dae", "c": "# LLM 长上下文能力评测框架 V2\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/actions/workflows/lint.yml)\n[](LICENSE)\n[](#v2-results)\n[](#multi-hop-pilot)\n[](#v2-results)\n[](#methodology)\n[](#v2-results)\n\n**最后冻结版本:v2.0.1(2026-06)** — 数据、评分、图表、报告及 judge 裁决均已定稿,后续仅修严重错误。\n\n> 面向中文长上下文场景的 **V2 基准仓库**。这一版把单格重复数从 3 提高到 10,并引入 `style_aligned`、`numeric_confusable`、`multi_key` 三类更难的中文 NIAH 变体。\n>\n> 当前仓库包含 **完整 V2 结果层**:3 个模型、5 个上下文长度、7 个深度点、10 次重复,共 **1050 条 NIAH 原始调用 + 96 条 multi_hop 结果(32 条/模型)**,附带 `results/v2/` 下的汇总表、taxonomy CSV 与报告图表。\n>\n> **主口径说明(Scheme A)**:报告中的模型能力指标默认基于 `eval_valid` 有效样本,排除 `content_filter`(平台内容审核拦截)与 `infra_api_failed`(余额耗尽、限流等基础设施失败)。这些失败不应计入模型检索能力。\n\nV1 基线仓库见:[llm-long-context-eval-zh](https://github.com/melody-ling-L/llm-long-context-eval-zh)\n\n---\n\n## GitHub 直接查看\n\n- GitHub 渲染报告:`results/v2/report/04_report_v2.executed.ipynb`\n- 源 notebook:`notebooks/v2/04_report_v2.ipynb`\n- HTML 下载版:[v2.0.0 HTML 报告](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/releases/tag/v2.0.0)\n- **主口径 NIAH 汇总**:`results/v2/processed/summary_by_model_niah_valid_only.csv`\n- 调用状态诊断:`results/v2/processed/summary_call_status.csv`\n- badcase taxonomy 汇总:`results/v2/processed/summary_by_badcase_taxonomy.csv`\n- 任务级汇总:`results/v2/processed/summary_by_model_task.csv`\n\n---\n\n## V2 Results\n\n| DeepSeek | Kimi | Qwen |\n|---|---|---|\n|  |  |  |\n\n| Accuracy by Length with 95% CI | Efficiency Tradeoff |\n|---|---|\n|  |  |\n\n### NIAH Headline Metrics(eval_valid 主口径)\n\n| 模型 | eval_valid / 350 | EM | Contains | 95% CI | 平均延迟 | 平均输出 tokens | 单位命中成本 |\n|------|:--:|:--:|:--------:|:------:|:-------:|:-------------:|:------------:|\n| DeepSeek | 328 | 65.2% | **96.6%** | 94.1% - 98.1% | **0.78s** | 5.1 | **¥0.0057 / hit** |\n| Kimi | 319 | **89.7%** | 94.4% | 91.3% - 96.4% | 2.25s | 6.8 | ¥0.6388 / hit |\n| Qwen | 319 | 87.8% | 89.3% | 85.5% - 92.3% | 7.83s | 6.1 | ¥0.0397 / hit |\n\n> 若直接对全部 350 条原始行取平均,Kimi Contains 会虚降至 **86.0%**(含 31 条 `content_filter` 与早期 32K 基础设施失败)。**请勿用该数字作为 headline。**\n\n### 调用状态诊断\n\n| 模型 | 总调用 | eval_valid | content_filter | infra_api_failed |\n|------|:--:|:--:|:--:|:--:|\n| DeepSeek | 350 | 328 (93.7%) | 0 | 22 (6.3%) |\n| Kimi | 350 | 319 (91.1%) | **31 (8.9%)** | 0 |\n| Qwen | 350 | 319 (91.1%) | 0 | 31 (8.9%) |\n\n- **Kimi `content_filter`**:Moonshot 平台对含政治/经济敏感百科 haystack 的 31 条样本触发「高风险内容」拦截,与模型检索能力无关。\n- **DeepSeek / Qwen `infra_api_failed`**:主要为部分长度点的 API 超时或调用失败(`prompt_tokens=0`),已在 `eval_valid` 口径中排除。\n\n### Variant Breakdown(eval_valid)\n\n| 模型 | style_aligned | numeric_confusable | multi_key |\n|------|:--:|:--:|:--:|\n| DeepSeek | **100.0%** | 89.9% | **100.0%** |\n| Kimi | **100.0%** | 82.9% | **100.0%** |\n| Qwen | **100.0%** | **67.6%** | **100.0%** |\n\n### 按上下文长度(eval_valid Contains)\n\n| 模型 | 2K | 4K | 8K | 16K | 32K |\n|------|:--:|:--:|:--:|:--:|:--:|\n| DeepSeek | 97.1% | 98.4% | 95.1% | 93.8% | 98.6% |\n| Kimi | 90.0% | 90.5% | 95.1% | 96.9% | **100.0%** |\n| Qwen | 87.1% | 87.3% | 86.9% | 90.6% | 95.1% |\n\n### Key Findings\n\n- **DeepSeek 在 V2 eval_valid 口径下拿到最高 Contains(96.6%)和最低单位命中成本(¥0.0057 / hit)。** 综合效率仍是三者中最强。\n- **Kimi 32K 并非模型能力塌陷。** 早期 README 中「32K 0% / 稳定失效」来自 Moonshot **余额耗尽**(`prompt_tokens=0`)与后续 **content_filter** 叠加;在 61 条 eval_valid 32K 样本上,Kimi Contains 为 **100.0%**。\n- **`numeric_confusable` 仍是平均最难的变体。** Qwen 仅 67.6%,Kimi 82.9%,DeepSeek 89.9%;相近数字 / 字符串干扰比 style 对齐或多 key 干扰更稳定地击穿检索表现。\n- **badcase taxonomy(eval_valid)显示主要短板是答案格式而非纯召回失败。** 「输出冗余但包含正确答案」占 **66.1%**,「被相似数字干扰」占 **33.9%**;DeepSeek 的主要问题更像抽取格式与回答收敛,而不是找不到 needle。\n- **16K / 32K 在 V2 中不再表现为「所有模型统一退化」。** DeepSeek 与 Kimi 在 32K 均保持高位,Qwen 在 16K / 32K 也回升;更高重复数把「模型差异」和「基础设施噪声」都放大了出来。\n- **评测工程教训:必须持久化 `error` 字段并区分失败类型。** 没有 `content_filter` / `infra_api_failed` 分层,很容易把计费失败误读成「长上下文失忆」。\n\n### Badcase Taxonomy Headline(eval_valid)\n\n| 错误类型 | 占全部 badcase 比例 | 首页结论 |\n|----------|:--:|---------|\n| 输出冗余但包含正确答案 | **66.1%** | DeepSeek 的主要短板更像抽取格式与回答收敛问题,而不是纯召回失败。 |\n| 被相似数字干扰 | **33.9%** | 相近数字、比例、时间和单位混排是当前最值得补样本的干扰模式。 |\n\n更细的按模型拆分见:`results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n\n### multi-hop Pilot\n\n| 模型 | N | EM | Contains | 95% CI | 说明 |\n|------|:--:|:--:|:--------:|:------:|------|\n| DeepSeek | 32 | 43.8% | 71.9% | 54.6% - 84.4% | 2-hop 81.5%,3-hop 20.0%;命中成本最低。 |\n| Qwen | 32 | 68.8% | 75.0% | 57.9% - 86.7% | 2-hop 81.5%,3-hop 40.0%;EM 更稳但成本更高。 |\n| Kimi | 32 | 50.0% | 62.5% | 45.3% - 77.1% | 2-hop 74.1%,**3-hop 0.0%**;主要失误集中在算术与时间推理。 |\n\n当前 multi_hop 已覆盖 **3 个模型各 32 条**(事实分散嵌入 ~8000 字符长文)。其中 2 个 `judge` 型样本的 6 个模型回答已通过独立人工裁决表复核;EM 仍保留严格字面口径,Contains 使用裁决结果。按跳数拆分见:`results/v2/processed/summary_multihop_by_hops.csv`\n\n### Actionable Assets\n\n- 主口径 NIAH 汇总:`results/v2/processed/summary_by_model_niah_valid_only.csv`\n- 调用状态:`results/v2/processed/summary_call_status.csv`\n- badcase 总体汇总:`results/v2/processed/summary_by_badcase_taxonomy.csv`\n- badcase 按模型汇总:`results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- 代表性失败样本:`results/v2/processed/badcase_examples.csv`\n- 真实任务子集扩充路线:`results/v2/processed/real_task_subset_roadmap.csv`\n\n---\n\n## Methodology\n\nV2 相比 V1 的关键变化:\n\n1. 将单格重复数从 3 提高到 10,使 `context_length × depth_pct` 的统计更稳。\n2. 引入三类更难的中文 NIAH 变体:\n - `style_aligned`:needle 与上下文文风更接近。\n - `numeric_confusable`:存在多个相近数字或近义指标,不能靠关键词秒取。\n - `multi_key`:同时插入 target 和 distractor,需要做更精细的定位。\n3. 增加 V2 效率指标:`response_chars`、`completion_tokens`、`row_cost_cny`、`cost_per_contains_hit_cny`、`contains_per_1k_output_tokens`。\n4. 增加 **Scheme A 调用状态分层**:`eval_valid` / `content_filter` / `infra_api_failed`,模型能力指标默认只看 `eval_valid`。\n5. 所有 V2 数据、结果和 notebook 都与 V1 隔离,避免覆盖既有结论。\n\n本轮完整 V2 NIAH 规模为:\n\n- 3 个模型:DeepSeek / Kimi / Qwen\n- 5 个长度:2K / 4K / 8K / 16K / 32K\n- 7 个深度点:0 / 10 / 25 / 50 / 75 / 90 / 100\n- 10 次重复\n- 合计 350 条样本 / 模型,1050 条 NIAH 原始调用\n\n---\n\n## Repository Layout\n\n```\nllm-long-context-eval-zh-V2/\n├── configs/\n│ ├── eval_config.yaml\n│ └── eval_config_v2.yaml\n├── data/\n│ ├── needles/\n│ │ ├── multihop_qa.json\n│ │ ├── multihop_qa_v2.json\n│ │ └── v2_needle_bank.json\n│ ├── processed/\n│ └── processed/v2/\n├── docs/\n│ ├── eval_design.md\n│ └── eval_design_v2.md\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ ├── 04_report.ipynb\n│ └── v2/\n├── results/\n│ ├── figures/\n│ ├── processed/\n│ ├── raw/\n│ └── v2/\n│ ├── figures/\n│ ├── processed/\n│ └── raw/\n└── src/\n ├── data_prep.py\n ├── data_prep_v2.py\n ├── eval_runner.py\n ├── eval_runner_v2.py\n ├── metrics.py\n ├── metrics_v2.py\n └── visualize.py\n```\n\n---\n\n## Reproduce V2\n\n### 1. Install\n\n```bash\npip install -r requirements.txt\n```\n\n### 2. Configure API keys\n\n```bash\ncp .env.example .env\n# fill in DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY\n```\n\n> **Kimi NIAH 必须使用 `MOONSHOT_API_KEY`(`api.moonshot.cn`)。** `KIMI_API_KEY` 仅适用于 Kimi Coding Agent,无法调用 `moonshot-v1-128k`。\n\n### 3. Generate V2 datasets\n\n```bash\npython src/data_prep_v2.py\n```\n\n或直接运行:\n\n```\nnotebooks/v2/01_data_preparation_v2.ipynb\n```\n\n### 4. Run V2 evaluation\n\n```\nnotebooks/v2/02_eval_runner_v2.ipynb\n```\n\n### 5. Run V2 analysis and report\n\n```\nnotebooks/v2/03_analysis_visualization_v2.ipynb\nnotebooks/v2/04_report_v2.ipynb\n```\n\n或一键重评分 + 出图(主口径 eval_valid):\n\n```bash\npython scripts/rerun_kimi_v2.py --analyze-only\npython scripts/regenerate_v2_figures.py\n```\n\nV2 关键产物路径:\n\n- `results/v2/raw/raw_results.csv`\n- `results/v2/processed/scored_results.csv`\n- `results/v2/processed/summary_by_model_niah_valid_only.csv` ← **主口径 headline**\n- `results/v2/processed/summary_call_status.csv`\n- `results/v2/processed/summary_by_model_variant.csv`\n- `results/v2/processed/summary_by_model_length.csv`\n- `results/v2/processed/summary_by_model_task.csv`\n- `results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- `results/v2/processed/summary_by_badcase_taxonomy.csv`\n- `results/v2/processed/badcase_examples.csv`\n- `results/v2/processed/real_task_subset_roadmap.csv`\n- `results/v2/figures/*.png`\n\n---\n\n## Current Limits\n\n- `multi_hop` 已覆盖 3 个模型各 32 条(96 条合计)。2 个 `judge` 样本已人工复核并进入 Contains;3-hop 仍是共同短板:Kimi 为 **0.0%**,DeepSeek 20.0%,Qwen 40.0%。\n- Kimi 有 31 条 `content_filter` 样本无法通过重试恢复,需要在数据层替换敏感 haystack 或接受「平台审核盲区」作为独立统计维度。\n- DeepSeek / Qwen 各有约 31 条基础设施失败样本,长上下文评测应始终保留 `error` + `prompt_tokens` 字段以便事后诊断。\n- badcase taxonomy 已经能指导下一轮数据策略,但规则仍是启发式首版,后续值得补更细的抽错值 / 单位混淆 / 时间推理子类。\n\n---\n\n## References\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n"}, "40100601f302b34f247eab9d87c89e760699a54b": {"t": 1785772152.906674, "n": 9427, "h": "0aa0430a3f2b2dae", "c": "# LLM 长上下文能力评测框架 V2\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/actions/workflows/lint.yml)\n[](LICENSE)\n[](#v2-results)\n[](#multi-hop-pilot)\n[](#v2-results)\n[](#methodology)\n[](#v2-results)\n\n**最后冻结版本:v2.0.1(2026-06)** — 数据、评分、图表、报告及 judge 裁决均已定稿,后续仅修严重错误。\n\n> 面向中文长上下文场景的 **V2 基准仓库**。这一版把单格重复数从 3 提高到 10,并引入 `style_aligned`、`numeric_confusable`、`multi_key` 三类更难的中文 NIAH 变体。\n>\n> 当前仓库包含 **完整 V2 结果层**:3 个模型、5 个上下文长度、7 个深度点、10 次重复,共 **1050 条 NIAH 原始调用 + 96 条 multi_hop 结果(32 条/模型)**,附带 `results/v2/` 下的汇总表、taxonomy CSV 与报告图表。\n>\n> **主口径说明(Scheme A)**:报告中的模型能力指标默认基于 `eval_valid` 有效样本,排除 `content_filter`(平台内容审核拦截)与 `infra_api_failed`(余额耗尽、限流等基础设施失败)。这些失败不应计入模型检索能力。\n\nV1 基线仓库见:[llm-long-context-eval-zh](https://github.com/melody-ling-L/llm-long-context-eval-zh)\n\n---\n\n## GitHub 直接查看\n\n- GitHub 渲染报告:`results/v2/report/04_report_v2.executed.ipynb`\n- 源 notebook:`notebooks/v2/04_report_v2.ipynb`\n- HTML 下载版:[v2.0.0 HTML 报告](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/releases/tag/v2.0.0)\n- **主口径 NIAH 汇总**:`results/v2/processed/summary_by_model_niah_valid_only.csv`\n- 调用状态诊断:`results/v2/processed/summary_call_status.csv`\n- badcase taxonomy 汇总:`results/v2/processed/summary_by_badcase_taxonomy.csv`\n- 任务级汇总:`results/v2/processed/summary_by_model_task.csv`\n\n---\n\n## V2 Results\n\n| DeepSeek | Kimi | Qwen |\n|---|---|---|\n|  |  |  |\n\n| Accuracy by Length with 95% CI | Efficiency Tradeoff |\n|---|---|\n|  |  |\n\n### NIAH Headline Metrics(eval_valid 主口径)\n\n| 模型 | eval_valid / 350 | EM | Contains | 95% CI | 平均延迟 | 平均输出 tokens | 单位命中成本 |\n|------|:--:|:--:|:--------:|:------:|:-------:|:-------------:|:------------:|\n| DeepSeek | 328 | 65.2% | **96.6%** | 94.1% - 98.1% | **0.78s** | 5.1 | **¥0.0057 / hit** |\n| Kimi | 319 | **89.7%** | 94.4% | 91.3% - 96.4% | 2.25s | 6.8 | ¥0.6388 / hit |\n| Qwen | 319 | 87.8% | 89.3% | 85.5% - 92.3% | 7.83s | 6.1 | ¥0.0397 / hit |\n\n> 若直接对全部 350 条原始行取平均,Kimi Contains 会虚降至 **86.0%**(含 31 条 `content_filter` 与早期 32K 基础设施失败)。**请勿用该数字作为 headline。**\n\n### 调用状态诊断\n\n| 模型 | 总调用 | eval_valid | content_filter | infra_api_failed |\n|------|:--:|:--:|:--:|:--:|\n| DeepSeek | 350 | 328 (93.7%) | 0 | 22 (6.3%) |\n| Kimi | 350 | 319 (91.1%) | **31 (8.9%)** | 0 |\n| Qwen | 350 | 319 (91.1%) | 0 | 31 (8.9%) |\n\n- **Kimi `content_filter`**:Moonshot 平台对含政治/经济敏感百科 haystack 的 31 条样本触发「高风险内容」拦截,与模型检索能力无关。\n- **DeepSeek / Qwen `infra_api_failed`**:主要为部分长度点的 API 超时或调用失败(`prompt_tokens=0`),已在 `eval_valid` 口径中排除。\n\n### Variant Breakdown(eval_valid)\n\n| 模型 | style_aligned | numeric_confusable | multi_key |\n|------|:--:|:--:|:--:|\n| DeepSeek | **100.0%** | 89.9% | **100.0%** |\n| Kimi | **100.0%** | 82.9% | **100.0%** |\n| Qwen | **100.0%** | **67.6%** | **100.0%** |\n\n### 按上下文长度(eval_valid Contains)\n\n| 模型 | 2K | 4K | 8K | 16K | 32K |\n|------|:--:|:--:|:--:|:--:|:--:|\n| DeepSeek | 97.1% | 98.4% | 95.1% | 93.8% | 98.6% |\n| Kimi | 90.0% | 90.5% | 95.1% | 96.9% | **100.0%** |\n| Qwen | 87.1% | 87.3% | 86.9% | 90.6% | 95.1% |\n\n### Key Findings\n\n- **DeepSeek 在 V2 eval_valid 口径下拿到最高 Contains(96.6%)和最低单位命中成本(¥0.0057 / hit)。** 综合效率仍是三者中最强。\n- **Kimi 32K 并非模型能力塌陷。** 早期 README 中「32K 0% / 稳定失效」来自 Moonshot **余额耗尽**(`prompt_tokens=0`)与后续 **content_filter** 叠加;在 61 条 eval_valid 32K 样本上,Kimi Contains 为 **100.0%**。\n- **`numeric_confusable` 仍是平均最难的变体。** Qwen 仅 67.6%,Kimi 82.9%,DeepSeek 89.9%;相近数字 / 字符串干扰比 style 对齐或多 key 干扰更稳定地击穿检索表现。\n- **badcase taxonomy(eval_valid)显示主要短板是答案格式而非纯召回失败。** 「输出冗余但包含正确答案」占 **66.1%**,「被相似数字干扰」占 **33.9%**;DeepSeek 的主要问题更像抽取格式与回答收敛,而不是找不到 needle。\n- **16K / 32K 在 V2 中不再表现为「所有模型统一退化」。** DeepSeek 与 Kimi 在 32K 均保持高位,Qwen 在 16K / 32K 也回升;更高重复数把「模型差异」和「基础设施噪声」都放大了出来。\n- **评测工程教训:必须持久化 `error` 字段并区分失败类型。** 没有 `content_filter` / `infra_api_failed` 分层,很容易把计费失败误读成「长上下文失忆」。\n\n### Badcase Taxonomy Headline(eval_valid)\n\n| 错误类型 | 占全部 badcase 比例 | 首页结论 |\n|----------|:--:|---------|\n| 输出冗余但包含正确答案 | **66.1%** | DeepSeek 的主要短板更像抽取格式与回答收敛问题,而不是纯召回失败。 |\n| 被相似数字干扰 | **33.9%** | 相近数字、比例、时间和单位混排是当前最值得补样本的干扰模式。 |\n\n更细的按模型拆分见:`results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n\n### multi-hop Pilot\n\n| 模型 | N | EM | Contains | 95% CI | 说明 |\n|------|:--:|:--:|:--------:|:------:|------|\n| DeepSeek | 32 | 43.8% | 71.9% | 54.6% - 84.4% | 2-hop 81.5%,3-hop 20.0%;命中成本最低。 |\n| Qwen | 32 | 68.8% | 75.0% | 57.9% - 86.7% | 2-hop 81.5%,3-hop 40.0%;EM 更稳但成本更高。 |\n| Kimi | 32 | 50.0% | 62.5% | 45.3% - 77.1% | 2-hop 74.1%,**3-hop 0.0%**;主要失误集中在算术与时间推理。 |\n\n当前 multi_hop 已覆盖 **3 个模型各 32 条**(事实分散嵌入 ~8000 字符长文)。其中 2 个 `judge` 型样本的 6 个模型回答已通过独立人工裁决表复核;EM 仍保留严格字面口径,Contains 使用裁决结果。按跳数拆分见:`results/v2/processed/summary_multihop_by_hops.csv`\n\n### Actionable Assets\n\n- 主口径 NIAH 汇总:`results/v2/processed/summary_by_model_niah_valid_only.csv`\n- 调用状态:`results/v2/processed/summary_call_status.csv`\n- badcase 总体汇总:`results/v2/processed/summary_by_badcase_taxonomy.csv`\n- badcase 按模型汇总:`results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- 代表性失败样本:`results/v2/processed/badcase_examples.csv`\n- 真实任务子集扩充路线:`results/v2/processed/real_task_subset_roadmap.csv`\n\n---\n\n## Methodology\n\nV2 相比 V1 的关键变化:\n\n1. 将单格重复数从 3 提高到 10,使 `context_length × depth_pct` 的统计更稳。\n2. 引入三类更难的中文 NIAH 变体:\n - `style_aligned`:needle 与上下文文风更接近。\n - `numeric_confusable`:存在多个相近数字或近义指标,不能靠关键词秒取。\n - `multi_key`:同时插入 target 和 distractor,需要做更精细的定位。\n3. 增加 V2 效率指标:`response_chars`、`completion_tokens`、`row_cost_cny`、`cost_per_contains_hit_cny`、`contains_per_1k_output_tokens`。\n4. 增加 **Scheme A 调用状态分层**:`eval_valid` / `content_filter` / `infra_api_failed`,模型能力指标默认只看 `eval_valid`。\n5. 所有 V2 数据、结果和 notebook 都与 V1 隔离,避免覆盖既有结论。\n\n本轮完整 V2 NIAH 规模为:\n\n- 3 个模型:DeepSeek / Kimi / Qwen\n- 5 个长度:2K / 4K / 8K / 16K / 32K\n- 7 个深度点:0 / 10 / 25 / 50 / 75 / 90 / 100\n- 10 次重复\n- 合计 350 条样本 / 模型,1050 条 NIAH 原始调用\n\n---\n\n## Repository Layout\n\n```\nllm-long-context-eval-zh-V2/\n├── configs/\n│ ├── eval_config.yaml\n│ └── eval_config_v2.yaml\n├── data/\n│ ├── needles/\n│ │ ├── multihop_qa.json\n│ │ ├── multihop_qa_v2.json\n│ │ └── v2_needle_bank.json\n│ ├── processed/\n│ └── processed/v2/\n├── docs/\n│ ├── eval_design.md\n│ └── eval_design_v2.md\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ ├── 04_report.ipynb\n│ └── v2/\n├── results/\n│ ├── figures/\n│ ├── processed/\n│ ├── raw/\n│ └── v2/\n│ ├── figures/\n│ ├── processed/\n│ └── raw/\n└── src/\n ├── data_prep.py\n ├── data_prep_v2.py\n ├── eval_runner.py\n ├── eval_runner_v2.py\n ├── metrics.py\n ├── metrics_v2.py\n └── visualize.py\n```\n\n---\n\n## Reproduce V2\n\n### 1. Install\n\n```bash\npip install -r requirements.txt\n```\n\n### 2. Configure API keys\n\n```bash\ncp .env.example .env\n# fill in DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY\n```\n\n> **Kimi NIAH 必须使用 `MOONSHOT_API_KEY`(`api.moonshot.cn`)。** `KIMI_API_KEY` 仅适用于 Kimi Coding Agent,无法调用 `moonshot-v1-128k`。\n\n### 3. Generate V2 datasets\n\n```bash\npython src/data_prep_v2.py\n```\n\n或直接运行:\n\n```\nnotebooks/v2/01_data_preparation_v2.ipynb\n```\n\n### 4. Run V2 evaluation\n\n```\nnotebooks/v2/02_eval_runner_v2.ipynb\n```\n\n### 5. Run V2 analysis and report\n\n```\nnotebooks/v2/03_analysis_visualization_v2.ipynb\nnotebooks/v2/04_report_v2.ipynb\n```\n\n或一键重评分 + 出图(主口径 eval_valid):\n\n```bash\npython scripts/rerun_kimi_v2.py --analyze-only\npython scripts/regenerate_v2_figures.py\n```\n\nV2 关键产物路径:\n\n- `results/v2/raw/raw_results.csv`\n- `results/v2/processed/scored_results.csv`\n- `results/v2/processed/summary_by_model_niah_valid_only.csv` ← **主口径 headline**\n- `results/v2/processed/summary_call_status.csv`\n- `results/v2/processed/summary_by_model_variant.csv`\n- `results/v2/processed/summary_by_model_length.csv`\n- `results/v2/processed/summary_by_model_task.csv`\n- `results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- `results/v2/processed/summary_by_badcase_taxonomy.csv`\n- `results/v2/processed/badcase_examples.csv`\n- `results/v2/processed/real_task_subset_roadmap.csv`\n- `results/v2/figures/*.png`\n\n---\n\n## Current Limits\n\n- `multi_hop` 已覆盖 3 个模型各 32 条(96 条合计)。2 个 `judge` 样本已人工复核并进入 Contains;3-hop 仍是共同短板:Kimi 为 **0.0%**,DeepSeek 20.0%,Qwen 40.0%。\n- Kimi 有 31 条 `content_filter` 样本无法通过重试恢复,需要在数据层替换敏感 haystack 或接受「平台审核盲区」作为独立统计维度。\n- DeepSeek / Qwen 各有约 31 条基础设施失败样本,长上下文评测应始终保留 `error` + `prompt_tokens` 字段以便事后诊断。\n- badcase taxonomy 已经能指导下一轮数据策略,但规则仍是启发式首版,后续值得补更细的抽错值 / 单位混淆 / 时间推理子类。\n\n---\n\n## References\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n"}, "902efd90c81c74d0627bab86fb604c56b1629521": {"t": 1785772154.2362702, "n": 9361, "h": "58624d9348831518", "c": "# LLM 长上下文能力评测框架 V2\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/actions/workflows/lint.yml)\n[](LICENSE)\n[](#v2-results)\n[](#multi-hop-pilot)\n[](#v2-results)\n[](#methodology)\n[](#v2-results)\n\n> 面向中文长上下文场景的 **V2 基准仓库**。这一版把单格重复数从 3 提高到 10,并引入 `style_aligned`、`numeric_confusable`、`multi_key` 三类更难的中文 NIAH 变体。\n>\n> 当前仓库包含 **完整 V2 结果层**:3 个模型、5 个上下文长度、7 个深度点、10 次重复,共 **1050 条 NIAH 原始调用 + 96 条 multi_hop 结果(32 条/模型)**,附带 `results/v2/` 下的汇总表、taxonomy CSV 与报告图表。\n>\n> **主口径说明(Scheme A)**:报告中的模型能力指标默认基于 `eval_valid` 有效样本,排除 `content_filter`(平台内容审核拦截)与 `infra_api_failed`(余额耗尽、限流等基础设施失败)。这些失败不应计入模型检索能力。\n\nV1 基线仓库见:[llm-long-context-eval-zh](https://github.com/melody-ling-L/llm-long-context-eval-zh)\n\n---\n\n## GitHub 直接查看\n\n- GitHub 渲染报告:`results/v2/report/04_report_v2.executed.ipynb`\n- 源 notebook:`notebooks/v2/04_report_v2.ipynb`\n- HTML 下载版:[v2.0.0 HTML 报告](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/releases/tag/v2.0.0)\n- **主口径 NIAH 汇总**:`results/v2/processed/summary_by_model_niah_valid_only.csv`\n- 调用状态诊断:`results/v2/processed/summary_call_status.csv`\n- badcase taxonomy 汇总:`results/v2/processed/summary_by_badcase_taxonomy.csv`\n- 任务级汇总:`results/v2/processed/summary_by_model_task.csv`\n\n---\n\n## V2 Results\n\n| DeepSeek | Kimi | Qwen |\n|---|---|---|\n|  |  |  |\n\n| Accuracy by Length with 95% CI | Efficiency Tradeoff |\n|---|---|\n|  |  |\n\n### NIAH Headline Metrics(eval_valid 主口径)\n\n| 模型 | eval_valid / 350 | EM | Contains | 95% CI | 平均延迟 | 平均输出 tokens | 单位命中成本 |\n|------|:--:|:--:|:--------:|:------:|:-------:|:-------------:|:------------:|\n| DeepSeek | 328 | 65.2% | **96.6%** | 94.1% - 98.1% | **0.78s** | 5.1 | **¥0.0057 / hit** |\n| Kimi | 319 | **89.7%** | 94.4% | 91.3% - 96.4% | 2.25s | 6.8 | ¥0.6388 / hit |\n| Qwen | 319 | 87.8% | 89.3% | 85.5% - 92.3% | 7.83s | 6.1 | ¥0.0397 / hit |\n\n> 若直接对全部 350 条原始行取平均,Kimi Contains 会虚降至 **86.0%**(含 31 条 `content_filter` 与早期 32K 基础设施失败)。**请勿用该数字作为 headline。**\n\n### 调用状态诊断\n\n| 模型 | 总调用 | eval_valid | content_filter | infra_api_failed |\n|------|:--:|:--:|:--:|:--:|\n| DeepSeek | 350 | 328 (93.7%) | 0 | 22 (6.3%) |\n| Kimi | 350 | 319 (91.1%) | **31 (8.9%)** | 0 |\n| Qwen | 350 | 319 (91.1%) | 0 | 31 (8.9%) |\n\n- **Kimi `content_filter`**:Moonshot 平台对含政治/经济敏感百科 haystack 的 31 条样本触发「高风险内容」拦截,与模型检索能力无关。\n- **DeepSeek / Qwen `infra_api_failed`**:主要为部分长度点的 API 超时或调用失败(`prompt_tokens=0`),已在 `eval_valid` 口径中排除。\n\n### Variant Breakdown(eval_valid)\n\n| 模型 | style_aligned | numeric_confusable | multi_key |\n|------|:--:|:--:|:--:|\n| DeepSeek | **100.0%** | 89.9% | **100.0%** |\n| Kimi | **100.0%** | 82.9% | **100.0%** |\n| Qwen | **100.0%** | **67.6%** | **100.0%** |\n\n### 按上下文长度(eval_valid Contains)\n\n| 模型 | 2K | 4K | 8K | 16K | 32K |\n|------|:--:|:--:|:--:|:--:|:--:|\n| DeepSeek | 97.1% | 98.4% | 95.1% | 93.8% | 98.6% |\n| Kimi | 90.0% | 90.5% | 95.1% | 96.9% | **100.0%** |\n| Qwen | 87.1% | 87.3% | 86.9% | 90.6% | 95.1% |\n\n### Key Findings\n\n- **DeepSeek 在 V2 eval_valid 口径下拿到最高 Contains(96.6%)和最低单位命中成本(¥0.0057 / hit)。** 综合效率仍是三者中最强。\n- **Kimi 32K 并非模型能力塌陷。** 早期 README 中「32K 0% / 稳定失效」来自 Moonshot **余额耗尽**(`prompt_tokens=0`)与后续 **content_filter** 叠加;在 61 条 eval_valid 32K 样本上,Kimi Contains 为 **100.0%**。\n- **`numeric_confusable` 仍是平均最难的变体。** Qwen 仅 67.6%,Kimi 82.9%,DeepSeek 89.9%;相近数字 / 字符串干扰比 style 对齐或多 key 干扰更稳定地击穿检索表现。\n- **badcase taxonomy(eval_valid)显示主要短板是答案格式而非纯召回失败。** 「输出冗余但包含正确答案」占 **66.1%**,「被相似数字干扰」占 **33.9%**;DeepSeek 的主要问题更像抽取格式与回答收敛,而不是找不到 needle。\n- **16K / 32K 在 V2 中不再表现为「所有模型统一退化」。** DeepSeek 与 Kimi 在 32K 均保持高位,Qwen 在 16K / 32K 也回升;更高重复数把「模型差异」和「基础设施噪声」都放大了出来。\n- **评测工程教训:必须持久化 `error` 字段并区分失败类型。** 没有 `content_filter` / `infra_api_failed` 分层,很容易把计费失败误读成「长上下文失忆」。\n\n### Badcase Taxonomy Headline(eval_valid)\n\n| 错误类型 | 占全部 badcase 比例 | 首页结论 |\n|----------|:--:|---------|\n| 输出冗余但包含正确答案 | **66.1%** | DeepSeek 的主要短板更像抽取格式与回答收敛问题,而不是纯召回失败。 |\n| 被相似数字干扰 | **33.9%** | 相近数字、比例、时间和单位混排是当前最值得补样本的干扰模式。 |\n\n更细的按模型拆分见:`results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n\n### multi-hop Pilot\n\n| 模型 | N | EM | Contains | 95% CI | 说明 |\n|------|:--:|:--:|:--------:|:------:|------|\n| DeepSeek | 32 | 43.8% | 71.9% | 54.6% - 84.4% | 2-hop 81.5%,3-hop 20.0%;命中成本最低。 |\n| Qwen | 32 | 68.8% | 75.0% | 57.9% - 86.7% | 2-hop 81.5%,3-hop 40.0%;EM 更稳但成本更高。 |\n| Kimi | 32 | 50.0% | 62.5% | 45.3% - 77.1% | 2-hop 74.1%,**3-hop 0.0%**;主要失误集中在算术与时间推理。 |\n\n当前 multi_hop 已覆盖 **3 个模型各 32 条**(事实分散嵌入 ~8000 字符长文)。其中 2 个 `judge` 型样本的 6 个模型回答已通过独立人工裁决表复核;EM 仍保留严格字面口径,Contains 使用裁决结果。按跳数拆分见:`results/v2/processed/summary_multihop_by_hops.csv`\n\n### Actionable Assets\n\n- 主口径 NIAH 汇总:`results/v2/processed/summary_by_model_niah_valid_only.csv`\n- 调用状态:`results/v2/processed/summary_call_status.csv`\n- badcase 总体汇总:`results/v2/processed/summary_by_badcase_taxonomy.csv`\n- badcase 按模型汇总:`results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- 代表性失败样本:`results/v2/processed/badcase_examples.csv`\n- 真实任务子集扩充路线:`results/v2/processed/real_task_subset_roadmap.csv`\n\n---\n\n## Methodology\n\nV2 相比 V1 的关键变化:\n\n1. 将单格重复数从 3 提高到 10,使 `context_length × depth_pct` 的统计更稳。\n2. 引入三类更难的中文 NIAH 变体:\n - `style_aligned`:needle 与上下文文风更接近。\n - `numeric_confusable`:存在多个相近数字或近义指标,不能靠关键词秒取。\n - `multi_key`:同时插入 target 和 distractor,需要做更精细的定位。\n3. 增加 V2 效率指标:`response_chars`、`completion_tokens`、`row_cost_cny`、`cost_per_contains_hit_cny`、`contains_per_1k_output_tokens`。\n4. 增加 **Scheme A 调用状态分层**:`eval_valid` / `content_filter` / `infra_api_failed`,模型能力指标默认只看 `eval_valid`。\n5. 所有 V2 数据、结果和 notebook 都与 V1 隔离,避免覆盖既有结论。\n\n本轮完整 V2 NIAH 规模为:\n\n- 3 个模型:DeepSeek / Kimi / Qwen\n- 5 个长度:2K / 4K / 8K / 16K / 32K\n- 7 个深度点:0 / 10 / 25 / 50 / 75 / 90 / 100\n- 10 次重复\n- 合计 350 条样本 / 模型,1050 条 NIAH 原始调用\n\n---\n\n## Repository Layout\n\n```\nllm-long-context-eval-zh-V2/\n├── configs/\n│ ├── eval_config.yaml\n│ └── eval_config_v2.yaml\n├── data/\n│ ├── needles/\n│ │ ├── multihop_qa.json\n│ │ ├── multihop_qa_v2.json\n│ │ └── v2_needle_bank.json\n│ ├── processed/\n│ └── processed/v2/\n├── docs/\n│ ├── eval_design.md\n│ └── eval_design_v2.md\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ ├── 04_report.ipynb\n│ └── v2/\n├── results/\n│ ├── figures/\n│ ├── processed/\n│ ├── raw/\n│ └── v2/\n│ ├── figures/\n│ ├── processed/\n│ └── raw/\n└── src/\n ├── data_prep.py\n ├── data_prep_v2.py\n ├── eval_runner.py\n ├── eval_runner_v2.py\n ├── metrics.py\n ├── metrics_v2.py\n └── visualize.py\n```\n\n---\n\n## Reproduce V2\n\n### 1. Install\n\n```bash\npip install -r requirements.txt\n```\n\n### 2. Configure API keys\n\n```bash\ncp .env.example .env\n# fill in DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY\n```\n\n> **Kimi NIAH 必须使用 `MOONSHOT_API_KEY`(`api.moonshot.cn`)。** `KIMI_API_KEY` 仅适用于 Kimi Coding Agent,无法调用 `moonshot-v1-128k`。\n\n### 3. Generate V2 datasets\n\n```bash\npython src/data_prep_v2.py\n```\n\n或直接运行:\n\n```\nnotebooks/v2/01_data_preparation_v2.ipynb\n```\n\n### 4. Run V2 evaluation\n\n```\nnotebooks/v2/02_eval_runner_v2.ipynb\n```\n\n### 5. Run V2 analysis and report\n\n```\nnotebooks/v2/03_analysis_visualization_v2.ipynb\nnotebooks/v2/04_report_v2.ipynb\n```\n\n或一键重评分 + 出图(主口径 eval_valid):\n\n```bash\npython scripts/rerun_kimi_v2.py --analyze-only\npython scripts/regenerate_v2_figures.py\n```\n\nV2 关键产物路径:\n\n- `results/v2/raw/raw_results.csv`\n- `results/v2/processed/scored_results.csv`\n- `results/v2/processed/summary_by_model_niah_valid_only.csv` ← **主口径 headline**\n- `results/v2/processed/summary_call_status.csv`\n- `results/v2/processed/summary_by_model_variant.csv`\n- `results/v2/processed/summary_by_model_length.csv`\n- `results/v2/processed/summary_by_model_task.csv`\n- `results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- `results/v2/processed/summary_by_badcase_taxonomy.csv`\n- `results/v2/processed/badcase_examples.csv`\n- `results/v2/processed/real_task_subset_roadmap.csv`\n- `results/v2/figures/*.png`\n\n---\n\n## Current Limits\n\n- `multi_hop` 已覆盖 3 个模型各 32 条(96 条合计)。2 个 `judge` 样本已人工复核并进入 Contains;3-hop 仍是共同短板:Kimi 为 **0.0%**,DeepSeek 20.0%,Qwen 40.0%。\n- Kimi 有 31 条 `content_filter` 样本无法通过重试恢复,需要在数据层替换敏感 haystack 或接受「平台审核盲区」作为独立统计维度。\n- DeepSeek / Qwen 各有约 31 条基础设施失败样本,长上下文评测应始终保留 `error` + `prompt_tokens` 字段以便事后诊断。\n- badcase taxonomy 已经能指导下一轮数据策略,但规则仍是启发式首版,后续值得补更细的抽错值 / 单位混淆 / 时间推理子类。\n\n---\n\n## References\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n"}, "4b395739db749b606fdbd6ba8dc4558932831bdc": {"t": 1785772155.5152726, "n": 9280, "h": "c57a30e34c015610", "c": "# LLM 长上下文能力评测框架 V2\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/actions/workflows/lint.yml)\n[](LICENSE)\n[](#v2-results)\n[](#multi-hop-pilot)\n[](#v2-results)\n[](#methodology)\n[](#v2-results)\n\n> 面向中文长上下文场景的 **V2 基准仓库**。这一版把单格重复数从 3 提高到 10,并引入 `style_aligned`、`numeric_confusable`、`multi_key` 三类更难的中文 NIAH 变体。\n>\n> 当前仓库包含 **完整 V2 结果层**:3 个模型、5 个上下文长度、7 个深度点、10 次重复,共 **1050 条 NIAH 原始调用 + 96 条 multi_hop 结果(32 条/模型)**,附带 `results/v2/` 下的汇总表、taxonomy CSV 与报告图表。\n>\n> **主口径说明(Scheme A)**:报告中的模型能力指标默认基于 `eval_valid` 有效样本,排除 `content_filter`(平台内容审核拦截)与 `infra_api_failed`(余额耗尽、限流等基础设施失败)。这些失败不应计入模型检索能力。\n\nV1 基线仓库见:[llm-long-context-eval-zh](https://github.com/melody-ling-L/llm-long-context-eval-zh)\n\n---\n\n## GitHub 直接查看\n\n- GitHub 渲染报告:`results/v2/report/04_report_v2.executed.ipynb`\n- 源 notebook:`notebooks/v2/04_report_v2.ipynb`\n- HTML 下载版:[v2.0.0 HTML 报告](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/releases/tag/v2.0.0)\n- **主口径 NIAH 汇总**:`results/v2/processed/summary_by_model_niah_valid_only.csv`\n- 调用状态诊断:`results/v2/processed/summary_call_status.csv`\n- badcase taxonomy 汇总:`results/v2/processed/summary_by_badcase_taxonomy.csv`\n- 任务级汇总:`results/v2/processed/summary_by_model_task.csv`\n\n---\n\n## V2 Results\n\n| DeepSeek | Kimi | Qwen |\n|---|---|---|\n|  |  |  |\n\n| Accuracy by Length with 95% CI | Efficiency Tradeoff |\n|---|---|\n|  |  |\n\n### NIAH Headline Metrics(eval_valid 主口径)\n\n| 模型 | eval_valid / 350 | EM | Contains | 95% CI | 平均延迟 | 平均输出 tokens | 单位命中成本 |\n|------|:--:|:--:|:--------:|:------:|:-------:|:-------------:|:------------:|\n| DeepSeek | 328 | 65.2% | **96.6%** | 94.1% - 98.1% | **0.78s** | 5.1 | **¥0.0057 / hit** |\n| Kimi | 319 | **89.7%** | 94.4% | 91.3% - 96.4% | 2.25s | 6.8 | ¥0.6388 / hit |\n| Qwen | 319 | 87.8% | 89.3% | 85.5% - 92.3% | 7.83s | 6.1 | ¥0.0397 / hit |\n\n> 若直接对全部 350 条原始行取平均,Kimi Contains 会虚降至 **86.0%**(含 31 条 `content_filter` 与早期 32K 基础设施失败)。**请勿用该数字作为 headline。**\n\n### 调用状态诊断\n\n| 模型 | 总调用 | eval_valid | content_filter | infra_api_failed |\n|------|:--:|:--:|:--:|:--:|\n| DeepSeek | 350 | 328 (93.7%) | 0 | 22 (6.3%) |\n| Kimi | 350 | 319 (91.1%) | **31 (8.9%)** | 0 |\n| Qwen | 350 | 319 (91.1%) | 0 | 31 (8.9%) |\n\n- **Kimi `content_filter`**:Moonshot 平台对含政治/经济敏感百科 haystack 的 31 条样本触发「高风险内容」拦截,与模型检索能力无关。\n- **DeepSeek / Qwen `infra_api_failed`**:主要为部分长度点的 API 超时或调用失败(`prompt_tokens=0`),已在 `eval_valid` 口径中排除。\n\n### Variant Breakdown(eval_valid)\n\n| 模型 | style_aligned | numeric_confusable | multi_key |\n|------|:--:|:--:|:--:|\n| DeepSeek | **100.0%** | 89.9% | **100.0%** |\n| Kimi | **100.0%** | 82.9% | **100.0%** |\n| Qwen | **100.0%** | **67.6%** | **100.0%** |\n\n### 按上下文长度(eval_valid Contains)\n\n| 模型 | 2K | 4K | 8K | 16K | 32K |\n|------|:--:|:--:|:--:|:--:|:--:|\n| DeepSeek | 97.1% | 98.4% | 95.1% | 93.8% | 98.6% |\n| Kimi | 90.0% | 90.5% | 95.1% | 96.9% | **100.0%** |\n| Qwen | 87.1% | 87.3% | 86.9% | 90.6% | 95.1% |\n\n### Key Findings\n\n- **DeepSeek 在 V2 eval_valid 口径下拿到最高 Contains(96.6%)和最低单位命中成本(¥0.0057 / hit)。** 综合效率仍是三者中最强。\n- **Kimi 32K 并非模型能力塌陷。** 早期 README 中「32K 0% / 稳定失效」来自 Moonshot **余额耗尽**(`prompt_tokens=0`)与后续 **content_filter** 叠加;在 61 条 eval_valid 32K 样本上,Kimi Contains 为 **100.0%**。\n- **`numeric_confusable` 仍是平均最难的变体。** Qwen 仅 67.6%,Kimi 82.9%,DeepSeek 89.9%;相近数字 / 字符串干扰比 style 对齐或多 key 干扰更稳定地击穿检索表现。\n- **badcase taxonomy(eval_valid)显示主要短板是答案格式而非纯召回失败。** 「输出冗余但包含正确答案」占 **66.1%**,「被相似数字干扰」占 **33.9%**;DeepSeek 的主要问题更像抽取格式与回答收敛,而不是找不到 needle。\n- **16K / 32K 在 V2 中不再表现为「所有模型统一退化」。** DeepSeek 与 Kimi 在 32K 均保持高位,Qwen 在 16K / 32K 也回升;更高重复数把「模型差异」和「基础设施噪声」都放大了出来。\n- **评测工程教训:必须持久化 `error` 字段并区分失败类型。** 没有 `content_filter` / `infra_api_failed` 分层,很容易把计费失败误读成「长上下文失忆」。\n\n### Badcase Taxonomy Headline(eval_valid)\n\n| 错误类型 | 占全部 badcase 比例 | 首页结论 |\n|----------|:--:|---------|\n| 输出冗余但包含正确答案 | **66.1%** | DeepSeek 的主要短板更像抽取格式与回答收敛问题,而不是纯召回失败。 |\n| 被相似数字干扰 | **33.9%** | 相近数字、比例、时间和单位混排是当前最值得补样本的干扰模式。 |\n\n更细的按模型拆分见:`results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n\n### multi-hop Pilot\n\n| 模型 | N | EM | Contains | 95% CI | 说明 |\n|------|:--:|:--:|:--------:|:------:|------|\n| DeepSeek | 32 | 43.8% | 65.6% | 48.3% - 79.6% | 2-hop 74.1%,3-hop 20.0%;命中成本最低。 |\n| Qwen | 32 | 68.8% | 68.8% | 51.4% - 82.0% | 2-hop 74.1%,3-hop 40.0%;EM 更稳但成本更高。 |\n| Kimi | 32 | 50.0% | 56.2% | 39.3% - 71.8% | 2-hop 66.7%,**3-hop 0.0%**;长距离多步综合明显偏弱。 |\n\n当前 multi_hop 已覆盖 **3 个模型各 32 条**(事实分散嵌入 ~8000 字符长文)。按跳数拆分见:`results/v2/processed/summary_multihop_by_hops.csv`\n\n### Actionable Assets\n\n- 主口径 NIAH 汇总:`results/v2/processed/summary_by_model_niah_valid_only.csv`\n- 调用状态:`results/v2/processed/summary_call_status.csv`\n- badcase 总体汇总:`results/v2/processed/summary_by_badcase_taxonomy.csv`\n- badcase 按模型汇总:`results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- 代表性失败样本:`results/v2/processed/badcase_examples.csv`\n- 真实任务子集扩充路线:`results/v2/processed/real_task_subset_roadmap.csv`\n\n---\n\n## Methodology\n\nV2 相比 V1 的关键变化:\n\n1. 将单格重复数从 3 提高到 10,使 `context_length × depth_pct` 的统计更稳。\n2. 引入三类更难的中文 NIAH 变体:\n - `style_aligned`:needle 与上下文文风更接近。\n - `numeric_confusable`:存在多个相近数字或近义指标,不能靠关键词秒取。\n - `multi_key`:同时插入 target 和 distractor,需要做更精细的定位。\n3. 增加 V2 效率指标:`response_chars`、`completion_tokens`、`row_cost_cny`、`cost_per_contains_hit_cny`、`contains_per_1k_output_tokens`。\n4. 增加 **Scheme A 调用状态分层**:`eval_valid` / `content_filter` / `infra_api_failed`,模型能力指标默认只看 `eval_valid`。\n5. 所有 V2 数据、结果和 notebook 都与 V1 隔离,避免覆盖既有结论。\n\n本轮完整 V2 NIAH 规模为:\n\n- 3 个模型:DeepSeek / Kimi / Qwen\n- 5 个长度:2K / 4K / 8K / 16K / 32K\n- 7 个深度点:0 / 10 / 25 / 50 / 75 / 90 / 100\n- 10 次重复\n- 合计 350 条样本 / 模型,1050 条 NIAH 原始调用\n\n---\n\n## Repository Layout\n\n```\nllm-long-context-eval-zh-V2/\n├── configs/\n│ ├── eval_config.yaml\n│ └── eval_config_v2.yaml\n├── data/\n│ ├── needles/\n│ │ ├── multihop_qa.json\n│ │ ├── multihop_qa_v2.json\n│ │ └── v2_needle_bank.json\n│ ├── processed/\n│ └── processed/v2/\n├── docs/\n│ ├── eval_design.md\n│ └── eval_design_v2.md\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ ├── 04_report.ipynb\n│ └── v2/\n├── results/\n│ ├── figures/\n│ ├── processed/\n│ ├── raw/\n│ └── v2/\n│ ├── figures/\n│ ├── processed/\n│ └── raw/\n└── src/\n ├── data_prep.py\n ├── data_prep_v2.py\n ├── eval_runner.py\n ├── eval_runner_v2.py\n ├── metrics.py\n ├── metrics_v2.py\n └── visualize.py\n```\n\n---\n\n## Reproduce V2\n\n### 1. Install\n\n```bash\npip install -r requirements.txt\n```\n\n### 2. Configure API keys\n\n```bash\ncp .env.example .env\n# fill in DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY\n```\n\n> **Kimi NIAH 必须使用 `MOONSHOT_API_KEY`(`api.moonshot.cn`)。** `KIMI_API_KEY` 仅适用于 Kimi Coding Agent,无法调用 `moonshot-v1-128k`。\n\n### 3. Generate V2 datasets\n\n```bash\npython src/data_prep_v2.py\n```\n\n或直接运行:\n\n```\nnotebooks/v2/01_data_preparation_v2.ipynb\n```\n\n### 4. Run V2 evaluation\n\n```\nnotebooks/v2/02_eval_runner_v2.ipynb\n```\n\n### 5. Run V2 analysis and report\n\n```\nnotebooks/v2/03_analysis_visualization_v2.ipynb\nnotebooks/v2/04_report_v2.ipynb\n```\n\n或一键重评分 + 出图(主口径 eval_valid):\n\n```bash\npython scripts/rerun_kimi_v2.py --analyze-only\npython scripts/regenerate_v2_figures.py\n```\n\nV2 关键产物路径:\n\n- `results/v2/raw/raw_results.csv`\n- `results/v2/processed/scored_results.csv`\n- `results/v2/processed/summary_by_model_niah_valid_only.csv` ← **主口径 headline**\n- `results/v2/processed/summary_call_status.csv`\n- `results/v2/processed/summary_by_model_variant.csv`\n- `results/v2/processed/summary_by_model_length.csv`\n- `results/v2/processed/summary_by_model_task.csv`\n- `results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- `results/v2/processed/summary_by_badcase_taxonomy.csv`\n- `results/v2/processed/badcase_examples.csv`\n- `results/v2/processed/real_task_subset_roadmap.csv`\n- `results/v2/figures/*.png`\n\n---\n\n## Current Limits\n\n- `multi_hop` 已覆盖 3 个模型各 32 条(96 条合计)。3-hop 仍是共同短板:Kimi 3-hop Contains 为 **0.0%**,DeepSeek 仅 20.0%,Qwen 相对最好(40.0%)。\n- Kimi 有 31 条 `content_filter` 样本无法通过重试恢复,需要在数据层替换敏感 haystack 或接受「平台审核盲区」作为独立统计维度。\n- DeepSeek / Qwen 各有约 31 条基础设施失败样本,长上下文评测应始终保留 `error` + `prompt_tokens` 字段以便事后诊断。\n- badcase taxonomy 已经能指导下一轮数据策略,但规则仍是启发式首版,后续值得补更细的抽错值 / 单位混淆 / 时间推理子类。\n\n---\n\n## References\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n"}, "466bbe23345ddd5617628f7ad42e6dc27e1d5e4a": {"t": 1785772156.980435, "n": 9229, "h": "e8fa89c6945375cd", "c": "# LLM 长上下文能力评测框架 V2\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/actions/workflows/lint.yml)\n[](LICENSE)\n[](#v2-results)\n[](#multi-hop-pilot)\n[](#v2-results)\n[](#methodology)\n[](#v2-results)\n\n> 面向中文长上下文场景的 **V2 基准仓库**。这一版把单格重复数从 3 提高到 10,并引入 `style_aligned`、`numeric_confusable`、`multi_key` 三类更难的中文 NIAH 变体。\n>\n> 当前仓库包含 **完整 V2 结果层**:3 个模型、5 个上下文长度、7 个深度点、10 次重复,共 **1050 条 NIAH 原始调用 + 64 条 multi_hop 结果**,附带 `results/v2/` 下的汇总表、taxonomy CSV 与报告图表。\n>\n> **主口径说明(Scheme A)**:报告中的模型能力指标默认基于 `eval_valid` 有效样本,排除 `content_filter`(平台内容审核拦截)与 `infra_api_failed`(余额耗尽、限流等基础设施失败)。这些失败不应计入模型检索能力。\n\nV1 基线仓库见:[llm-long-context-eval-zh](https://github.com/melody-ling-L/llm-long-context-eval-zh)\n\n---\n\n## GitHub 直接查看\n\n- GitHub 渲染报告:`results/v2/report/04_report_v2.executed.ipynb`\n- 源 notebook:`notebooks/v2/04_report_v2.ipynb`\n- HTML 下载版:[v2.0.0 HTML 报告](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/releases/tag/v2.0.0)\n- **主口径 NIAH 汇总**:`results/v2/processed/summary_by_model_niah_valid_only.csv`\n- 调用状态诊断:`results/v2/processed/summary_call_status.csv`\n- badcase taxonomy 汇总:`results/v2/processed/summary_by_badcase_taxonomy.csv`\n- 任务级汇总:`results/v2/processed/summary_by_model_task.csv`\n\n---\n\n## V2 Results\n\n| DeepSeek | Kimi | Qwen |\n|---|---|---|\n|  |  |  |\n\n| Accuracy by Length with 95% CI | Efficiency Tradeoff |\n|---|---|\n|  |  |\n\n### NIAH Headline Metrics(eval_valid 主口径)\n\n| 模型 | eval_valid / 350 | EM | Contains | 95% CI | 平均延迟 | 平均输出 tokens | 单位命中成本 |\n|------|:--:|:--:|:--------:|:------:|:-------:|:-------------:|:------------:|\n| DeepSeek | 328 | 65.2% | **96.6%** | 94.1% - 98.1% | **0.78s** | 5.1 | **¥0.0057 / hit** |\n| Kimi | 319 | **89.7%** | 94.4% | 91.3% - 96.4% | 2.25s | 6.8 | ¥0.6388 / hit |\n| Qwen | 319 | 87.8% | 89.3% | 85.5% - 92.3% | 7.83s | 6.1 | ¥0.0397 / hit |\n\n> 若直接对全部 350 条原始行取平均,Kimi Contains 会虚降至 **86.0%**(含 31 条 `content_filter` 与早期 32K 基础设施失败)。**请勿用该数字作为 headline。**\n\n### 调用状态诊断\n\n| 模型 | 总调用 | eval_valid | content_filter | infra_api_failed |\n|------|:--:|:--:|:--:|:--:|\n| DeepSeek | 350 | 328 (93.7%) | 0 | 22 (6.3%) |\n| Kimi | 350 | 319 (91.1%) | **31 (8.9%)** | 0 |\n| Qwen | 350 | 319 (91.1%) | 0 | 31 (8.9%) |\n\n- **Kimi `content_filter`**:Moonshot 平台对含政治/经济敏感百科 haystack 的 31 条样本触发「高风险内容」拦截,与模型检索能力无关。\n- **DeepSeek / Qwen `infra_api_failed`**:主要为部分长度点的 API 超时或调用失败(`prompt_tokens=0`),已在 `eval_valid` 口径中排除。\n\n### Variant Breakdown(eval_valid)\n\n| 模型 | style_aligned | numeric_confusable | multi_key |\n|------|:--:|:--:|:--:|\n| DeepSeek | **100.0%** | 89.9% | **100.0%** |\n| Kimi | **100.0%** | 82.9% | **100.0%** |\n| Qwen | **100.0%** | **67.6%** | **100.0%** |\n\n### 按上下文长度(eval_valid Contains)\n\n| 模型 | 2K | 4K | 8K | 16K | 32K |\n|------|:--:|:--:|:--:|:--:|:--:|\n| DeepSeek | 97.1% | 98.4% | 95.1% | 93.8% | 98.6% |\n| Kimi | 90.0% | 90.5% | 95.1% | 96.9% | **100.0%** |\n| Qwen | 87.1% | 87.3% | 86.9% | 90.6% | 95.1% |\n\n### Key Findings\n\n- **DeepSeek 在 V2 eval_valid 口径下拿到最高 Contains(96.6%)和最低单位命中成本(¥0.0057 / hit)。** 综合效率仍是三者中最强。\n- **Kimi 32K 并非模型能力塌陷。** 早期 README 中「32K 0% / 稳定失效」来自 Moonshot **余额耗尽**(`prompt_tokens=0`)与后续 **content_filter** 叠加;在 61 条 eval_valid 32K 样本上,Kimi Contains 为 **100.0%**。\n- **`numeric_confusable` 仍是平均最难的变体。** Qwen 仅 67.6%,Kimi 82.9%,DeepSeek 89.9%;相近数字 / 字符串干扰比 style 对齐或多 key 干扰更稳定地击穿检索表现。\n- **badcase taxonomy(eval_valid)显示主要短板是答案格式而非纯召回失败。** 「输出冗余但包含正确答案」占 **66.1%**,「被相似数字干扰」占 **33.9%**;DeepSeek 的主要问题更像抽取格式与回答收敛,而不是找不到 needle。\n- **16K / 32K 在 V2 中不再表现为「所有模型统一退化」。** DeepSeek 与 Kimi 在 32K 均保持高位,Qwen 在 16K / 32K 也回升;更高重复数把「模型差异」和「基础设施噪声」都放大了出来。\n- **评测工程教训:必须持久化 `error` 字段并区分失败类型。** 没有 `content_filter` / `infra_api_failed` 分层,很容易把计费失败误读成「长上下文失忆」。\n\n### Badcase Taxonomy Headline(eval_valid)\n\n| 错误类型 | 占全部 badcase 比例 | 首页结论 |\n|----------|:--:|---------|\n| 输出冗余但包含正确答案 | **66.1%** | DeepSeek 的主要短板更像抽取格式与回答收敛问题,而不是纯召回失败。 |\n| 被相似数字干扰 | **33.9%** | 相近数字、比例、时间和单位混排是当前最值得补样本的干扰模式。 |\n\n更细的按模型拆分见:`results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n\n### multi-hop Pilot\n\n| 模型 | N | EM | Contains | 95% CI | 说明 |\n|------|:--:|:--:|:--------:|:------:|------|\n| DeepSeek | 32 | 43.8% | 65.6% | 48.3% - 79.6% | 2-hop 74.1%,3-hop 20.0%;命中成本最低。 |\n| Qwen | 32 | 68.8% | 68.8% | 51.4% - 82.0% | 2-hop 74.1%,3-hop 40.0%;EM 更稳但成本更高。 |\n| Kimi | — | — | — | — | 当前 multi_hop 尚未跑 Kimi。 |\n\n当前 multi_hop 不是「已生成待处理」的数据,而是已经正式并入统一报告的第一版真实任务切片。按跳数拆分见:`results/v2/processed/summary_multihop_by_hops.csv`\n\n### Actionable Assets\n\n- 主口径 NIAH 汇总:`results/v2/processed/summary_by_model_niah_valid_only.csv`\n- 调用状态:`results/v2/processed/summary_call_status.csv`\n- badcase 总体汇总:`results/v2/processed/summary_by_badcase_taxonomy.csv`\n- badcase 按模型汇总:`results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- 代表性失败样本:`results/v2/processed/badcase_examples.csv`\n- 真实任务子集扩充路线:`results/v2/processed/real_task_subset_roadmap.csv`\n\n---\n\n## Methodology\n\nV2 相比 V1 的关键变化:\n\n1. 将单格重复数从 3 提高到 10,使 `context_length × depth_pct` 的统计更稳。\n2. 引入三类更难的中文 NIAH 变体:\n - `style_aligned`:needle 与上下文文风更接近。\n - `numeric_confusable`:存在多个相近数字或近义指标,不能靠关键词秒取。\n - `multi_key`:同时插入 target 和 distractor,需要做更精细的定位。\n3. 增加 V2 效率指标:`response_chars`、`completion_tokens`、`row_cost_cny`、`cost_per_contains_hit_cny`、`contains_per_1k_output_tokens`。\n4. 增加 **Scheme A 调用状态分层**:`eval_valid` / `content_filter` / `infra_api_failed`,模型能力指标默认只看 `eval_valid`。\n5. 所有 V2 数据、结果和 notebook 都与 V1 隔离,避免覆盖既有结论。\n\n本轮完整 V2 NIAH 规模为:\n\n- 3 个模型:DeepSeek / Kimi / Qwen\n- 5 个长度:2K / 4K / 8K / 16K / 32K\n- 7 个深度点:0 / 10 / 25 / 50 / 75 / 90 / 100\n- 10 次重复\n- 合计 350 条样本 / 模型,1050 条 NIAH 原始调用\n\n---\n\n## Repository Layout\n\n```\nllm-long-context-eval-zh-V2/\n├── configs/\n│ ├── eval_config.yaml\n│ └── eval_config_v2.yaml\n├── data/\n│ ├── needles/\n│ │ ├── multihop_qa.json\n│ │ ├── multihop_qa_v2.json\n│ │ └── v2_needle_bank.json\n│ ├── processed/\n│ └── processed/v2/\n├── docs/\n│ ├── eval_design.md\n│ └── eval_design_v2.md\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ ├── 04_report.ipynb\n│ └── v2/\n├── results/\n│ ├── figures/\n│ ├── processed/\n│ ├── raw/\n│ └── v2/\n│ ├── figures/\n│ ├── processed/\n│ └── raw/\n└── src/\n ├── data_prep.py\n ├── data_prep_v2.py\n ├── eval_runner.py\n ├── eval_runner_v2.py\n ├── metrics.py\n ├── metrics_v2.py\n └── visualize.py\n```\n\n---\n\n## Reproduce V2\n\n### 1. Install\n\n```bash\npip install -r requirements.txt\n```\n\n### 2. Configure API keys\n\n```bash\ncp .env.example .env\n# fill in DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY\n```\n\n> **Kimi NIAH 必须使用 `MOONSHOT_API_KEY`(`api.moonshot.cn`)。** `KIMI_API_KEY` 仅适用于 Kimi Coding Agent,无法调用 `moonshot-v1-128k`。\n\n### 3. Generate V2 datasets\n\n```bash\npython src/data_prep_v2.py\n```\n\n或直接运行:\n\n```\nnotebooks/v2/01_data_preparation_v2.ipynb\n```\n\n### 4. Run V2 evaluation\n\n```\nnotebooks/v2/02_eval_runner_v2.ipynb\n```\n\n### 5. Run V2 analysis and report\n\n```\nnotebooks/v2/03_analysis_visualization_v2.ipynb\nnotebooks/v2/04_report_v2.ipynb\n```\n\n或一键重评分 + 出图(主口径 eval_valid):\n\n```bash\npython scripts/rerun_kimi_v2.py --analyze-only\npython scripts/regenerate_v2_figures.py\n```\n\nV2 关键产物路径:\n\n- `results/v2/raw/raw_results.csv`\n- `results/v2/processed/scored_results.csv`\n- `results/v2/processed/summary_by_model_niah_valid_only.csv` ← **主口径 headline**\n- `results/v2/processed/summary_call_status.csv`\n- `results/v2/processed/summary_by_model_variant.csv`\n- `results/v2/processed/summary_by_model_length.csv`\n- `results/v2/processed/summary_by_model_task.csv`\n- `results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- `results/v2/processed/summary_by_badcase_taxonomy.csv`\n- `results/v2/processed/badcase_examples.csv`\n- `results/v2/processed/real_task_subset_roadmap.csv`\n- `results/v2/figures/*.png`\n\n---\n\n## Current Limits\n\n- `multi_hop` 已正式进入统一报告,但当前只有 64 条结果(DeepSeek / Qwen 各 32 条),更适合作为 real-task pilot,而不是最终泛化排序依据;Kimi multi_hop 尚未跑。\n- Kimi 有 31 条 `content_filter` 样本无法通过重试恢复,需要在数据层替换敏感 haystack 或接受「平台审核盲区」作为独立统计维度。\n- DeepSeek / Qwen 各有约 31 条基础设施失败样本,长上下文评测应始终保留 `error` + `prompt_tokens` 字段以便事后诊断。\n- badcase taxonomy 已经能指导下一轮数据策略,但规则仍是启发式首版,后续值得补更细的抽错值 / 单位混淆 / 时间推理子类。\n\n---\n\n## References\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n"}, "db243c09bf1f7b5b6aa6119ba0b141b52b230289": {"t": 1785772158.2888997, "n": 7996, "h": "f64dee6de3fd8998", "c": "# LLM 长上下文能力评测框架 V2\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/actions/workflows/lint.yml)\n[](LICENSE)\n[](#v2-results)\n[](results/v2/processed/summary_by_model_task.csv)\n[](#v2-results)\n[](#methodology)\n[](#v2-results)\n\n> 面向中文长上下文场景的 **V2 基准仓库**。这一版把单格重复数从 3 提高到 10,并引入 `style_aligned`、`numeric_confusable`、`multi_key` 三类更难的中文 NIAH 变体。\n>\n> 当前仓库已经包含 **完整 V2 结果层**:3 个模型、5 个上下文长度、7 个深度点、10 次重复,共 **1050 条 NIAH 结果 + 12 条 multi_hop pilot 结果**,附带 `results/v2/` 下的汇总表、taxonomy CSV 与报告图表。\n\nV1 基线仓库见:[llm-long-context-eval-zh](https://github.com/melody-ling-L/llm-long-context-eval-zh)\n\n---\n\n## GitHub 直接查看\n\n- GitHub 渲染报告:[`results/v2/report/04_report_v2.executed.ipynb`](results/v2/report/04_report_v2.executed.ipynb)\n- 源 notebook:[`notebooks/v2/04_report_v2.ipynb`](notebooks/v2/04_report_v2.ipynb)\n- HTML 下载版:[`v2.0.0 HTML 报告`](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/releases/download/v2.0.0/llm-long-context-eval-zh-V2-report.html)\n- badcase taxonomy 汇总:[`results/v2/processed/summary_by_badcase_taxonomy.csv`](results/v2/processed/summary_by_badcase_taxonomy.csv)\n- 任务级汇总:[`results/v2/processed/summary_by_model_task.csv`](results/v2/processed/summary_by_model_task.csv)\n\n---\n\n## V2 Results\n\n| DeepSeek | Kimi | Qwen |\n|---|---|---|\n|  |  |  |\n\n| Accuracy by Length with 95% CI | Efficiency Tradeoff |\n|---|---|\n|  |  |\n\n### NIAH Headline Metrics\n\n| 模型 | N | EM | Contains | 95% CI | 平均延迟 | 平均输出 tokens | 单位命中成本 |\n|---|---:|---:|---:|---:|---:|---:|---:|\n| DeepSeek | 350 | 61.1% | **90.6%** | 87.1% - 93.2% | **0.73s** | 4.8 | **¥0.0057 / hit** |\n| Kimi | 350 | 58.9% | 63.1% | 58.0% - 68.0% | 1.06s | **4.5** | ¥0.3919 / hit |\n| Qwen | 350 | **80.0%** | 81.4% | 77.0% - 85.2% | 7.14s | 5.5 | ¥0.0397 / hit |\n\n### Variant Breakdown\n\n| 模型 | style_aligned | numeric_confusable | multi_key |\n|---|---:|---:|---:|\n| DeepSeek | **94.0%** | 86.0% | 91.7% |\n| Kimi | 69.8% | 53.5% | 65.8% |\n| Qwen | 89.7% | 62.3% | **91.7%** |\n\n### Key Findings\n\n- **DeepSeek 在 V2 中拿到了最高的 Contains 和最低的单位命中成本。** 90.6% 的 Contains 配合 ¥0.0057 / hit,使它成为当前这版 V2 中最强的综合效率模型。\n- **`numeric_confusable` 是平均最难的变体。** 这说明相近数字 / 字符串干扰比 style 对齐或多 key 干扰更稳定地击穿检索表现,应该被视为 V2 的 headline insight。\n- **badcase taxonomy 已经把 V2 从“统计结果”推进成“可指导优化”的评测资产。** 当前最常见错误不再是完全没找到,而是“输出冗余但包含正确答案”(35.1%),而真正的检索鲁棒性问题则主要集中在“被相似数字干扰”(32.0%)和“多 key 条件下定位失败”(17.4%)。\n- **Kimi 在 32K 上不是轻微波动,而是接近稳定失效。** 当前 32K 汇总为 0.0%,Wilson 95% CI 上界也只有 5.2%,更像真实塌陷而不是偶然抽样结果。\n- **multi_hop 已正式进入统一报告,但当前仍是 real-task pilot。** 3 个模型各有 4 条正式 multi_hop 结果,Contains 当前都在 50.0%,95% CI 仍宽到 [15.0, 85.0];它已经足够用于暴露真实业务口径短板,但还不足以做最终排序。\n- **16K / 32K 在 V2 中不再表现为“所有模型统一退化”。** DeepSeek 在 32K 出现强反弹,Qwen 在 16K 和 32K 基本持平,Kimi 则在 32K 崩塌。这说明更高重复数确实把“模型差异”放大了出来。\n\n### Badcase Taxonomy Headline\n\n| 错误类型 | 占全部 badcase 比例 | 首页结论 |\n|---|---:|---|\n| 输出冗余但包含正确答案 | **35.1%** | DeepSeek 的主要短板更像抽取格式与回答收敛问题,而不是纯召回失败。 |\n| 被相似数字干扰 | **32.0%** | 说明相近数字、比例、时间和单位混排是当前最值得补样本的干扰模式。 |\n| 多 key 条件下定位失败 | 17.4% | 说明模型在 target / distractor 并存时仍容易抓到相邻信息,尤其 Kimi 更明显。 |\n\n更细的按模型拆分已导出到:[`results/v2/processed/summary_by_model_badcase_taxonomy.csv`](results/v2/processed/summary_by_model_badcase_taxonomy.csv)\n\n### multi-hop Pilot\n\n| 模型 | N | EM | Contains | 95% CI | 说明 |\n|---|---:|---:|---:|---:|---|\n| DeepSeek | 4 | 50.0% | 50.0% | 15.0% - 85.0% | 当前 multi_hop 命中成本最低,但样本仍太少。 |\n| Kimi | 4 | 25.0% | 50.0% | 15.0% - 85.0% | Contains 能命中,但严格答案格式更不稳定。 |\n| Qwen | 4 | 50.0% | 50.0% | 15.0% - 85.0% | 与 DeepSeek 在 pilot 上接近,但成本更高。 |\n\n当前 multi_hop 不是“已生成待处理”的数据,而是已经正式并入统一报告的第一版真实任务切片。任务级汇总见:[`results/v2/processed/summary_by_model_task.csv`](results/v2/processed/summary_by_model_task.csv)\n\n### Actionable Assets\n\n- badcase 总体汇总:[`results/v2/processed/summary_by_badcase_taxonomy.csv`](results/v2/processed/summary_by_badcase_taxonomy.csv)\n- badcase 按模型汇总:[`results/v2/processed/summary_by_model_badcase_taxonomy.csv`](results/v2/processed/summary_by_model_badcase_taxonomy.csv)\n- 代表性失败样本:[`results/v2/processed/badcase_examples.csv`](results/v2/processed/badcase_examples.csv)\n- 真实任务子集扩充路线:[`results/v2/processed/real_task_subset_roadmap.csv`](results/v2/processed/real_task_subset_roadmap.csv)\n\n---\n\n## Methodology\n\nV2 相比 V1 的关键变化:\n\n1. 将单格重复数从 3 提高到 10,使 `context_length × depth_pct` 的统计更稳。\n2. 引入三类更难的中文 NIAH 变体:\n - `style_aligned`:needle 与上下文文风更接近。\n - `numeric_confusable`:存在多个相近数字或近义指标,不能靠关键词秒取。\n - `multi_key`:同时插入 target 和 distractor,需要做更精细的定位。\n3. 增加 V2 效率指标:`response_chars`、`completion_tokens`、`row_cost_cny`、`cost_per_contains_hit_cny`、`contains_per_1k_output_tokens`。\n4. 所有 V2 数据、结果和 notebook 都与 V1 隔离,避免覆盖既有结论。\n\n本轮完整 V2 NIAH 规模为:\n\n- 3 个模型:DeepSeek / Kimi / Qwen\n- 5 个长度:2K / 4K / 8K / 16K / 32K\n- 7 个深度点:0 / 10 / 25 / 50 / 75 / 90 / 100\n- 10 次重复\n- 合计 350 条样本 / 模型,1050 条评测结果\n\n---\n\n## Repository Layout\n\n```text\nllm-long-context-eval-zh-V2/\n├── configs/\n│ ├── eval_config.yaml\n│ └── eval_config_v2.yaml\n├── data/\n│ ├── needles/\n│ │ ├── multihop_qa.json\n│ │ ├── multihop_qa_v2.json\n│ │ └── v2_needle_bank.json\n│ ├── processed/\n│ └── processed/v2/\n├── docs/\n│ ├── eval_design.md\n│ └── eval_design_v2.md\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ ├── 04_report.ipynb\n│ └── v2/\n├── results/\n│ ├── figures/\n│ ├── processed/\n│ ├── raw/\n│ └── v2/\n│ ├── figures/\n│ ├── processed/\n│ └── raw/\n└── src/\n ├── data_prep.py\n ├── data_prep_v2.py\n ├── eval_runner.py\n ├── eval_runner_v2.py\n ├── metrics.py\n ├── metrics_v2.py\n └── visualize.py\n```\n\n---\n\n## Reproduce V2\n\n### 1. Install\n\n```bash\npip install -r requirements.txt\n```\n\n### 2. Configure API keys\n\n```bash\ncp .env.example .env\n# fill in DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY\n```\n\n### 3. Generate V2 datasets\n\n```bash\npython src/data_prep_v2.py\n```\n\n或直接运行:\n\n```text\nnotebooks/v2/01_data_preparation_v2.ipynb\n```\n\n### 4. Run V2 evaluation\n\n```text\nnotebooks/v2/02_eval_runner_v2.ipynb\n```\n\n### 5. Run V2 analysis and report\n\n```text\nnotebooks/v2/03_analysis_visualization_v2.ipynb\nnotebooks/v2/04_report_v2.ipynb\n```\n\nV2 关键产物路径:\n\n- `results/v2/raw/raw_results.csv`\n- `results/v2/processed/scored_results.csv`\n- `results/v2/processed/summary_by_model.csv`\n- `results/v2/processed/summary_by_model_variant.csv`\n- `results/v2/processed/summary_by_model_length.csv`\n- `results/v2/processed/summary_by_model_task.csv`\n- `results/v2/processed/summary_by_model_badcase_taxonomy.csv`\n- `results/v2/processed/summary_by_badcase_taxonomy.csv`\n- `results/v2/processed/badcase_examples.csv`\n- `results/v2/processed/real_task_subset_roadmap.csv`\n- `results/v2/figures/*.png`\n\n---\n\n## Current Limits\n\n- `multi_hop` 已正式进入统一报告,但当前只有 12 条结果(4 条 / 模型),更适合作为 real-task pilot,而不是最终泛化排序依据。\n- Kimi 在 32K 上的极差结果,在当前配置下更像稳定失效信号;但如果要追到根因,仍需要单独排查模型接口、提示词与上下文策略。\n- badcase taxonomy 已经能指导下一轮数据策略,但规则仍是启发式首版,后续值得补更细的抽错值 / 单位混淆 / 时间推理子类。\n\n---\n\n## References\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n"}, "b572b71131b189bdc57ffe9b894455c0336c3a76": {"t": 1785772159.4898732, "n": 5607, "h": "f8b3597a9868ec62", "c": "# LLM 长上下文能力评测框架 V2\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/actions/workflows/lint.yml)\n[](LICENSE)\n[](#v2-results)\n[](#v2-results)\n[](#methodology)\n[](#v2-results)\n\n> 面向中文长上下文场景的 **V2 基准仓库**。这一版把单格重复数从 3 提高到 10,并引入 `style_aligned`、`numeric_confusable`、`multi_key` 三类更难的中文 NIAH 变体。\n>\n> 当前仓库已经包含 **完整 V2 结果**:3 个模型、5 个上下文长度、7 个深度点、10 次重复,共 **1050 条有效 NIAH 评测结果**,附带 `results/v2/` 下的汇总表与图表。\n\nV1 基线仓库见:[llm-long-context-eval-zh](https://github.com/melody-ling-L/llm-long-context-eval-zh)\n\n---\n\n## GitHub 直接查看\n\n- GitHub 渲染报告:[`results/v2/report/04_report_v2.executed.ipynb`](results/v2/report/04_report_v2.executed.ipynb)\n- 源 notebook:[`notebooks/v2/04_report_v2.ipynb`](notebooks/v2/04_report_v2.ipynb)\n- HTML 下载版:[`v2.0.0 HTML 报告`](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/releases/download/v2.0.0/llm-long-context-eval-zh-V2-report.html)\n\n---\n\n## V2 Results\n\n| DeepSeek | Kimi | Qwen |\n|---|---|---|\n|  |  |  |\n\n| Accuracy by Length with 95% CI | Efficiency Tradeoff |\n|---|---|\n|  |  |\n\n### Headline Metrics\n\n| 模型 | N | EM | Contains | 95% CI | 平均延迟 | 平均输出 tokens | 单位命中成本 |\n|---|---:|---:|---:|---:|---:|---:|---:|\n| DeepSeek | 350 | 61.1% | **90.6%** | 87.1% - 93.2% | **0.73s** | 4.8 | **¥0.0057 / hit** |\n| Kimi | 350 | 58.9% | 63.1% | 58.0% - 68.0% | 1.06s | **4.5** | ¥0.3919 / hit |\n| Qwen | 350 | **80.0%** | 81.4% | 77.0% - 85.2% | 7.14s | 5.5 | ¥0.0397 / hit |\n\n### Variant Breakdown\n\n| 模型 | style_aligned | numeric_confusable | multi_key |\n|---|---:|---:|---:|\n| DeepSeek | **94.0%** | 86.0% | 91.7% |\n| Kimi | 69.8% | 53.5% | 65.8% |\n| Qwen | 89.7% | 62.3% | **91.7%** |\n\n### Key Findings\n\n- **DeepSeek 在 V2 中拿到了最高的 Contains 和最低的单位命中成本。** 90.6% 的 Contains 配合 ¥0.0057 / hit,使它成为当前这版 V2 中最强的综合效率模型。\n- **`numeric_confusable` 是平均最难的变体。** 这说明相近数字 / 字符串干扰比 style 对齐或多 key 干扰更稳定地击穿检索表现,应该被视为 V2 的 headline insight。\n- **Kimi 在 32K 上不是轻微波动,而是接近稳定失效。** 当前 32K 汇总为 0.0%,Wilson 95% CI 上界也只有 5.2%,更像真实塌陷而不是偶然抽样结果。\n- **16K / 32K 在 V2 中不再表现为“所有模型统一退化”。** DeepSeek 在 32K 出现强反弹,Qwen 在 16K 和 32K 基本持平,Kimi 则在 32K 崩塌。这说明更高重复数确实把“模型差异”放大了出来。\n\n---\n\n## Methodology\n\nV2 相比 V1 的关键变化:\n\n1. 将单格重复数从 3 提高到 10,使 `context_length × depth_pct` 的统计更稳。\n2. 引入三类更难的中文 NIAH 变体:\n - `style_aligned`:needle 与上下文文风更接近。\n - `numeric_confusable`:存在多个相近数字或近义指标,不能靠关键词秒取。\n - `multi_key`:同时插入 target 和 distractor,需要做更精细的定位。\n3. 增加 V2 效率指标:`response_chars`、`completion_tokens`、`row_cost_cny`、`cost_per_contains_hit_cny`、`contains_per_1k_output_tokens`。\n4. 所有 V2 数据、结果和 notebook 都与 V1 隔离,避免覆盖既有结论。\n\n本轮完整 V2 NIAH 规模为:\n\n- 3 个模型:DeepSeek / Kimi / Qwen\n- 5 个长度:2K / 4K / 8K / 16K / 32K\n- 7 个深度点:0 / 10 / 25 / 50 / 75 / 90 / 100\n- 10 次重复\n- 合计 350 条样本 / 模型,1050 条评测结果\n\n---\n\n## Repository Layout\n\n```text\nllm-long-context-eval-zh-V2/\n├── configs/\n│ ├── eval_config.yaml\n│ └── eval_config_v2.yaml\n├── data/\n│ ├── needles/\n│ │ ├── multihop_qa.json\n│ │ ├── multihop_qa_v2.json\n│ │ └── v2_needle_bank.json\n│ ├── processed/\n│ └── processed/v2/\n├── docs/\n│ ├── eval_design.md\n│ └── eval_design_v2.md\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ ├── 04_report.ipynb\n│ └── v2/\n├── results/\n│ ├── figures/\n│ ├── processed/\n│ ├── raw/\n│ └── v2/\n│ ├── figures/\n│ ├── processed/\n│ └── raw/\n└── src/\n ├── data_prep.py\n ├── data_prep_v2.py\n ├── eval_runner.py\n ├── eval_runner_v2.py\n ├── metrics.py\n ├── metrics_v2.py\n └── visualize.py\n```\n\n---\n\n## Reproduce V2\n\n### 1. Install\n\n```bash\npip install -r requirements.txt\n```\n\n### 2. Configure API keys\n\n```bash\ncp .env.example .env\n# fill in DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY\n```\n\n### 3. Generate V2 datasets\n\n```bash\npython src/data_prep_v2.py\n```\n\n或直接运行:\n\n```text\nnotebooks/v2/01_data_preparation_v2.ipynb\n```\n\n### 4. Run V2 evaluation\n\n```text\nnotebooks/v2/02_eval_runner_v2.ipynb\n```\n\n### 5. Run V2 analysis and report\n\n```text\nnotebooks/v2/03_analysis_visualization_v2.ipynb\nnotebooks/v2/04_report_v2.ipynb\n```\n\nV2 关键产物路径:\n\n- `results/v2/raw/raw_results.csv`\n- `results/v2/processed/scored_results.csv`\n- `results/v2/processed/summary_by_model.csv`\n- `results/v2/processed/summary_by_model_variant.csv`\n- `results/v2/processed/summary_by_model_length.csv`\n- `results/v2/figures/*.png`\n\n---\n\n## Current Limits\n\n- `multi_hop` 数据集已经生成到 `data/processed/v2/multihop_dataset.jsonl`,但当前对外主结论仍以 NIAH 为主。\n- Kimi 在 32K 上的极差结果,在当前配置下更像稳定失效信号;但如果要追到根因,仍需要单独排查模型接口、提示词与上下文策略。\n- 这版已经比 V1 稳很多,但仍是单轮公开快照;更完整的下一步应该是补齐 multi-hop 结果,并把跨任务摘要纳入同一份报告。\n\n---\n\n## References\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n"}, "c1905b90fcf7d7f9af3962c5b0b50610fca529e1": {"t": 1785772164.2672207, "n": 5235, "h": "51318c784858e8a5", "c": "# LLM 长上下文能力评测框架 V2\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/actions/workflows/lint.yml)\n[](LICENSE)\n[](#v2-results)\n[](#v2-results)\n[](#methodology)\n[](#v2-results)\n\n> 面向中文长上下文场景的 **V2 基准仓库**。这一版把单格重复数从 3 提高到 10,并引入 `style_aligned`、`numeric_confusable`、`multi_key` 三类更难的中文 NIAH 变体。\n>\n> 当前仓库已经包含 **完整 V2 结果**:3 个模型、5 个上下文长度、7 个深度点、10 次重复,共 **1050 条有效 NIAH 评测结果**,附带 `results/v2/` 下的汇总表与图表。\n\nV1 基线仓库见:[llm-long-context-eval-zh](https://github.com/melody-ling-L/llm-long-context-eval-zh)\n\n---\n\n## V2 Results\n\n| DeepSeek | Kimi | Qwen |\n|---|---|---|\n|  |  |  |\n\n| Accuracy by Length with 95% CI | Efficiency Tradeoff |\n|---|---|\n|  |  |\n\n### Headline Metrics\n\n| 模型 | N | EM | Contains | 95% CI | 平均延迟 | 平均输出 tokens | 单位命中成本 |\n|---|---:|---:|---:|---:|---:|---:|---:|\n| DeepSeek | 350 | 61.1% | **90.6%** | 87.1% - 93.2% | **0.73s** | 4.8 | **¥0.0057 / hit** |\n| Kimi | 350 | 58.9% | 63.1% | 58.0% - 68.0% | 1.06s | **4.5** | ¥0.3919 / hit |\n| Qwen | 350 | **80.0%** | 81.4% | 77.0% - 85.2% | 7.14s | 5.5 | ¥0.0397 / hit |\n\n### Variant Breakdown\n\n| 模型 | style_aligned | numeric_confusable | multi_key |\n|---|---:|---:|---:|\n| DeepSeek | **94.0%** | 86.0% | 91.7% |\n| Kimi | 69.8% | 53.5% | 65.8% |\n| Qwen | 89.7% | 62.3% | **91.7%** |\n\n### Key Findings\n\n- **DeepSeek 在 V2 中拿到了最高的 Contains 和最低的单位命中成本。** 90.6% 的 Contains 配合 ¥0.0057 / hit,使它成为当前这版 V2 中最强的综合效率模型。\n- **`numeric_confusable` 是平均最难的变体。** 这说明相近数字 / 字符串干扰比 style 对齐或多 key 干扰更稳定地击穿检索表现,应该被视为 V2 的 headline insight。\n- **Kimi 在 32K 上不是轻微波动,而是接近稳定失效。** 当前 32K 汇总为 0.0%,Wilson 95% CI 上界也只有 5.2%,更像真实塌陷而不是偶然抽样结果。\n- **16K / 32K 在 V2 中不再表现为“所有模型统一退化”。** DeepSeek 在 32K 出现强反弹,Qwen 在 16K 和 32K 基本持平,Kimi 则在 32K 崩塌。这说明更高重复数确实把“模型差异”放大了出来。\n\n---\n\n## Methodology\n\nV2 相比 V1 的关键变化:\n\n1. 将单格重复数从 3 提高到 10,使 `context_length × depth_pct` 的统计更稳。\n2. 引入三类更难的中文 NIAH 变体:\n - `style_aligned`:needle 与上下文文风更接近。\n - `numeric_confusable`:存在多个相近数字或近义指标,不能靠关键词秒取。\n - `multi_key`:同时插入 target 和 distractor,需要做更精细的定位。\n3. 增加 V2 效率指标:`response_chars`、`completion_tokens`、`row_cost_cny`、`cost_per_contains_hit_cny`、`contains_per_1k_output_tokens`。\n4. 所有 V2 数据、结果和 notebook 都与 V1 隔离,避免覆盖既有结论。\n\n本轮完整 V2 NIAH 规模为:\n\n- 3 个模型:DeepSeek / Kimi / Qwen\n- 5 个长度:2K / 4K / 8K / 16K / 32K\n- 7 个深度点:0 / 10 / 25 / 50 / 75 / 90 / 100\n- 10 次重复\n- 合计 350 条样本 / 模型,1050 条评测结果\n\n---\n\n## Repository Layout\n\n```text\nllm-long-context-eval-zh-V2/\n├── configs/\n│ ├── eval_config.yaml\n│ └── eval_config_v2.yaml\n├── data/\n│ ├── needles/\n│ │ ├── multihop_qa.json\n│ │ ├── multihop_qa_v2.json\n│ │ └── v2_needle_bank.json\n│ ├── processed/\n│ └── processed/v2/\n├── docs/\n│ ├── eval_design.md\n│ └── eval_design_v2.md\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ ├── 04_report.ipynb\n│ └── v2/\n├── results/\n│ ├── figures/\n│ ├── processed/\n│ ├── raw/\n│ └── v2/\n│ ├── figures/\n│ ├── processed/\n│ └── raw/\n└── src/\n ├── data_prep.py\n ├── data_prep_v2.py\n ├── eval_runner.py\n ├── eval_runner_v2.py\n ├── metrics.py\n ├── metrics_v2.py\n └── visualize.py\n```\n\n---\n\n## Reproduce V2\n\n### 1. Install\n\n```bash\npip install -r requirements.txt\n```\n\n### 2. Configure API keys\n\n```bash\ncp .env.example .env\n# fill in DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY\n```\n\n### 3. Generate V2 datasets\n\n```bash\npython src/data_prep_v2.py\n```\n\n或直接运行:\n\n```text\nnotebooks/v2/01_data_preparation_v2.ipynb\n```\n\n### 4. Run V2 evaluation\n\n```text\nnotebooks/v2/02_eval_runner_v2.ipynb\n```\n\n### 5. Run V2 analysis and report\n\n```text\nnotebooks/v2/03_analysis_visualization_v2.ipynb\nnotebooks/v2/04_report_v2.ipynb\n```\n\nV2 关键产物路径:\n\n- `results/v2/raw/raw_results.csv`\n- `results/v2/processed/scored_results.csv`\n- `results/v2/processed/summary_by_model.csv`\n- `results/v2/processed/summary_by_model_variant.csv`\n- `results/v2/processed/summary_by_model_length.csv`\n- `results/v2/figures/*.png`\n\n---\n\n## Current Limits\n\n- `multi_hop` 数据集已经生成到 `data/processed/v2/multihop_dataset.jsonl`,但当前对外主结论仍以 NIAH 为主。\n- Kimi 在 32K 上的极差结果,在当前配置下更像稳定失效信号;但如果要追到根因,仍需要单独排查模型接口、提示词与上下文策略。\n- 这版已经比 V1 稳很多,但仍是单轮公开快照;更完整的下一步应该是补齐 multi-hop 结果,并把跨任务摘要纳入同一份报告。\n\n---\n\n## References\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n"}, "06cba914a50f065bcc50450cfb826e649e9559ca": {"t": 1785772166.0554368, "n": 10688, "h": "203579ecd6170c56", "c": "# LLM 长上下文能力评测框架 V2\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh-V2/actions/workflows/lint.yml)\n[](LICENSE)\n[](#v2-results)\n[](#v2-results)\n[](#methodology)\n[](#v2-results)\n\n> 面向中文长上下文场景的 **V2 基准仓库**,在 V1 的基础上把重复数从 3 提升到 10,并引入 `style_aligned`、`numeric_confusable`、`multi_key` 三类更难的 NIAH 变体。\n>\n> 当前仓库已经包含 **完整 V2 结果**:3 个模型、5 个上下文长度、7 个深度点、10 次重复,共 **1050 条有效 NIAH 评测结果**,并附带 `results/v2/` 下的汇总表和图表。\n\nV1 基线仓库见:[llm-long-context-eval-zh](https://github.com/melody-ling-L/llm-long-context-eval-zh)\n\n---\n\n## V2 Results\n\n| DeepSeek | Kimi | Qwen |\n|---|---|---|\n|  |  |  |\n\n| Accuracy by Length | Efficiency Tradeoff |\n|---|---|\n|  |  |\n\n### Headline Metrics\n\n| 模型 | N | EM | Contains | 95% CI | 平均延迟 | 平均输出 tokens | 单位命中成本 |\n|---|---:|---:|---:|---:|---:|---:|---:|\n| DeepSeek | 350 | 61.1% | **90.6%** | 87.1% - 93.2% | **0.73s** | 4.8 | **¥0.0057 / hit** |\n| Kimi | 350 | 58.9% | 63.1% | 58.0% - 68.0% | 1.06s | **4.5** | ¥0.3919 / hit |\n| Qwen | 350 | **80.0%** | 81.4% | 77.0% - 85.2% | 7.14s | 5.5 | ¥0.0397 / hit |\n\n### Variant Breakdown\n\n| 模型 | style_aligned | numeric_confusable | multi_key |\n|---|---:|---:|---:|\n| DeepSeek | **94.0%** | 86.0% | 91.7% |\n| Kimi | 69.8% | 53.5% | 65.8% |\n| Qwen | 89.7% | 62.3% | **91.7%** |\n\n### Key Findings\n\n- **DeepSeek 在 V2 中拿到了最高的 Contains 和最低的单位命中成本。** 90.6% 的 Contains 配合 ¥0.0057 / hit,使它成为当前这版 V2 中最强的综合效率模型。\n- **Qwen 的严格精度仍然最高,但效率明显弱于 DeepSeek。** 它的 EM 达到 80.0%,说明答案更短、更贴近标准字符串;但平均延迟和单位成本都更高。\n- **Kimi 对更难变体和更长长度更脆弱。** `numeric_confusable` 是三类变体里最难的,而 Kimi 在 32K 上已经出现明显塌陷,当前 32K 汇总为 0.0%。\n- **16K / 32K 在 V2 中不再表现为“所有模型统一退化”。** DeepSeek 在 32K 出现强反弹,Qwen 在 16K 和 32K 持平,Kimi 则在 32K 崩塌。这说明更高重复数确实把“模型差异”放大了出来。\n\n---\n\n## Methodology\n\nV2 相比 V1 的关键变化:\n\n1. 将单格重复数从 3 提高到 10,使 `context_length × depth_pct` 的统计更稳。\n2. 引入三类更难的中文 NIAH 变体:\n - `style_aligned`:needle 与上下文文风更接近。\n - `numeric_confusable`:存在多个相近数字或近义指标,不能靠关键词秒取。\n - `multi_key`:同时插入 target 和 distractor,需要做更精细的定位。\n3. 增加 V2 效率指标:`response_chars`、`completion_tokens`、`row_cost_cny`、`cost_per_contains_hit_cny`、`contains_per_1k_output_tokens`。\n4. 所有 V2 数据、结果和 notebook 都与 V1 隔离,避免覆盖既有结论。\n\n本轮完整 V2 NIAH 规模为:\n\n- 3 个模型:DeepSeek / Kimi / Qwen\n- 5 个长度:2K / 4K / 8K / 16K / 32K\n- 7 个深度点:0 / 10 / 25 / 50 / 75 / 90 / 100\n- 10 次重复\n- 合计 350 条样本 / 模型,1050 条评测结果\n\n---\n\n## Repository Layout\n\n```text\nllm-long-context-eval-zh-V2/\n├── configs/\n│ ├── eval_config.yaml\n│ └── eval_config_v2.yaml\n├── data/\n│ ├── needles/\n│ │ ├── multihop_qa.json\n│ │ ├── multihop_qa_v2.json\n│ │ └── v2_needle_bank.json\n│ ├── processed/\n│ └── processed/v2/\n├── docs/\n│ ├── eval_design.md\n│ └── eval_design_v2.md\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ ├── 04_report.ipynb\n│ └── v2/\n├── results/\n│ ├── figures/\n│ ├── processed/\n│ ├── raw/\n│ └── v2/\n│ ├── figures/\n│ ├── processed/\n│ └── raw/\n└── src/\n\t├── data_prep.py\n\t├── data_prep_v2.py\n\t├── eval_runner.py\n\t├── eval_runner_v2.py\n\t├── metrics.py\n\t├── metrics_v2.py\n\t└── visualize.py\n```\n\n---\n\n## Reproduce V2\n\n### 1. Install\n\n```bash\npip install -r requirements.txt\n```\n\n### 2. Configure API keys\n\n```bash\ncp .env.example .env\n# fill in DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY\n```\n\n### 3. Generate V2 datasets\n\n```bash\npython src/data_prep_v2.py\n```\n\n或直接运行:\n\n```text\nnotebooks/v2/01_data_preparation_v2.ipynb\n```\n\n### 4. Run V2 evaluation\n\n```text\nnotebooks/v2/02_eval_runner_v2.ipynb\n```\n\n### 5. Run V2 analysis and report\n\n```text\nnotebooks/v2/03_analysis_visualization_v2.ipynb\nnotebooks/v2/04_report_v2.ipynb\n```\n\nV2 关键产物路径:\n\n- `results/v2/raw/raw_results.csv`\n- `results/v2/processed/scored_results.csv`\n- `results/v2/processed/summary_by_model.csv`\n- `results/v2/processed/summary_by_model_variant.csv`\n- `results/v2/processed/summary_by_model_length.csv`\n- `results/v2/figures/*.png`\n\n---\n\n## Current Limits\n\n- `multi_hop` 数据集已经生成到 `data/processed/v2/multihop_dataset.jsonl`,但当前对外主结论仍以 NIAH 为主。\n- Kimi 在 32K 的结果当前极差,这很可能是真实退化,也可能意味着该模型需要进一步单独排查接口或上下文策略。\n- 这版已经比 V1 稳很多,但仍是单轮公开快照;更完整的下一步应该是补齐 multi-hop 结果,并把跨任务摘要纳入同一份报告。\n\n---\n\n## References\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n# LLM 长上下文能力评测框架\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh/actions/workflows/lint.yml)\n[](LICENSE)\n[](#最终结果--final-v1)\n[](#最终结果--final-v1)\n[](#最终结果--final-v1)\n[](#预算估算)\n[](#最终结果--final-v1)\n\n> 面向中文长上下文场景的 NIAH / 位置偏差评测框架,用于验证 **\"Lost in the Middle\"** 是否稳定出现,以及不同模型是否真的能把长上下文用起来。\n>\n> 当前 README 展示的是 **final v1** 结果:已完成 **315 / 315** 条有效样本,覆盖率 **100%**。这版结论可以作为项目定稿发布;下一步优化重点不再是“补齐数据”,而是提升统计置信度和评测难度。\n\n---\n\n## 最终结果 / Final v1\n\n| DeepSeek-V3 | Kimi | Qwen-Long |\n|---|---|---|\n|  |  |  |\n\n本轮完整评测共 **315 条有效样本**:3 个模型 × 5 个上下文长度 × 7 个深度点 × 3 次重复。每个模型在每个 `context_length × depth_pct` 格子中都恰好有 **3 次重复**,数据已经齐平。\n\n| 模型 | N | EM | Contains | Gap (Contains - EM) | 平均延迟 |\n|------|:--:|:--:|:--------:|:-------------------:|:-------:|\n| Qwen-Long | 105 | **80.0%** | **82.9%** | **2.9pp** | 1.10s |\n| DeepSeek-V3 | 105 | 64.8% | **82.9%** | 18.1pp | **1.01s** |\n| Kimi (Moonshot) | 105 | 65.7% | 76.2% | 10.5pp | 1.70s |\n\n### Key Findings\n\n- **位置偏差被完整复现,但形状更接近 W 型而不是标准 U 型。** 整体准确率在 depth=0% / 10% 时最高(91.1% / 86.7%),在 50% 处降到最低点(73.3%),75% 仍处低位(75.6%),随后在 90%-100% 回升到 80.0%。\n- **Qwen 的严格精度最高,DeepSeek 的综合效率最佳。** Qwen 的 EM 达到 80.0%,而 DeepSeek 用 1.01s 的平均延迟拿到了与 Qwen 持平的 Contains(82.9%);如果业务更看重“答对且答得短”,Qwen 更稳,如果更看重吞吐与成本,DeepSeek 更实用。\n- **Kimi 在长上下文下退化最明显。** Kimi 的 Contains 只有 76.2%,且在 8K 与 32K 场景都掉到 66.7%,同时平均延迟 1.70s,是三者中最慢的一档。\n- **16K 是这一轮中文 NIAH 的共同峰值。** DeepSeek 与 Qwen 在 16K 都达到 95.2%,Kimi 也达到 90.5%;当窗口扩到 32K 后,三个模型都出现回落,说明“支持更长 context window”不等于“对更长上下文的稳定利用”。\n\n## 实验局限 / Limitations\n\n- 这版数据已经完整,但**每个格子仍只有 3 次重复**。它足以支撑 v1 的方向性结论,却不足以对局部异常点做强统计推断;下一版应把重复数提升到 `N >= 10`。\n- 当前结果呈现 **W 型 / 双低谷结构**,而不是英文文献中的标准 U 型。这可能反映中文长文本的注意力分布差异,也可能仍受小样本波动影响,需要更高重复数才能做稳健判断。\n- 这版 NIAH 的 needle 与 haystack 风格差异较大,模型可能部分依赖关键词检索,而不是真正的长程语义整合。下一版需要引入**风格对齐的 needle**和 **multi-key NIAH**,降低模式匹配带来的虚高准确率。\n- EM 与 Contains 的差值不只是“评分松紧差异”,它也在测量模型的**答案简洁度**。后续版本应把答案长度、输出 token 成本与两类准确率一起纳入分析,而不只盯着正确率本身。\n\n## V2 Roadmap\n\n1. 把单格重复数从 3 提升到 10,收窄置信区间,验证 16K / 32K 段是否真的存在反弹或塌陷。\n2. 引入风格对齐的 needle、真假难辨的数值 needle,以及 multi-key NIAH,降低关键词检索偏置。\n3. 增加答案长度、输出 token、单位正确率成本等指标,把“答对”与“答得省”分开看。\n4. 扩展多跳推理和跨领域文档,验证结论能否从 NIAH 泛化到更贴近真实业务的中文长文档场景。\n\n---\n\n## 项目简介\n\n本项目评测主流 LLM(DeepSeek-V3、Kimi、Qwen-Long)在长上下文场景下的真实能力:\n- 官宣支持 128K,但模型真的能**用**这 128K 吗?\n- 信息藏在文档**中间**时,模型是否会\"失忆\"?\n\n---\n\n## 评测维度\n\n| 维度 | 说明 | 关键指标 |\n|---|---|---|\n| **NIAH** | Needle in a Haystack,在不同位置插入关键信息 | Accuracy @depth × length |\n| **多跳推理** | 信息分散在文档多处,需综合推理 | Multi-hop Accuracy |\n| **位置偏差** | 信息在开头/中间/结尾的准确率差异 | Position Bias Score |\n| **跨模型对比** | DeepSeek-V3 vs Kimi vs Qwen-Long | Δ Accuracy |\n\n---\n\n## 项目结构\n\n```\nEval/\n├── configs/\n│ └── eval_config.yaml # 模型配置、评测参数\n├── data/\n│ ├── raw/ # 放入原始长文档 (.txt / .md)\n│ ├── needles/ # 多跳推理 QA 标注文件\n│ └── processed/ # 生成的数据集 .jsonl\n├── src/\n│ ├── data_prep.py # 构造 NIAH / 多跳数据集\n│ ├── eval_runner.py # 调用模型 API,存储结果\n│ ├── metrics.py # EM / Contains 评分\n│ └── visualize.py # 热力图、折线图、位置偏差图\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ └── 04_report.ipynb\n├── results/\n│ ├── raw/ # 原始 API 结果 .csv\n│ ├── processed/ # 评分后结果 .csv\n│ └── figures/ # 可视化图表\n├── docs/\n│ └── eval_design.md # 评测方案设计文档\n├── .env.example # API Key 配置模板\n└── requirements.txt\n```\n\n---\n\n## 快速开始\n\n### 1. 安装依赖\n```bash\npip install -r requirements.txt\n```\n\n### 2. 配置 API Key\n```bash\ncp .env.example .env\n# 编辑 .env,填入各模型 API Key\n```\n\n### 3. 准备数据\n在 `data/raw/` 放入中文长文档(财报 PDF 转文本、论文、小说等),然后:\n```bash\npython src/data_prep.py\n```\n\n### 4. 运行评测(推荐在 Notebook 中逐步执行)\n```\nnotebooks/01_data_preparation.ipynb → 构造数据集\nnotebooks/02_eval_runner.ipynb → 调用模型 API\nnotebooks/03_analysis_visualization.ipynb → 分析 + 可视化\n```\n\n\n如何复现当前 final v1 结果
\n\n1. 运行 `notebooks/01_data_preparation.ipynb`,生成 `data/processed/niah_dataset.jsonl`。\n2. 运行 `notebooks/02_eval_runner.ipynb`,保持 `RESUME=True`,直到 `results/raw/raw_results.csv` 达到 315 条目标样本。\n3. 运行 `notebooks/03_analysis_visualization.ipynb`,确认 Step 1 输出 coverage = 100%,并生成 `results/figures/` 下的全部图表。\n4. 最后运行 `notebooks/04_report.ipynb`,导出最终报告 HTML。\n\n \n\n---\n\n## 预算估算\n\n| 模型 | 约 200 样本 × 平均 32K tokens |\n|---|---|\n| DeepSeek-V3 | ~¥5 |\n| Kimi (moonshot-v1-128k) | ~¥15 |\n| Qwen-Long | ~¥5 |\n\n---\n\n## 参考论文\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n\n---\n\n## 简历描述模板\n\n> **LLM 长上下文能力评测项目** | 个人项目\n> - 设计 4 维度评测框架(NIAH、多跳推理、位置偏差、跨模型对比),覆盖 200+ 测试样本\n> - 在 DeepSeek-V3、Kimi、Qwen-Long 上定量验证 \"Lost in the Middle\" 在中文场景的表现\n> - 输出位置-准确率热力图等可视化分析报告,[GitHub 链接]\n"}, "f2ada1255bd5c75eabccc605bf9d46e909f481b9": {"t": 1785772169.2650871, "n": 5535, "h": "654e1e9f23377661", "c": "# LLM 长上下文能力评测框架\n\n[](https://github.com/melody-ling-L/llm-long-context-eval-zh/actions/workflows/lint.yml)\n[](LICENSE)\n[](#最终结果--final-v1)\n[](#最终结果--final-v1)\n[](#最终结果--final-v1)\n[](#预算估算)\n[](#最终结果--final-v1)\n\n> 面向中文长上下文场景的 NIAH / 位置偏差评测框架,用于验证 **\"Lost in the Middle\"** 是否稳定出现,以及不同模型是否真的能把长上下文用起来。\n>\n> 当前 README 展示的是 **final v1** 结果:已完成 **315 / 315** 条有效样本,覆盖率 **100%**。这版结论可以作为项目定稿发布;下一步优化重点不再是“补齐数据”,而是提升统计置信度和评测难度。\n\n---\n\n## 最终结果 / Final v1\n\n| DeepSeek-V3 | Kimi | Qwen-Long |\n|---|---|---|\n|  |  |  |\n\n本轮完整评测共 **315 条有效样本**:3 个模型 × 5 个上下文长度 × 7 个深度点 × 3 次重复。每个模型在每个 `context_length × depth_pct` 格子中都恰好有 **3 次重复**,数据已经齐平。\n\n| 模型 | N | EM | Contains | Gap (Contains - EM) | 平均延迟 |\n|------|:--:|:--:|:--------:|:-------------------:|:-------:|\n| Qwen-Long | 105 | **80.0%** | **82.9%** | **2.9pp** | 1.10s |\n| DeepSeek-V3 | 105 | 64.8% | **82.9%** | 18.1pp | **1.01s** |\n| Kimi (Moonshot) | 105 | 65.7% | 76.2% | 10.5pp | 1.70s |\n\n### Key Findings\n\n- **位置偏差被完整复现,但形状更接近 W 型而不是标准 U 型。** 整体准确率在 depth=0% / 10% 时最高(91.1% / 86.7%),在 50% 处降到最低点(73.3%),75% 仍处低位(75.6%),随后在 90%-100% 回升到 80.0%。\n- **Qwen 的严格精度最高,DeepSeek 的综合效率最佳。** Qwen 的 EM 达到 80.0%,而 DeepSeek 用 1.01s 的平均延迟拿到了与 Qwen 持平的 Contains(82.9%);如果业务更看重“答对且答得短”,Qwen 更稳,如果更看重吞吐与成本,DeepSeek 更实用。\n- **Kimi 在长上下文下退化最明显。** Kimi 的 Contains 只有 76.2%,且在 8K 与 32K 场景都掉到 66.7%,同时平均延迟 1.70s,是三者中最慢的一档。\n- **16K 是这一轮中文 NIAH 的共同峰值。** DeepSeek 与 Qwen 在 16K 都达到 95.2%,Kimi 也达到 90.5%;当窗口扩到 32K 后,三个模型都出现回落,说明“支持更长 context window”不等于“对更长上下文的稳定利用”。\n\n## 实验局限 / Limitations\n\n- 这版数据已经完整,但**每个格子仍只有 3 次重复**。它足以支撑 v1 的方向性结论,却不足以对局部异常点做强统计推断;下一版应把重复数提升到 `N >= 10`。\n- 当前结果呈现 **W 型 / 双低谷结构**,而不是英文文献中的标准 U 型。这可能反映中文长文本的注意力分布差异,也可能仍受小样本波动影响,需要更高重复数才能做稳健判断。\n- 这版 NIAH 的 needle 与 haystack 风格差异较大,模型可能部分依赖关键词检索,而不是真正的长程语义整合。下一版需要引入**风格对齐的 needle**和 **multi-key NIAH**,降低模式匹配带来的虚高准确率。\n- EM 与 Contains 的差值不只是“评分松紧差异”,它也在测量模型的**答案简洁度**。后续版本应把答案长度、输出 token 成本与两类准确率一起纳入分析,而不只盯着正确率本身。\n\n## V2 Roadmap\n\n1. 把单格重复数从 3 提升到 10,收窄置信区间,验证 16K / 32K 段是否真的存在反弹或塌陷。\n2. 引入风格对齐的 needle、真假难辨的数值 needle,以及 multi-key NIAH,降低关键词检索偏置。\n3. 增加答案长度、输出 token、单位正确率成本等指标,把“答对”与“答得省”分开看。\n4. 扩展多跳推理和跨领域文档,验证结论能否从 NIAH 泛化到更贴近真实业务的中文长文档场景。\n\n---\n\n## 项目简介\n\n本项目评测主流 LLM(DeepSeek-V3、Kimi、Qwen-Long)在长上下文场景下的真实能力:\n- 官宣支持 128K,但模型真的能**用**这 128K 吗?\n- 信息藏在文档**中间**时,模型是否会\"失忆\"?\n\n---\n\n## 评测维度\n\n| 维度 | 说明 | 关键指标 |\n|---|---|---|\n| **NIAH** | Needle in a Haystack,在不同位置插入关键信息 | Accuracy @depth × length |\n| **多跳推理** | 信息分散在文档多处,需综合推理 | Multi-hop Accuracy |\n| **位置偏差** | 信息在开头/中间/结尾的准确率差异 | Position Bias Score |\n| **跨模型对比** | DeepSeek-V3 vs Kimi vs Qwen-Long | Δ Accuracy |\n\n---\n\n## 项目结构\n\n```\nEval/\n├── configs/\n│ └── eval_config.yaml # 模型配置、评测参数\n├── data/\n│ ├── raw/ # 放入原始长文档 (.txt / .md)\n│ ├── needles/ # 多跳推理 QA 标注文件\n│ └── processed/ # 生成的数据集 .jsonl\n├── src/\n│ ├── data_prep.py # 构造 NIAH / 多跳数据集\n│ ├── eval_runner.py # 调用模型 API,存储结果\n│ ├── metrics.py # EM / Contains 评分\n│ └── visualize.py # 热力图、折线图、位置偏差图\n├── notebooks/\n│ ├── 01_data_preparation.ipynb\n│ ├── 02_eval_runner.ipynb\n│ ├── 03_analysis_visualization.ipynb\n│ └── 04_report.ipynb\n├── results/\n│ ├── raw/ # 原始 API 结果 .csv\n│ ├── processed/ # 评分后结果 .csv\n│ └── figures/ # 可视化图表\n├── docs/\n│ └── eval_design.md # 评测方案设计文档\n├── .env.example # API Key 配置模板\n└── requirements.txt\n```\n\n---\n\n## 快速开始\n\n### 1. 安装依赖\n```bash\npip install -r requirements.txt\n```\n\n### 2. 配置 API Key\n```bash\ncp .env.example .env\n# 编辑 .env,填入各模型 API Key\n```\n\n### 3. 准备数据\n在 `data/raw/` 放入中文长文档(财报 PDF 转文本、论文、小说等),然后:\n```bash\npython src/data_prep.py\n```\n\n### 4. 运行评测(推荐在 Notebook 中逐步执行)\n```\nnotebooks/01_data_preparation.ipynb → 构造数据集\nnotebooks/02_eval_runner.ipynb → 调用模型 API\nnotebooks/03_analysis_visualization.ipynb → 分析 + 可视化\n```\n\n\n如何复现当前 final v1 结果
\n\n1. 运行 `notebooks/01_data_preparation.ipynb`,生成 `data/processed/niah_dataset.jsonl`。\n2. 运行 `notebooks/02_eval_runner.ipynb`,保持 `RESUME=True`,直到 `results/raw/raw_results.csv` 达到 315 条目标样本。\n3. 运行 `notebooks/03_analysis_visualization.ipynb`,确认 Step 1 输出 coverage = 100%,并生成 `results/figures/` 下的全部图表。\n4. 最后运行 `notebooks/04_report.ipynb`,导出最终报告 HTML。\n\n \n\n---\n\n## 预算估算\n\n| 模型 | 约 200 样本 × 平均 32K tokens |\n|---|---|\n| DeepSeek-V3 | ~¥5 |\n| Kimi (moonshot-v1-128k) | ~¥15 |\n| Qwen-Long | ~¥5 |\n\n---\n\n## 参考论文\n\n- [Lost in the Middle (Liu et al., 2023)](https://arxiv.org/abs/2307.03172)\n- [RULER: What's the Real Context Window of Your LLM? (Hsieh et al., 2024)](https://arxiv.org/abs/2404.06654)\n- [Needle in a Haystack (Kamradt, 2023)](https://github.com/gkamradt/LLMTest_NeedleInAHaystack)\n\n---\n\n## 简历描述模板\n\n> **LLM 长上下文能力评测项目** | 个人项目\n> - 设计 4 维度评测框架(NIAH、多跳推理、位置偏差、跨模型对比),覆盖 200+ 测试样本\n> - 在 DeepSeek-V3、Kimi、Qwen-Long 上定量验证 \"Lost in the Middle\" 在中文场景的表现\n> - 输出位置-准确率热力图等可视化分析报告,[GitHub 链接]\n"}}}}