知识过滤器允许您使用用户 ID、文档类型、年份等元数据来限制和优化知识库中的搜索。当您拥有大量文档集合并希望检索与特定用户或上下文相关的信息时,此功能尤其有用。
当您将文档加载到知识库中时,您可以附加元数据(如用户 ID、文档类型、年份等)。之后,在查询时,您可以指定过滤器,仅搜索符合特定条件的文档。
示例元数据:
您可以通过两种主要方式应用知识过滤器:
提示: 您可以组合使用多个过滤器以获得更精确的结果!
在配置您的智能代理时,选择适合您用例的方法非常重要。使用 Agno 智能代理进行 RAG 有两种广泛的方法:传统 RAG 和智能代理 RAG。对于传统 RAG 方法,您设置 add_references=True
以确保引用包含在发送到 LLM 的系统消息中。对于智能代理 RAG,您设置 search_knowledge=True
来利用智能代理直接搜索知识库的能力。
示例:
请记住一次只使用这两种配置中的一种,将另一种设置为 false。默认情况下,search_knowledge=True
是首选,因为它提供了更动态和交互式的体验。
请在此处查看有关如何在传统 RAG 系统中设置知识过滤器的示例 here
手动过滤器 | 智能代理过滤器 |
---|---|
代码中的显式过滤器 | 从查询文本推断的过滤器 |
完全控制 | 更自然,代码更少 |
适用于自动化 | 适用于面向用户的应用程序 |
🚦 目前,知识过滤支持以下向量数据库: