复现Qdrant+n8n文档示例遇400错误,求解决方案
这个报错的核心原因是:n8n的Qdrant Vector Store节点期望的向量配置,和你手动在Qdrant创建的集合不匹配——节点默认会使用特定的向量名(比如对应OpenAI嵌入模型的text-embedding-ada-002),但你创建的集合没有配置这个向量字段,或者向量名称、维度等参数不匹配。
以下是具体解决思路:
先确认n8n节点的向量配置
打开n8n里的Qdrant Vector Store节点,查看「Embedding Model」:如果用的是OpenAI的text-embedding-ada-002,对应的默认向量名是text-embedding-ada-002;如果是自定义嵌入模型,找到节点的「Vector Name」输入框(部分版本藏在高级设置里),记下这个名称和对应的向量维度。在Qdrant创建完全匹配的集合
登录Qdrant仪表板创建新集合时,必须严格对齐n8n的配置:- 向量维度要和嵌入模型一致(比如
text-embedding-ada-002是1536维); - 向量名称必须和n8n节点里的「Vector Name」完全一致(注意大小写);
- 距离度量保持和n8n默认一致(一般是余弦相似度Cosine)。
若用API创建集合,示例请求如下:
PUT /collections/your-collection-name { "vectors": { "text-embedding-ada-002": { "size": 1536, "distance": "Cosine" } } }- 向量维度要和嵌入模型一致(比如
核对n8n节点的集合参数
确保n8n节点里填写的「Collection Name」和Qdrant中创建的集合名完全一致;如果用Qdrant Cloud,确认API密钥、集群URL正确,且集合属于对应集群。调试验证配置匹配性
用Qdrant API查询集合的向量配置,确认是否和n8n节点要求一致:curl -X GET https://your-qdrant-url/collections/your-collection-name检查返回结果中的
vectors字段,是否包含n8n节点使用的向量名。懒人方案:让n8n自动创建集合
打开n8n Qdrant节点的高级设置,勾选「Auto Create Collection」选项——n8n会根据节点的嵌入模型配置,自动创建符合要求的集合,避免手动配置出错。
内容的提问来源于stack exchange,提问作者user2346922

