# 综合项目参考实现：技术文档助手

这是一个不下载大模型也能完成的 M1/M2 参考实现。它把本地文档检索、证据 prompt、逐题评估和实验产物串起来；之后可替换为真实 Embedding、Reranker、Causal LM 和 HTTP 服务。

## 运行

从实验资料包根目录执行：

```bash
python capstone/run_demo.py
```

产物写入 `artifacts/capstone-demo/`：

```text
retrieval.jsonl       # 每个问题的 Top-k evidence 与 prompt
evaluation.jsonl      # 逐题 score 与 error_type
report.json            # 汇总指标和运行配置
```

## 参考实现的边界

- 检索器是 BM25，不代表生产 embedding 或 hybrid retrieval。
- 默认只组装 prompt，不调用远程模型，不伪造生成质量。
- 评估器只支持 exact、contains 和 JSON equality；事实性、引用支持和安全需要额外 rubric。
- 没有跨 Workspace 权限时，不能把它部署为多租户服务。

## 进入 M3/M4

1. 增加文档来源、版本、租户和 ACL 字段。
2. 在检索阶段执行 ACL 过滤，并为跨租户样本写测试。
3. 使用 `code/11_rag_pipeline.py --model ...` 连接本地 causal LM，保存 evidence、prompt 和 answer。
4. 用 `code/12_evaluate_cases.py` 评估逐题结果，再增加引用支持和不可回答 rubric。
5. 接入 `code/09_serve_tiny_gpt.py` 或真实推理后端，测量 TTFT、TPOT、P95、错误率和取消率。

参考项目通过的最低条件是：可重建、可定位检索/生成错误、没有凭据和大模型权重进入仓库。
