RedisVectorStore 功能和配置的详细文档,请参阅 API 参考。
概述
集成详细信息
设置
要使用 Redis 向量存储,您需要设置一个 Redis 实例并安装@langchain/redis 集成包。您还可以安装 node-redis 包以使用特定的客户端实例初始化向量存储。
本指南还将使用 OpenAI 嵌入,这需要您安装 @langchain/openai 集成包。如果您愿意,也可以使用 其他支持的嵌入模型。
凭据
设置实例后,设置REDIS_URL 环境变量:
实例化
管理向量存储
向向量存储添加项目
查询向量存储
一旦您的向量存储已创建并且相关文档已添加,您很可能希望在运行链或代理期间查询它。直接查询
执行简单的相似度搜索可以按如下方式完成:通过转换为检索器进行查询
您还可以将向量存储转换为 检索器,以便在链中更轻松地使用。用于检索增强生成
有关如何使用此向量存储进行检索增强生成 (RAG) 的指南,请参阅以下部分:删除文档
您可以通过两种方式从向量存储中删除文档:删除所有文档
您可以使用以下命令删除整个索引及其所有文档:按 ID 删除特定文档
您还可以通过提供 ID 来删除特定文档。请注意,配置的键前缀将自动添加到您提供的 ID 中:关闭连接
确保在完成后关闭客户端连接,以避免过多的资源消耗:高级功能
自定义模式和元数据过滤
Redis 向量存储支持元数据字段的自定义模式定义,从而实现更高效的过滤和搜索。此功能允许您为元数据定义特定的字段类型和验证规则。定义自定义模式
您可以在创建向量存储时定义自定义模式,以指定字段类型、验证规则和索引选项:模式字段类型
自定义模式支持三种主要字段类型:- TEXT:全文可搜索字段,具有可选的词干提取、加权和排序
- TAG:用于精确匹配的分类字段,支持多个值和自定义分隔符
- NUMERIC:支持范围查询和排序的数字字段
字段配置选项
每个字段都可以配置各种选项:required:字段是否必须存在于元数据中(默认:false)SORTABLE:在此字段上启用排序(默认:undefined)SEPARATOR:对于 TAG 字段,指定多个值的分隔符(默认:”,”)CASESENSITIVE:对于 TAG 字段,启用区分大小写匹配(Redis 期望true,而不是布尔值)NOSTEM:对于 TEXT 字段,禁用词干提取(Redis 期望true,而不是布尔值)WEIGHT:对于 TEXT 字段,指定搜索权重(默认:1.0)
使用模式验证添加文档
使用自定义模式时,文档会自动根据定义的模式进行验证:具有元数据过滤的高级相似度搜索
自定义模式使用similaritySearchVectorWithScoreAndMetadata 方法启用强大的元数据过滤功能:
数字范围查询选项
对于数字字段,您可以指定各种范围查询:错误处理和验证
自定义模式提供自动验证和有用的错误消息:性能优势
使用自定义模式具有几个性能优势:- 索引元数据字段:单独索引各个元数据字段,启用快速过滤
- 类型优化查询:数字和标签字段使用优化的查询结构
- 减少数据传输:搜索结果中仅返回相关字段
- 更好的查询规划:Redis 可以根据字段类型和索引优化查询
向后兼容性
自定义模式功能完全向后兼容。没有自定义模式的现有 Redis 向量存储将继续像以前一样工作。您可以逐渐迁移到新索引的自定义模式,或在重建现有索引时迁移。API 参考
有关所有RedisVectorSearch 功能和配置的详细文档,请参阅 API 参考。
将这些文档连接 到 Claude、VSCode 等,通过 MCP 获取实时解答。

