feat(rag): v1 rerank 精排 + bge-m3 多语言切换(T6/T11 架构审查整改)

- T6 (Issue6): RerankConfig(enabled/model=BAAI/bge-reranker-v2-m3/device)
  - rag-layer-design §6.3 Rerank 精排:窗口=RRF top-10、候选≤top_k 跳过、
    故障降级 RRF 原序;原 §6.3-6.6 顺延 6.4-6.7
  - config-design §5 新增 rerank 段;design §5.5 检索策略加 rerank
- T11 (OV2): EmbeddingConfig.model 默认 bge-small-zh-v1.5 → BAAI/bge-m3(日文语料)
  - rag-layer-design 选型表/依赖表/manifest/流程图同步 + 新增 §2.3 日文样本验证
  - design.md / implementation-plan 4.3 / config-design embedding 同步
- 新增 test_rag_design_consistency.py 一致性门禁(6 用例防文档漂移)
- TDD: RED(默认模型仍旧 + rerank 字段不存在)→ GREEN → 全量 198 passed / 100.00%(996 stmts/252 br)
This commit is contained in:
lhl
2026-08-12 11:32:28 +08:00
parent c170ec2edd
commit 3decdfc31c
9 changed files with 186 additions and 24 deletions
+10 -1
View File
@@ -81,7 +81,8 @@ class InferenceConfig(BaseModel):
class EmbeddingConfig(BaseModel):
model: str = "BAAI/bge-small-zh-v1.5"
# OV2/T11:实际语料为日文,bge-small-zh 面向中文 → 默认多语言 bge-m3(中/日/英)
model: str = "BAAI/bge-m3"
device: str = "cpu"
max_batch_size: int = 32
cache_dir: str = "/data/shared/models"
@@ -110,11 +111,19 @@ class RetrievalConfig(BaseModel):
contextual_enrichment: bool = True
class RerankConfig(BaseModel):
# I6/T6v1 引入 rerank 精排(2026 主流实践:向量→rerank→精排)
enabled: bool = True
model: str = "BAAI/bge-reranker-v2-m3"
device: str = "cpu"
class RagConfig(BaseModel):
embedding: EmbeddingConfig = Field(default_factory=EmbeddingConfig)
vector_store: VectorStoreConfig = Field(default_factory=VectorStoreConfig)
chunking: ChunkingConfig = Field(default_factory=ChunkingConfig)
retrieval: RetrievalConfig = Field(default_factory=RetrievalConfig)
rerank: RerankConfig = Field(default_factory=RerankConfig)
# ---------- 加载辅助 ----------