如何在Flowise中为Pinecone Upsert动态插入文件名片段作为元数据?
实现Flowise动态从文件名提取元数据到Pinecone的方法
核心思路
借助Flowise的Code节点解析文件名,提取目标片段后注入文档元数据,再传递给后续的向量处理与Upsert节点,替代静态元数据配置。
具体操作步骤
插入Code节点:在
Folder with Files节点之后添加一个Code节点(优先选Python类型,字符串处理更便捷)。编写文件名解析代码
以提取文件名中XXXXX-XXXXX数字段为例,Python代码示例:# 获取输入的文档集合 docs = input for doc in docs: # 从元数据中提取纯文件名(去除路径前缀) filename = doc.metadata["source"].split("/")[-1] # 按空格分割文件名,提取前半段数字标识 id_segment = filename.split(" ")[0] # 将提取结果作为自定义元数据字段加入 doc.metadata["document_id"] = id_segment # 返回处理后的文档,供后续节点使用 return docs若需提取文件名后的
Name部分,可将split(" ")[0]替换为" ".join(filename.split(" ")[1:])。串联节点流程
节点连接顺序:Folder with Files→Code节点 →PDF Loader(未添加则补上)→Text Splitter→Embedding→Pinecone Upsert验证元数据正确性
在Code节点后添加Debug节点,查看处理后的文档元数据是否包含新增的动态字段,确认无误后再对接Pinecone节点。
注意事项
- 若存在不符合
XXXXX-XXXXX Name格式的文件,可在代码中添加判断逻辑(比如检查分割后的列表长度),避免运行报错。 - Flowise的文档对象
metadata为可修改字典,直接新增键值对即可将动态元数据传递到后续流程。
内容的提问来源于stack exchange,提问作者Vinicius Baccarini
相关产品推荐
相关产品推荐

