[增强] 将 Valkey 添加为 VectorDatabase 后端
作者: Jonathan-Improving创建于 2026年6月22日更新于 2026年6月30日
解决方案建议 我将发布一个 ValkeyVectorDatabase 适配器,遵循 Chroma/Qdrant/Mongo 适配器模式: - 每个集合一个 FT 索引(命名为 {collection}_{embedder_type}) - 文档 CRUD 的哈希键 - FT.SEARCH 与 KNN 向量查询 + 过滤表达式,用于 find_similar_documents - Where 过滤语法($eq、$in、$and、$or)的转换为 Valkey Search 语法 我将使用我们的 valkey-glide 客户端库,这是 valkey-io 维护的官方客户端。不需要对核心引擎代码进行任何更改,因为这只是在现有工厂模式基础上添加的一个适配器。 # 讨论 我已经阅读了 VectorDatabase ABC 和现有实现,并且非常确定接口与 Valkey Search 提供的内容一一对应。 Valkey Search 1.2(2026 年 3 月发布)增加了 TEXT 字段支持,与现有的 TAG、NUMERIC 和 VECTOR 类型一起,覆盖了 Parlant 集合使用的所有字段类型。如果有兴趣,我愿意实现此功能并推进 PR。但是,我需要先确认以下几点: 1. 适配器应该放在哪里?(我假设是 src/parlant/adapters/vector_db/valkey.py,与其他适配器一起) 2. 是否应该作为可选依赖项(例如,parlant[valkey])还是捆绑在一起? 3. 是否有任何计划重构 VectorDatabase 接口,以避免冲突?
内容来源: emcie-co/parlant