LangChain 提供了一个内存中的、临时的向量存储,它将嵌入存储在内存中,并对最相似的嵌入进行精确的线性搜索。默认的相似度度量是余弦相似度,但可以更改为 ml-distance 支持的任何相似度度量。
由于它是为演示设计的,因此目前还不支持 ID 或删除。
本指南提供了快速入门 MemoryVectorStore 向量存储 的概述。
集成细节
要使用内存中的向量存储,您需要安装 langchain 包:
本指南还将使用 OpenAI 嵌入,这需要您安装 @langchain/openai 集成包。如果您希望,也可以使用 其他支持的嵌入模型。
使用内存中的向量存储不需要任何凭证。
如果您在本指南中使用 OpenAI 嵌入,您需要设置您的 OpenAI 密钥:
如果您想自动跟踪您的模型调用,您也可以通过取消注释以下内容来设置您的 LangSmith API 密钥:
实例化
管理向量存储
向向量存储添加项
查询向量存储
一旦您的向量存储创建完成,并且相关的文档已添加,您很可能希望在您的链或智能体运行期间查询它。
直接查询
执行简单的相似度搜索可以按如下方式完成:
过滤器是可选的,必须是一个输入文档并返回 true 或 false 的谓词函数,具体取决于文档是否应该返回。
如果您想执行相似度搜索并接收相应的分数,可以运行:
将其转换为检索器进行查询
您还可以将向量存储转换为 检索器,以便在您的链中更轻松地使用:
最大边际相关性
此向量存储还支持最大边际相关性 (MMR),这是一种技术,它首先使用经典相似度搜索获取更多结果(由 searchKwargs.fetchK 指定),然后重新排序以增加多样性,并返回顶部 k 个结果。这有助于防止冗余信息:
用于检索增强生成
有关如何使用此向量存储进行检索增强生成 (RAG) 的指南,请参阅以下部分:
Last modified on November 3, 2026