概览
公开教程 · 无需登录

实现教程

第 3 课已实现登录、按班级隔离以及教研材料入库。本课在同一套系统上增加检索能力:以一句自然语言在本班材料中定位相关片段,并标注其来自哪份材料的哪一个切片。当资料中不存在依据时,应明确返回未找到,不得编造出处。

1本课承接第 3 课

登录、角色校验与上传入库沿用第 3 课的实现,本课不再重做。本课对应的 change 为 add-traceable-vector-retrieval。

2先记住三条结论

切片正文存于 MySQL,向量存于 Qdrant

切片文本存放于 knowledge_chunks 表;向量库中仅保存浮点向量与若干标识,向量主键与 knowledge_chunks.id 相同。检索时先命中向量记录,再回 MySQL 取回切片正文。

三种检索模式回答的不是同一类问题

关键字检索匹配原文中出现的词;向量检索匹配表述不同但语义相近的内容;混合检索先分别排序,再用 RRF 融合为最终次序。默认采用混合模式。

无依据时不得凑数

所选模式过滤后若无候选切片,即返回「资料中未找到相关内容」。班级标识仅从登录会话读取,请求中自带的班级编号一律无效。