Facebook AI 相似性搜索 (FAISS) 是一个用于高效稠密向量相似性搜索和聚类的库。它包含可在任意大小的向量集中进行搜索的算法,甚至包括那些可能无法放入内存的向量集。它还包含用于评估和参数调整的支持代码。 请参阅 FAISS 库 论文。您可以在 此页面 找到 FAISS 文档。 本笔记本展示了如何使用与
FAISS 向量数据库相关的功能。它将展示此集成特有的功能。完成后,探索 相关用例页面 以了解如何将此向量存储作为更大链的一部分来使用可能会有所帮助。
设置
该集成位于langchain-community 包中。我们还需要安装 faiss 包本身。我们可以使用以下命令安装:
注意,如果您想使用启用 GPU 的版本,也可以安装 faiss-gpu
初始化
管理向量存储
向向量存储添加项目
从向量存储删除项目
查询向量存储
一旦创建好向量存储并添加了相关文档,您很可能希望在运行链或代理期间对其进行查询。直接查询
相似性搜索
执行带有元数据过滤的简单相似性搜索可以如下所示:$eq(等于)$neq(不等于)$gt(大于)$lt(小于)$gte(大于或等于)$lte(小于或等于)$in(列表成员资格)$nin(不在列表中)$and(所有条件必须匹配)$or(任何条件必须匹配)$not(条件的否定)
带分数的相似性搜索
您也可以带分数进行搜索:其他搜索方法
有多种其他方法可以搜索 FAISS 向量存储。转换为检索器进行查询
您还可以将向量存储转换为检索器,以便在链中更轻松地使用。检索增强生成用法
关于如何使用此向量存储进行检索增强生成 (RAG) 的指南,请参见以下部分:保存和加载
您还可以保存和加载 FAISS 索引。这很有用,因为您不必每次使用时都重新创建它。合并
您还可以合并两个 FAISS 向量存储Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

