Facebook AI 相似性搜索 (FAISS) 是一个用于高效的密集向量相似性搜索和聚类的库。它包含的算法可以在任何大小的向量集中进行搜索,甚至可以处理不适合内存的向量集。它还包括用于评估和参数调整的支持代码。 请参阅 FAISS 库 论文。您可以在 此页面 找到 FAISS 文档。 本笔记本演示了如何使用与
FAISS 向量数据库相关的功能。它将展示此集成特有的功能。阅读后,探索 相关用例页面 可能很有用,以了解如何将此向量存储作为更大链的一部分使用。设置
该集成位于langchain-community 包中。我们还需要安装 faiss 包本身。我们可以通过以下方式安装它们: 请注意,如果您想使用 GPU 加速版本,您也可以安装 faiss-gpu。初始化
管理向量存储
向向量存储添加项目
从向量存储中删除项目
查询向量存储
一旦您的向量存储被创建并添加了相关文档,您很可能希望在链或代理运行期间查询它。直接查询
相似性搜索
执行带有元数据过滤的简单相似性搜索可以如下操作$eq(等于)$neq(不等于)$gt(大于)$lt(小于)$gte(大于或等于)$lte(小于或等于)$in(在列表中)$nin(不在列表中)$and(所有条件都必须匹配)$or(任何条件都必须匹配)$not(条件取反)
带分数的相似性搜索
您还可以带分数搜索其他搜索方法
还有多种其他方式来搜索 FAISS 向量存储。有关这些方法的完整列表,请参阅 API 参考。通过转换为检索器进行查询
您还可以将向量存储转换为检索器,以便在您的链中更轻松地使用。用于检索增强生成的使用
有关如何将此向量存储用于检索增强生成 (RAG) 的指南,请参阅以下部分保存和加载
您还可以保存和加载 FAISS 索引。这很有用,这样您就不必每次使用时都重新创建它。合并
您还可以合并两个 FAISS 向量存储。API 参考
有关所有FAISS 向量存储功能和配置的详细文档,请查阅 API 参考:python.langchain.com/api_reference/community/vectorstores/langchain_community.vectorstores.faiss.FAISS.html
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。