向量数据库使我们能够将信息存储为嵌入,并使用余弦相似度或全文搜索来查找与我们输入查询“相似”的结果。然后,这些结果作为上下文提供给 Agent,以便 Agent 可以使用检索增强生成 (RAG) 以一种了解上下文的方式进行响应。
以下是向量数据库与 Agents 的使用方式:
分块信息
将知识分解成小块,以确保我们的搜索查询 只返回相关结果。
加载知识库
将这些块转换为嵌入向量,并将其存储在向量数据库中。
搜索知识库
当用户发送消息时,我们将输入消息转换为嵌入,并在向量数据库中“搜索”最近邻。
许多向量数据库也支持混合搜索,它将向量相似性搜索的强大功能与传统的基于关键字的搜索相结合。这种方法可以显著提高搜索结果的相关性和准确性,尤其是在处理复杂查询或多样化数据类型时。
混合搜索通常通过以下方式工作:
这种能力允许更灵活和强大的查询,通常比单一方法能产生更好的结果。
多个向量数据库支持异步操作,通过非阻塞操作、并发处理、降低延迟以及与 FastAPI 和 async agents 的无缝集成来提高性能。
在使用 Agno 构建时,请在生产环境中使用 aload
方法进行异步知识库加载。
目前支持以下 VectorDb:
*支持混合搜索
这些数据库各有其优势和特性,包括对混合搜索和异步操作的支持程度不同。请务必查看每个数据库的特定文档,以了解如何在您的项目中充分利用其功能。