Files
group_fqcd_jr/tests/unit/service/test_knowledge_search_collections.py
T

37 lines
1.6 KiB
Python
Raw Normal View History

"""检索面白名单:第 4 集合(`乙-7`)**建了但不进默认检索面**。
这条断言守的是一个**实测结论**,不是审美偏好。2026-09-19 把 `fin_basic_collection`
加进默认检索面后复跑 46 条金标,`M-1` 出口准确率 100% → 91.3%:
通用常识文本与很多问题都"像",会把**次优分**抬到 0.69–0.79,
而 `MIN_GAP=0.07` 的"top1 领先不足"判据据此把本该直答的题推给证据约束生成。
要启用它,先做跨集合分数归一 / 重排,并复跑 `_eval_harness` 确认 `M-1` 仍是 100%。
"""
from app.core.knowledge_contracts import ALLOWED_COLLECTIONS
from app.service.knowledge_search_service import (
BASIC_COLLECTION,
DEFAULT_COLLECTIONS,
FALLBACK_COLLECTIONS,
PRIMARY_COLLECTIONS,
)
def test_basic_collection_is_allowlisted_and_built() -> None:
# 集合本身是"已建好、已灌库"的:契约放行 + 有补位位次。
assert BASIC_COLLECTION == "fin_basic_collection"
assert BASIC_COLLECTION in ALLOWED_COLLECTIONS
assert FALLBACK_COLLECTIONS == (BASIC_COLLECTION,)
def test_default_retrieval_surface_stays_the_three_primary_collections() -> None:
assert PRIMARY_COLLECTIONS == (
"fin_faq_collection", "fin_product_collection", "fin_policy_collection",
)
assert DEFAULT_COLLECTIONS == PRIMARY_COLLECTIONS
# 回归红线:第 4 集合不得悄悄回到默认检索面。
assert BASIC_COLLECTION not in DEFAULT_COLLECTIONS
def test_every_default_collection_is_allowlisted() -> None:
assert set(DEFAULT_COLLECTIONS) <= set(ALLOWED_COLLECTIONS)