知识库搜索核心原理
FastGPT采用RAG的Embedding向量方案构建知识库,将文本、图片等内容转换为数字数组(向量),通过向量距离判断内容相似度,距离越小相似度越高。向量搜索需通过topk召回前k个最相似的内容,再交由大模型完成语义判断与归纳。FastGPT使用PostgresSQL的PG Vector插件(索引为HNSW)作为向量检索器,MongoDB存储原数据信息。影响搜索精度的因素包括向量模型质量、数据质量、检索器精度,可通过优化分词分段、精简或丰富index内容、优化检索词、微调向量模型提升精度。FastGPT支持一组数据对应多个向量,通过多向量映射平衡内容长度与语义丰富度。
检索流程与参数说明
完整的知识库检索流程并非简单的单向调用,而是多环节组合:首先通过问题优化消除指代、扩展语义,增强连续对话的检索能力;随后通过语义检索、全文检索或混合检索召回候选内容,若输入包含图片,可根据当前模型能力触发图片描述检索或图片向量检索;最终通过RRF合并多路检索结果,经Rerank二次排序提升结果相关性,再结合相似度过滤与引用上限裁剪,得到最终可用于大模型的引用内容。可配置的核心参数包括检索类型、topk召回数量、Rerank开关、相似度阈值、引用上限等。
快速配置步骤
- 确认已配置可用的向量模型,若需图片检索,需额外配置支持的视觉模型或图片向量模型;
- 针对需要优化精度的数据块,添加多组index以提升召回覆盖范围;
- 在知识库搜索配置中选择合适的检索类型(语义/全文/混合),设置合理的topk值与相似度阈值;
- 上传图片数据时,系统将自动生成对应索引(需匹配已配置的模型能力)。
来源:https://doc.fastgpt.cn/zh-CN/guide/dataset/dataset_engine