Facebook AI Similarity Search (FAISS) is a library for efficient similarity search and clustering of dense vectors. It contains algorithms that search in sets of vectors of any size, up to ones that possibly do not fit in RAM. It also includes supporting code for evaluation and parameter tuning. See The FAISS Library paper.您可以在此页面找到 FAISS 文档。 本笔记展示如何使用与
FAISS 向量数据库相关的功能。它将展示此集成特有的功能。阅读完毕后,建议探索相关用例页面以学习如何将此向量存储用作更大链的一部分。
设置
该集成位于langchain-community 包中。我们还需要安装 faiss 包本身。 我们可以使用以下命令安装:
请注意,如果您想使用 GPU 版本,也可以安装 faiss-gpu
初始化
管理向量存储
向向量存储添加项目
从向量存储删除项目
查询向量存储
一旦创建了向量存储并添加了相关文档,您很可能希望在链或智能体运行期间对其进行查询。直接查询
相似度搜索
可以按以下方式执行带元数据过滤的简单相似度搜索:$eq(equals)$neq(not equals)$gt(greater than)$lt(less than)$gte(greater than or equal)$lte(less than or equal)$in(membership in list)$nin(not in list)$and(all conditions must match)$or(any condition must match)$not(negation of condition)
带分数的相似度搜索
您也可以进行带分数的搜索:其他搜索方法
还有多种其他方式可以搜索 FAISS 向量存储。转换为检索器进行查询
您还可以将向量存储转换为检索器,以便在链中更方便地使用。用于检索增强生成
有关如何将此向量存储用于检索增强生成 (RAG) 的指南,请参阅以下部分:保存和加载
您还可以保存和加载 FAISS 索引。这很有用,因为您不必每次使用时都重新创建它。合并
您还可以合并两个 FAISS 向量存储连接这些文档到 Claude、VSCode 等工具,通过 MCP 获取实时答案。

