
document stores upsert chunks failed
快速结论:该报错通常发生在 Flowise 文档存储(Document Store)中,当选择 base64 编码格式上传/向量化文档时,LangChain 返回了原始 base64 字符串而非数字数组,导致向量数据库(如 Chroma)在 .every() 校验时抛出 TypeError。优先检查向量数据库是否开启并正常监听,同时确认文档向量化时使用的编码格式。
问题场景
用户在 Flowise 的 Document Store(文档存储)界面中执行“upsert chunks”操作(即插入或更新文档块到向量数据库)时触发。Flowise 是一个低代码 AI 工作流工具,此处用户可能正在上传文档并将其转换为向量嵌入存储到本地或远端向量数据库(issue 日志中可见 Chroma 集合 schema 警告)。
报错原文
2026-06-16 16:54:34 [INFO]: ⬆️ POST /api/v1/document-store/vectorstore/insert
The 'path' argument is deprecated. Please use 'ssl', 'host', and 'port' instead
No embedding function configuration found for collection schema deserialization. 'add' and 'query' will fail unless you provide them embeddings directly.
No embedding function configuration found for collection schema deserialization. 'add' and 'query' will fail unless you provide them embeddings directly.
No embedding function configuration found for collection test. 'add' and 'query' will fail unless you provide them embeddings directly.
注意:上面日志是问题触发时的前置警告,Issue 评论区描述的实际核心报错为 TypeError(源自 .every() 校验失败),但 Issue 正文未附带完整 traceback。下方原因分析基于评论中开发者的解读。
原因分析
可能原因:当用户选择 base64 编码格式进行文档向量化时,LangChain 将数据以原始 base64 字符串(string)形式传递回 Flowise,而不是预期的数字数组(array of numbers)。Flowise 后端在将数据传给向量数据库(如 Chroma)之前,会使用 .every() 方法校验数组中的每个元素是否为有效的数字类型。由于接收到的是字符串而非数组,.every() 遍历失败,抛出 TypeError,最终导致 upsert chunks 失败。
此外,日志中的 No embedding function configuration found 警告表明向量集合(collection)缺失嵌入函数配置,这可能是用户使用了自定义 embedding 模型但未正确配置,或使用了不支持 base64 编码格式的向量数据库驱动。
环境排查
- Flowise 版本:确认是否为 2026 年 6 月前的版本(issue 关闭于 2026-06-18,修复 PR #6530 于 issue 关闭前提交)。
- 向量数据库类型与版本:日志疑似指向 Chroma DB(collection schema 相关警告),确认 Chroma 服务是否运行正常,以及其版本是否与 Flowise 兼容。
- 嵌入模型配置:检查 Document Store 中的嵌入模型(Embedding)是否已正确配置并可用。
- 文档编码格式:确认上传文档时选择的编码格式是否为 base64,如果是,尝试切换为其他格式(如浮点数组或默认格式)。
解决步骤
- 升级 Flowise 版本(可优先尝试):由于该问题已在 PR #6530 中被修复(修复方式为将 base64 字符串解码为 Float32Array 再传给向量数据库),建议将 Flowise 升级到包含该修复的最新版本(issue 关闭后的版本)。
- 切换文档编码格式(临时绕过):在 Document Store 设置中,尽量不使用 base64 格式,改用默认的浮点数组格式或其他非 base64 编码选项。
- 检查向量数据库连通性:确认向量数据库(如 Chroma)已正确启动,且 Flowise 中配置的 host、port 或 ssl 参数正确(日志提示
'path' argument is deprecated,可改用 ssl、host、port 方式连接)。 - 配置嵌入函数:确保 Document Store 中使用的集合已正确关联嵌入函数(embedding function),避免出现
No embedding function configuration found的警告。
注:如果第 1 步升级后问题依旧,建议查看 Flowise 后端日志中是否仍有 .every() 相关的 TypeError 完整堆栈。
验证方法
在修复后,重新进入 Document Store 界面,选择之前报错的文档,再次执行 upsert chunks 操作。观察 Flowise 后端日志不再出现 TypeError 及相关 base64 解析错误,同时文档成功插入向量数据库,前端界面显示上传成功。



