retriever_exam.py 656 B

123456789101112131415161718192021222324252627
  1. """
  2. 考试场景专门检索器
  3. 与通用检索器的区别:
  4. 1. 支持按科目/章节过滤
  5. 2. 检索权重偏向教学解释型内容
  6. 3. 优先匹配大纲知识点
  7. """
  8. from typing import Optional
  9. class ExamRetriever:
  10. def __init__(self):
  11. self.collection_name = "exam_knowledge"
  12. async def search(
  13. self,
  14. query: str,
  15. subject: Optional[str] = None,
  16. chapter_id: Optional[str] = None,
  17. top_k: int = 10,
  18. ) -> list[dict]:
  19. filters = {}
  20. if subject:
  21. filters["subject"] = subject
  22. if chapter_id:
  23. filters["chapter_id"] = chapter_id
  24. return []