Weaviate vector field returns empty array in Dify v1.11.1 with Weaviate v1.27.0 #21443

Closed
opened 2026-02-21 20:12:34 -05:00 by yindo · 3 comments
Owner

Originally created by @qiulibaba-ai on GitHub (Jan 5, 2026).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.11.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

After upgrading to Dify v1.11.1, I found that when querying the Weaviate knowledge base, the vector field in the _additional property returns an empty array. Despite using the same embedding model, the vector data is not being retrieved or displayed correctly. This persists even when the vector property is explicitly requested in GraphQL.

✔️ Expected Behavior

The vector field should return the high-dimensional float array representing the embedding of the document chunk.

Actual Behavior

The query returns the following structure with an empty vector:
{ Get { Vector_index_f8f9a044_0f3e_4780_97b6_cfaa81eaf942_Node (limit: 10) { _additional { id vector # Returns [] or null } text doc_hash source document_id dataset_id doc_id } } }

Image
Originally created by @qiulibaba-ai on GitHub (Jan 5, 2026). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.11.1 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce After upgrading to Dify v1.11.1, I found that when querying the Weaviate knowledge base, the vector field in the _additional property returns an empty array. Despite using the same embedding model, the vector data is not being retrieved or displayed correctly. This persists even when the vector property is explicitly requested in GraphQL. ### ✔️ Expected Behavior The vector field should return the high-dimensional float array representing the embedding of the document chunk. ### ❌ Actual Behavior The query returns the following structure with an empty vector: `{ Get { Vector_index_f8f9a044_0f3e_4780_97b6_cfaa81eaf942_Node (limit: 10) { _additional { id vector # Returns [] or null } text doc_hash source document_id dataset_id doc_id } } }` <img width="1214" height="601" alt="Image" src="https://github.com/user-attachments/assets/1cf2b264-cde2-410f-a6c4-ccd74a2b24a8" />
yindo added the 👻 feat:rag label 2026-02-21 20:12:34 -05:00
yindo closed this issue 2026-02-21 20:12:34 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Jan 5, 2026):

Hi @qiulibaba-ai! I'm Dosu and I’m helping the dify team.

This happens because Dify v1.10.0+ (including v1.11.1) and Weaviate v1.27.0 require each collection to have a named vector called "default" in the schema. If your Weaviate collections were created before the upgrade, they likely lack this, which causes the vector field to return empty arrays—even if you explicitly request it in GraphQL.

To resolve this, you need to re-index or re-upload your documents so Dify recreates the collections with the correct "default" named vector configuration. You can trigger this by uploading a new document, disabling and re-enabling files in the knowledge base, or switching the embedding model (change to another model, save, then switch back and save again) to force a re-index. There’s no automated migration script; manual re-indexing is required for legacy data [discussion].

Also, make sure your Weaviate Docker container exposes both HTTP (8080) and gRPC (50051) ports, as missing gRPC can cause vector retrieval issues [migration guide]. Confirm your Dify API container is using weaviate>=4.0.0 [issue].

If you use custom ingestion scripts, ensure they set the vector payload as {"default": embedding}. Finally, check for case sensitivity mismatches between class/node names in Dify and Weaviate—names must match exactly in both storage and queries [issue].

If the problem persists after these steps, check Dify and Weaviate logs for errors related to vector retrieval.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

Chat with Dosu Open in Cursor Join Discord Share on X

@dosubot[bot] commented on GitHub (Jan 5, 2026): <!-- Greeting --> Hi @qiulibaba-ai! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the dify team. <!-- Answer --> This happens because Dify v1.10.0+ (including v1.11.1) and Weaviate v1.27.0 require each collection to have a named vector called `"default"` in the schema. If your Weaviate collections were created before the upgrade, they likely lack this, which causes the vector field to return empty arrays—even if you explicitly request it in GraphQL. To resolve this, you need to re-index or re-upload your documents so Dify recreates the collections with the correct `"default"` named vector configuration. You can trigger this by uploading a new document, disabling and re-enabling files in the knowledge base, or switching the embedding model (change to another model, save, then switch back and save again) to force a re-index. There’s no automated migration script; manual re-indexing is required for legacy data [[discussion](https://github.com/langgenius/dify/discussions/28216)]. Also, make sure your Weaviate Docker container exposes both HTTP (8080) and gRPC (50051) ports, as missing gRPC can cause vector retrieval issues [[migration guide](https://github.com/langgenius/dify/blob/main/docs/weaviate/WEAVIATE_MIGRATION_GUIDE/README.md)]. Confirm your Dify API container is using `weaviate>=4.0.0` [[issue](https://github.com/langgenius/dify/issues/26925)]. If you use custom ingestion scripts, ensure they set the vector payload as `{"default": embedding}`. Finally, check for case sensitivity mismatches between class/node names in Dify and Weaviate—names must match exactly in both storage and queries [[issue](https://github.com/langgenius/dify/issues/27027)]. If the problem persists after these steps, check Dify and Weaviate logs for errors related to vector retrieval. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=other)</sup> [![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Open in Cursor](https://dosu.dev/dosu-in-cursor.svg)](https://cursor.com/link/prompt?text=This%20happens%20because%20Dify%20v1.10.0%2B%20%28including%20v1.11.1%29%20and%20Weaviate%20v1.27.0%20require%20each%20collection%20to%20have%20a%20named%20vector%20called%20%60%22default%22%60%20in%20the%20schema.%20If%20your%20Weaviate%20collections%20were%20created%20before%20the%20upgrade%2C%20they%20likely%20lack%20this%2C%20which%20causes%20the%20vector%20field%20to%20return%20empty%20arrays%E2%80%94even%20if%20you%20explicitly%20request%20it%20in%20GraphQL.%20%0A%0ATo%20resolve%20this%2C%20you%20need%20to%20re-index%20or%20re-upload%20your%20documents%20so%20Dify%20recreates%20the%20collections%20with%20the%20correct%20%60%22default%22%60%20named%20vector%20configuration.%20You%20can%20trigger%20this%20by%20uploading%20a%20new%20document%2C%20disabling%20and%20re-enabling%20files%20in%20the%20knowledge%20base%2C%20or%20switching%20the%20embedding%20model%20%28change%20to%20another%20model%2C%20save%2C%20then%20switch%20back%20and%20save%20again%29%20to%20force%20a%20re-index.%20There%E2%80%99s%20no%20automated%20migration%20script%3B%20manual%20re-indexing%20is%20required%20for%20legacy%20data%20%5B%5Bdiscussion%5D%28https%3A//github.com/langgenius/dify/discussions/28216%29%5D.%0A%0AAlso%2C%20make%20sure%20your%20Weaviate%20Docker%20container%20exposes%20both%20HTTP%20%288080%29%20and%20gRPC%20%2850051%29%20ports%2C%20as%20missing%20gRPC%20can%20cause%20vector%20retrieval%20issues%20%5B%5Bmigration%20guide%5D%28https%3A//github.com/langgenius/dify/blob/main/docs/weaviate/WEAVIATE_MIGRATION_GUIDE/README.md%29%5D.%20Confirm%20your%20Dify%20API%20container%20is%20using%20%60weaviate%3E%3D4.0.0%60%20%5B%5Bissue%5D%28https%3A//github.com/langgenius/dify/issues/26925%29%5D.%0A%0AIf%20you%20use%20custom%20ingestion%20scripts%2C%20ensure%20they%20set%20the%20vector%20payload%20as%20%60%7B%22default%22%3A%20embedding%7D%60.%20Finally%2C%20check%20for%20case%20sensitivity%20mismatches%20between%20class/node%20names%20in%20Dify%20and%20Weaviate%E2%80%94names%20must%20match%20exactly%20in%20both%20storage%20and%20queries%20%5B%5Bissue%5D%28https%3A//github.com/langgenius/dify/issues/27027%29%5D.%20%0A%0AIf%20the%20problem%20persists%20after%20these%20steps%2C%20check%20Dify%20and%20Weaviate%20logs%20for%20errors%20related%20to%20vector%20retrieval.)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/30567)
Author
Owner

@qiulibaba-ai commented on GitHub (Jan 5, 2026):

Thanks! You're right. The issue is confirmed to be the Named Vector requirement. The vectors are now stored under "default", so the legacy vector field returns empty.

I will re-index the documents and ensure gRPC (port 50051) is enabled as suggested.

你好@qiulibaba-ai我是Dosu,我正在协助 dify 团队。

这是因为 Dify v1.10.0+(包括 v1.11.1)和 Weaviate v1.27.0 要求每个集合的 schema 中都必须包含一个名为 vector 的向量"default"。如果您的 Weaviate 集合是在升级之前创建的,则它们可能缺少此向量,这会导致向量字段返回空数组——即使您在 GraphQL 中显式请求了该向量。

要解决此问题,您需要重新索引或重新上传文档,以便 Dify 使用正确的"default"命名向量配置重新创建集合。您可以通过上传新文档、禁用并重新启用知识库中的文件,或者切换嵌入模型(切换到另一个模型并保存,然后再切换回来并再次保存)来强制重新索引。目前没有自动迁移脚本;对于旧数据,需要手动重新索引 [讨论]。

此外,请确保您的 Weaviate Docker 容器同时暴露 HTTP (8080) 和 gRPC (50051) 端口,因为缺少 gRPC 端口可能会导致向量检索问题 [迁移指南]。确认您的 Dify API 容器正在使用weaviate>=4.0.0[问题]。

如果您使用自定义摄取脚本,请确保它们将向量有效负载设置为{"default": embedding}。最后,检查 Dify 和 Weaviate 中的类/节点名称是否存在大小写不匹配——名称在存储和查询中必须完全匹配 [问题]。

如果执行这些步骤后问题仍然存在,请检查 Dify 和 Weaviate 日志中是否存在与向量检索相关的错误。

回复时只需提及@dosu即可。

我做得怎么样?|无关|错误|冗长|幻觉|举报 🐛 |其他

与 Dosu 聊天 在光标中打开 加入 Discord 分享至 X

@qiulibaba-ai commented on GitHub (Jan 5, 2026): Thanks! You're right. The issue is confirmed to be the Named Vector requirement. The vectors are now stored under "default", so the legacy vector field returns empty. I will re-index the documents and ensure gRPC (port 50051) is enabled as suggested. > 你好[@qiulibaba-ai](https://github.com/qiulibaba-ai)我是[Dosu](https://go.dosu.dev/dosubot),我正在协助 dify 团队。 > > 这是因为 Dify v1.10.0+(包括 v1.11.1)和 Weaviate v1.27.0 要求每个集合的 schema 中都必须包含一个名为 `vector` 的向量`"default"`。如果您的 Weaviate 集合是在升级之前创建的,则它们可能缺少此向量,这会导致向量字段返回空数组——即使您在 GraphQL 中显式请求了该向量。 > > 要解决此问题,您需要重新索引或重新上传文档,以便 Dify 使用正确的`"default"`命名向量配置重新创建集合。您可以通过上传新文档、禁用并重新启用知识库中的文件,或者切换嵌入模型(切换到另一个模型并保存,然后再切换回来并再次保存)来强制重新索引。目前没有自动迁移脚本;对于旧数据,需要手动重新索引 [[讨论](https://github.com/langgenius/dify/discussions/28216)]。 > > 此外,请确保您的 Weaviate Docker 容器同时暴露 HTTP (8080) 和 gRPC (50051) 端口,因为缺少 gRPC 端口可能会导致向量检索问题 [[迁移指南](https://github.com/langgenius/dify/blob/main/docs/weaviate/WEAVIATE_MIGRATION_GUIDE/README.md)]。确认您的 Dify API 容器正在使用`weaviate>=4.0.0`[[问题](https://github.com/langgenius/dify/issues/26925)]。 > > 如果您使用自定义摄取脚本,请确保它们将向量有效负载设置为`{"default": embedding}`。最后,检查 Dify 和 Weaviate 中的类/节点名称是否存在大小写不匹配——名称在存储和查询中必须完全匹配 [[问题](https://github.com/langgenius/dify/issues/27027)]。 > > 如果执行这些步骤后问题仍然存在,请检查 Dify 和 Weaviate 日志中是否存在与向量检索相关的错误。 > > _回复时只需提及[@dosu](https://go.dosu.dev/dosubot)即可。_ > > 我做得怎么样?[好](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=great_response)|[无关](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=irrelevant_answer)|[错误](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=incorrect_sources)|[冗长](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=too_verbose)|[幻觉](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=hallucination)|[举报 🐛](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=bug_report) |[其他](https://app.dosu.dev/response-feedback/43427e87-4c38-47ca-8c62-0608038cfd65?feedback_type=other) > > [![与 Dosu 聊天](https://camo.githubusercontent.com/7c571478962a6b8a5d47cac74b6824c75e4f6731bba52377e6007f9150462923/68747470733a2f2f646f73752e6465762f646f73752d636861742d62616467652e737667)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github) [![在光标中打开](https://camo.githubusercontent.com/bdf7dbded65ee585887f47e5fd6fa099ea0933088b4b03d02e83b4def50154d4/68747470733a2f2f646f73752e6465762f646f73752d696e2d637572736f722e737667)](https://cursor.com/link/prompt?text=This%20happens%20because%20Dify%20v1.10.0%2B%20%28including%20v1.11.1%29%20and%20Weaviate%20v1.27.0%20require%20each%20collection%20to%20have%20a%20named%20vector%20called%20%60%22default%22%60%20in%20the%20schema.%20If%20your%20Weaviate%20collections%20were%20created%20before%20the%20upgrade%2C%20they%20likely%20lack%20this%2C%20which%20causes%20the%20vector%20field%20to%20return%20empty%20arrays%E2%80%94even%20if%20you%20explicitly%20request%20it%20in%20GraphQL.%20%0A%0ATo%20resolve%20this%2C%20you%20need%20to%20re-index%20or%20re-upload%20your%20documents%20so%20Dify%20recreates%20the%20collections%20with%20the%20correct%20%60%22default%22%60%20named%20vector%20configuration.%20You%20can%20trigger%20this%20by%20uploading%20a%20new%20document%2C%20disabling%20and%20re-enabling%20files%20in%20the%20knowledge%20base%2C%20or%20switching%20the%20embedding%20model%20%28change%20to%20another%20model%2C%20save%2C%20then%20switch%20back%20and%20save%20again%29%20to%20force%20a%20re-index.%20There%E2%80%99s%20no%20automated%20migration%20script%3B%20manual%20re-indexing%20is%20required%20for%20legacy%20data%20%5B%5Bdiscussion%5D%28https%3A//github.com/langgenius/dify/discussions/28216%29%5D.%0A%0AAlso%2C%20make%20sure%20your%20Weaviate%20Docker%20container%20exposes%20both%20HTTP%20%288080%29%20and%20gRPC%20%2850051%29%20ports%2C%20as%20missing%20gRPC%20can%20cause%20vector%20retrieval%20issues%20%5B%5Bmigration%20guide%5D%28https%3A//github.com/langgenius/dify/blob/main/docs/weaviate/WEAVIATE_MIGRATION_GUIDE/README.md%29%5D.%20Confirm%20your%20Dify%20API%20container%20is%20using%20%60weaviate%3E%3D4.0.0%60%20%5B%5Bissue%5D%28https%3A//github.com/langgenius/dify/issues/26925%29%5D.%0A%0AIf%20you%20use%20custom%20ingestion%20scripts%2C%20ensure%20they%20set%20the%20vector%20payload%20as%20%60%7B%22default%22%3A%20embedding%7D%60.%20Finally%2C%20check%20for%20case%20sensitivity%20mismatches%20between%20class/node%20names%20in%20Dify%20and%20Weaviate%E2%80%94names%20must%20match%20exactly%20in%20both%20storage%20and%20queries%20%5B%5Bissue%5D%28https%3A//github.com/langgenius/dify/issues/27027%29%5D.%20%0A%0AIf%20the%20problem%20persists%20after%20these%20steps%2C%20check%20Dify%20and%20Weaviate%20logs%20for%20errors%20related%20to%20vector%20retrieval.) [![加入 Discord](https://camo.githubusercontent.com/7d2066700925db1e370d956834f9ea0e5bc92cecbe84963fbd2a363e45091b4e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6a6f696e2d3538363546323f6c6f676f3d646973636f7264266c6f676f436f6c6f723d7768697465266c6162656c3d)](https://go.dosu.dev/discord-bot) [![分享至 X](https://camo.githubusercontent.com/a8bd7f3fcf3f5e3bd124eee9ae50ae2ac17b40971726665ac2121d48f9aee155/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f582d73686172652d626c61636b)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/30567)
Author
Owner

@qiulibaba-ai commented on GitHub (Jan 5, 2026):

Thanks! You're right. The issue is confirmed to be the Named Vector requirement. The vectors are now stored under "default", so the legacy vector field returns empty.

@qiulibaba-ai commented on GitHub (Jan 5, 2026): Thanks! You're right. The issue is confirmed to be the Named Vector requirement. The vectors are now stored under "default", so the legacy vector field returns empty.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#21443