KB indexing stuck then becomes Error when using Vertex AI multimodalembedding@001 #21264

Closed
opened 2026-02-21 20:11:41 -05:00 by yindo · 4 comments
Owner

Originally created by @unmo on GitHub (Dec 24, 2025).

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

v1.11.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

Summary

When using Vertex AI multimodalembedding@001 as the embedding model for Knowledge Base indexing,
the dataset stays in Queued/Indexing for a long time and eventually transitions to Error.

In contrast, using Vertex AI text-embedding-004 in the same environment works correctly (indexing completes and the dataset becomes usable).

This suggests a model-specific issue with multimodalembedding@001 or its request/response handling in KB indexing.


Environment

  • Deployment: docker-compose (official setup)
  • OS: Ubuntu
  • Vector DB: Weaviate (healthy)
  • Redis: healthy
  • Services:
    • dify-api
    • worker
    • worker_beat
    • plugin_daemon
    • weaviate
    • redis

What works

  • Vertex AI Gemini models work correctly for text generation
  • Vertex AI text-embedding-004 works correctly for Knowledge Base indexing
  • plugin_daemon endpoints respond with 200 OK

What does not work

  • Vertex AI multimodalembedding@001
  • KB indexing stays in Queued/Indexing for a long time
  • Eventually the dataset status becomes Error
  • No clear exception is visible in docker-api-1 logs (only 200 OK calls to plugin_daemon)

Steps to reproduce

  1. Deploy Dify v1.11.1 using docker-compose
  2. Configure Vertex AI provider
  3. Set Knowledge Base embedding model to:
    • multimodalembedding@001
  4. Create or update a Knowledge Base dataset (text documents)
  5. Observe dataset status

✔️ Expected Behavior

  • KB indexing completes successfully
  • Dataset becomes usable after indexing

Actual Behavior

  • Indexing remains in Queued/Indexing for an extended period
  • Then dataset status becomes Error
  • docker-api-1 logs show only successful calls to plugin_daemon:5002 (200 OK), no explicit stack trace

docker-api-1 logs

2025-12-24 20:21:07.763 DEBUG [Dummy-133] [_trace.py:47] - send_request_headers.started request=<Request [b'GET']>
2025-12-24 20:21:07.764 DEBUG [Dummy-133] [_trace.py:47] - send_request_headers.complete
2025-12-24 20:21:07.764 DEBUG [Dummy-133] [_trace.py:47] - send_request_body.started request=<Request [b'GET']>
2025-12-24 20:21:07.765 DEBUG [Dummy-133] [_trace.py:47] - send_request_body.complete
2025-12-24 20:21:07.765 DEBUG [Dummy-133] [_trace.py:47] - receive_response_headers.started request=<Request [b'GET']>
2025-12-24 20:21:07.765 DEBUG [Dummy-133] [_trace.py:47] - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Content-Type', b'application/octet-stream'), (b'Date', b'Wed, 24 Dec 2025 11:21:07 GMT'), (b'Transfer-Encoding', b'chunked')])
2025-12-24 20:21:07.766 INFO [Dummy-133] [_client.py:1038] - HTTP Request: GET http://plugin_daemon:5002/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/2278175dfbe836dec4dddb0f76bbcd1ad5d4c63e0f775a5b896c44bb3b4af825.svg "HTTP/1.1 200 OK"
2025-12-24 20:21:07.766 DEBUG [Dummy-133] [_trace.py:47] - receive_response_body.started request=<Request [b'GET']>
2025-12-24 20:21:07.767 DEBUG [Dummy-133] [_trace.py:47] - receive_response_body.complete
2025-12-24 20:21:07.767 DEBUG [Dummy-133] [_trace.py:47] - response_closed.started
2025-12-24 20:21:07.767 DEBUG [Dummy-133] [_trace.py:47] - response_closed.complete
2025-12-24 20:21:07.768 DEBUG [Dummy-132] [_trace.py:47] - close.started
2025-12-24 20:21:07.768 DEBUG [Dummy-132] [_trace.py:47] - close.complete
2025-12-24 20:21:07.770 DEBUG [Dummy-131] [_trace.py:47] - close.started
2025-12-24 20:21:07.770 DEBUG [Dummy-131] [_trace.py:47] - close.complete
2025-12-24 20:21:07.774 DEBUG [Dummy-133] [_trace.py:47] - close.started
2025-12-24 20:21:07.774 DEBUG [Dummy-133] [_trace.py:47] - close.complete
2025-12-24 20:21:07.779 DEBUG [Dummy-134] [_config.py:82] - load_ssl_context verify=True cert=None trust_env=True http2=False
2025-12-24 20:21:07.780 DEBUG [Dummy-134] [_config.py:148] - load_verify_locations cafile='/app/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem'
2025-12-24 20:21:07.816 DEBUG [Dummy-134] [_trace.py:47] - connect_tcp.started host='marketplace.dify.ai' port=443 local_address=None timeout=5.0 socket_options=None
2025-12-24 20:21:07.825 DEBUG [Dummy-134] [_trace.py:47] - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f6ec113d5e0>
2025-12-24 20:21:07.826 DEBUG [Dummy-134] [_trace.py:47] - start_tls.started ssl_context=<gevent.ssl.SSLContext object at 0x7f6ec17a8250> server_hostname='marketplace.dify.ai' timeout=5.0
2025-12-24 20:21:07.833 DEBUG [Dummy-134] [_trace.py:47] - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f6ee2e036b0>
2025-12-24 20:21:07.833 DEBUG [Dummy-134] [_trace.py:47] - send_request_headers.started request=<Request [b'POST']>
2025-12-24 20:21:07.834 DEBUG [Dummy-134] [_trace.py:47] - send_request_headers.complete
2025-12-24 20:21:07.834 DEBUG [Dummy-134] [_trace.py:47] - send_request_body.started request=<Request [b'POST']>
2025-12-24 20:21:07.834 DEBUG [Dummy-134] [_trace.py:47] - send_request_body.complete
2025-12-24 20:21:07.835 DEBUG [Dummy-134] [_trace.py:47] - receive_response_headers.started request=<Request [b'POST']>
2025-12-24 20:21:08.055 DEBUG [Dummy-134] [_trace.py:47] - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 24 Dec 2025 11:21:08 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'X-Frame-Options', b'DENY'), (b'cf-cache-status', b'DYNAMIC'), (b'Report-To', b'{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=GtjlHatEJzwbfxPa6Fcq46Ok9smj2sieuizmpcrUnAEGBiUItaEmDABnlaj5rej%2FtIaRZ7Cw%2BRQT2iMbvptDNlctwGkqfF4zbOKZjyR9aDEBfQ%3D%3D"}]}'), (b'Nel', b'{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains'), (b'X-Content-Type-Options', b'nosniff'), (b'Content-Encoding', b'br'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9b2fb69ffb7a4a26-NRT')])
2025-12-24 20:21:08.055 INFO [Dummy-134] [_client.py:1038] - HTTP Request: POST https://marketplace.dify.ai/api/v1/plugins/batch "HTTP/1.1 200 OK"
2025-12-24 20:21:08.055 DEBUG [Dummy-134] [_trace.py:47] - receive_response_body.started request=<Request [b'POST']>
2025-12-24 20:21:08.408 DEBUG [Dummy-134] [_trace.py:47] - receive_response_body.complete
2025-12-24 20:21:08.409 DEBUG [Dummy-134] [_trace.py:47] - response_closed.started
2025-12-24 20:21:08.409 DEBUG [Dummy-134] [_trace.py:47] - response_closed.complete
2025-12-24 20:21:08.409 DEBUG [Dummy-134] [_trace.py:47] - close.started
2025-12-24 20:21:08.410 DEBUG [Dummy-134] [_trace.py:47] - close.complete
2025-12-24 20:22:22.722 DEBUG [Dummy-135] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:22:22.728 DEBUG [Dummy-136] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:22:22.745 DEBUG [Dummy-137] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream
2025-12-24 20:22:22.839 DEBUG [Dummy-138] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:22:22.847 DEBUG [Dummy-139] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:22:22.849 DEBUG [Dummy-140] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream
2025-12-24 20:24:24.272 DEBUG [Dummy-141] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:24.274 DEBUG [Dummy-142] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream
2025-12-24 20:24:24.276 DEBUG [Dummy-143] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:24.277 DEBUG [Dummy-144] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:24.279 DEBUG [Dummy-145] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:24.282 DEBUG [Dummy-146] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream
2025-12-24 20:24:24.379 DEBUG [Dummy-147] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:24.380 DEBUG [Dummy-148] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream
2025-12-24 20:24:24.381 DEBUG [Dummy-149] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:24.383 DEBUG [Dummy-150] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:24.384 DEBUG [Dummy-151] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:24.385 DEBUG [Dummy-152] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream
2025-12-24 20:24:39.745 DEBUG [Dummy-153] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:39.747 DEBUG [Dummy-154] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:39.759 DEBUG [Dummy-155] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream
2025-12-24 20:24:39.761 DEBUG [Dummy-156] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:39.763 DEBUG [Dummy-157] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:39.765 DEBUG [Dummy-158] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream
2025-12-24 20:24:39.853 DEBUG [Dummy-159] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:39.854 DEBUG [Dummy-160] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:39.855 DEBUG [Dummy-161] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:39.856 DEBUG [Dummy-162] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream
2025-12-24 20:24:39.858 DEBUG [Dummy-163] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream
2025-12-24 20:24:39.859 DEBUG [Dummy-164] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream
2025-12-24 20:30:01.860 DEBUG [Dummy-165] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/89abd22b-614a-4d51-9b7a-cebc98540502.png loaded as stream
2025-12-24 20:30:01.862 DEBUG [Dummy-166] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/89abd22b-614a-4d51-9b7a-cebc98540502.png loaded as stream
2025-12-24 20:30:01.865 DEBUG [Dummy-167] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8bb5405b-27cb-45e2-a14f-4df1703b3154.png loaded as stream
2025-12-24 20:30:01.867 DEBUG [Dummy-168] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8bb5405b-27cb-45e2-a14f-4df1703b3154.png loaded as stream
2025-12-24 20:30:01.869 DEBUG [Dummy-169] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/a27866e4-b5ce-45c0-8cae-e5adf31955db.png loaded as stream
2025-12-24 20:30:01.872 DEBUG [Dummy-170] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/a27866e4-b5ce-45c0-8cae-e5adf31955db.png loaded as stream
2025-12-24 20:30:01.874 DEBUG [Dummy-171] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/f0b52e46-7407-4b3c-971a-4f9ae00522d6.png loaded as stream
2025-12-24 20:30:01.877 DEBUG [Dummy-172] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/f0b52e46-7407-4b3c-971a-4f9ae00522d6.png loaded as stream

docker-plugin_deamon-1 logs

[GIN] 2025/12/24 - 11:19:42 | 200 | 11.688142ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:19:42 | 200 | 36.283µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/03cf40e3202eb92358b6da24bf838aece48bc6985ffb9a8ccd97b1c791076ae7.svg"
[GIN] 2025/12/24 - 11:19:42 | 200 | 6.161219ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:20:22 | 200 | 11.037434ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:20:22 | 200 | 44.106µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/03cf40e3202eb92358b6da24bf838aece48bc6985ffb9a8ccd97b1c791076ae7.svg"
[GIN] 2025/12/24 - 11:20:22 | 200 | 6.809086ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:20:22 | 200 | 16.505519ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:20:22 | 200 | 3.338862ms | 172.23.0.8 | POST "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/dispatch/model/schema"
[GIN] 2025/12/24 - 11:20:24 | 200 | 6.670074ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:20:24 | 200 | 49.121966ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:20:24 | 200 | 211.39µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/644259f004250ae2488aa179ee3c76a95a1c7595ada2665d7d5720ab2cd6c0e2.svg"
[GIN] 2025/12/24 - 11:20:24 | 200 | 76.851µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/2278175dfbe836dec4dddb0f76bbcd1ad5d4c63e0f775a5b896c44bb3b4af825.svg"
[GIN] 2025/12/24 - 11:21:02 | 200 | 22.960306ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:21:02 | 200 | 54.233075ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:21:03 | 200 | 23.632956ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:21:03 | 200 | 34.049178ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:21:03 | 200 | 19.177812ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:21:03 | 200 | 24.90025ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:21:03 | 200 | 19.422269ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:21:07 | 200 | 1.825155ms | 172.23.0.8 | POST "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/debugging/key"
[GIN] 2025/12/24 - 11:21:07 | 200 | 20.424266ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/list?page=1&page_size=100&response_type=paged"
[GIN] 2025/12/24 - 11:21:07 | 200 | 13.761333ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256"
[GIN] 2025/12/24 - 11:21:07 | 200 | 42.507µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/03cf40e3202eb92358b6da24bf838aece48bc6985ffb9a8ccd97b1c791076ae7.svg"
[GIN] 2025/12/24 - 11:21:07 | 200 | 213.738µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/644259f004250ae2488aa179ee3c76a95a1c7595ada2665d7d5720ab2cd6c0e2.svg"
[GIN] 2025/12/24 - 11:21:07 | 200 | 59.454µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/2278175dfbe836dec4dddb0f76bbcd1ad5d4c63e0f775a5b896c44bb3b4af825.svg"
[GIN] 2025/12/24 - 11:22:19 | 200 | 5m0s | 172.23.0.10 | POST "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/dispatch/text_embedding/invoke"
[GIN] 2025/12/24 - 11:27:19 | 200 | 5m0s | 172.23.0.10 | POST "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/dispatch/text_embedding/invoke"

Originally created by @unmo on GitHub (Dec 24, 2025). ### 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 v1.11.1 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce ## Summary When using **Vertex AI `multimodalembedding@001`** as the embedding model for Knowledge Base indexing, the dataset stays in **Queued/Indexing** for a long time and eventually transitions to **Error**. In contrast, using **Vertex AI `text-embedding-004`** in the same environment works correctly (indexing completes and the dataset becomes usable). This suggests a model-specific issue with `multimodalembedding@001` or its request/response handling in KB indexing. --- ## Environment - Deployment: docker-compose (official setup) - OS: Ubuntu - Vector DB: Weaviate (healthy) - Redis: healthy - Services: - dify-api - worker - worker_beat - plugin_daemon - weaviate - redis --- ## What works - Vertex AI **Gemini models** work correctly for text generation - Vertex AI **text-embedding-004** works correctly for Knowledge Base indexing - `plugin_daemon` endpoints respond with `200 OK` --- ## What does not work - Vertex AI **multimodalembedding@001** - KB indexing stays in Queued/Indexing for a long time - Eventually the dataset status becomes **Error** - No clear exception is visible in `docker-api-1` logs (only 200 OK calls to plugin_daemon) --- ## Steps to reproduce 1. Deploy Dify v1.11.1 using docker-compose 2. Configure Vertex AI provider 3. Set Knowledge Base embedding model to: - `multimodalembedding@001` 4. Create or update a Knowledge Base dataset (text documents) 5. Observe dataset status ### ✔️ Expected Behavior - KB indexing completes successfully - Dataset becomes usable after indexing ### ❌ Actual Behavior - Indexing remains in Queued/Indexing for an extended period - Then dataset status becomes **Error** - `docker-api-1` logs show only successful calls to `plugin_daemon:5002` (200 OK), no explicit stack trace ### docker-api-1 logs 2025-12-24 20:21:07.763 DEBUG [Dummy-133] [_trace.py:47] - send_request_headers.started request=<Request [b'GET']> 2025-12-24 20:21:07.764 DEBUG [Dummy-133] [_trace.py:47] - send_request_headers.complete 2025-12-24 20:21:07.764 DEBUG [Dummy-133] [_trace.py:47] - send_request_body.started request=<Request [b'GET']> 2025-12-24 20:21:07.765 DEBUG [Dummy-133] [_trace.py:47] - send_request_body.complete 2025-12-24 20:21:07.765 DEBUG [Dummy-133] [_trace.py:47] - receive_response_headers.started request=<Request [b'GET']> 2025-12-24 20:21:07.765 DEBUG [Dummy-133] [_trace.py:47] - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Content-Type', b'application/octet-stream'), (b'Date', b'Wed, 24 Dec 2025 11:21:07 GMT'), (b'Transfer-Encoding', b'chunked')]) 2025-12-24 20:21:07.766 INFO [Dummy-133] [_client.py:1038] - HTTP Request: GET http://plugin_daemon:5002/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/2278175dfbe836dec4dddb0f76bbcd1ad5d4c63e0f775a5b896c44bb3b4af825.svg "HTTP/1.1 200 OK" 2025-12-24 20:21:07.766 DEBUG [Dummy-133] [_trace.py:47] - receive_response_body.started request=<Request [b'GET']> 2025-12-24 20:21:07.767 DEBUG [Dummy-133] [_trace.py:47] - receive_response_body.complete 2025-12-24 20:21:07.767 DEBUG [Dummy-133] [_trace.py:47] - response_closed.started 2025-12-24 20:21:07.767 DEBUG [Dummy-133] [_trace.py:47] - response_closed.complete 2025-12-24 20:21:07.768 DEBUG [Dummy-132] [_trace.py:47] - close.started 2025-12-24 20:21:07.768 DEBUG [Dummy-132] [_trace.py:47] - close.complete 2025-12-24 20:21:07.770 DEBUG [Dummy-131] [_trace.py:47] - close.started 2025-12-24 20:21:07.770 DEBUG [Dummy-131] [_trace.py:47] - close.complete 2025-12-24 20:21:07.774 DEBUG [Dummy-133] [_trace.py:47] - close.started 2025-12-24 20:21:07.774 DEBUG [Dummy-133] [_trace.py:47] - close.complete 2025-12-24 20:21:07.779 DEBUG [Dummy-134] [_config.py:82] - load_ssl_context verify=True cert=None trust_env=True http2=False 2025-12-24 20:21:07.780 DEBUG [Dummy-134] [_config.py:148] - load_verify_locations cafile='/app/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem' 2025-12-24 20:21:07.816 DEBUG [Dummy-134] [_trace.py:47] - connect_tcp.started host='marketplace.dify.ai' port=443 local_address=None timeout=5.0 socket_options=None 2025-12-24 20:21:07.825 DEBUG [Dummy-134] [_trace.py:47] - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f6ec113d5e0> 2025-12-24 20:21:07.826 DEBUG [Dummy-134] [_trace.py:47] - start_tls.started ssl_context=<gevent.ssl.SSLContext object at 0x7f6ec17a8250> server_hostname='marketplace.dify.ai' timeout=5.0 2025-12-24 20:21:07.833 DEBUG [Dummy-134] [_trace.py:47] - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f6ee2e036b0> 2025-12-24 20:21:07.833 DEBUG [Dummy-134] [_trace.py:47] - send_request_headers.started request=<Request [b'POST']> 2025-12-24 20:21:07.834 DEBUG [Dummy-134] [_trace.py:47] - send_request_headers.complete 2025-12-24 20:21:07.834 DEBUG [Dummy-134] [_trace.py:47] - send_request_body.started request=<Request [b'POST']> 2025-12-24 20:21:07.834 DEBUG [Dummy-134] [_trace.py:47] - send_request_body.complete 2025-12-24 20:21:07.835 DEBUG [Dummy-134] [_trace.py:47] - receive_response_headers.started request=<Request [b'POST']> 2025-12-24 20:21:08.055 DEBUG [Dummy-134] [_trace.py:47] - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 24 Dec 2025 11:21:08 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'X-Frame-Options', b'DENY'), (b'cf-cache-status', b'DYNAMIC'), (b'Report-To', b'{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=GtjlHatEJzwbfxPa6Fcq46Ok9smj2sieuizmpcrUnAEGBiUItaEmDABnlaj5rej%2FtIaRZ7Cw%2BRQT2iMbvptDNlctwGkqfF4zbOKZjyR9aDEBfQ%3D%3D"}]}'), (b'Nel', b'{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains'), (b'X-Content-Type-Options', b'nosniff'), (b'Content-Encoding', b'br'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9b2fb69ffb7a4a26-NRT')]) 2025-12-24 20:21:08.055 INFO [Dummy-134] [_client.py:1038] - HTTP Request: POST https://marketplace.dify.ai/api/v1/plugins/batch "HTTP/1.1 200 OK" 2025-12-24 20:21:08.055 DEBUG [Dummy-134] [_trace.py:47] - receive_response_body.started request=<Request [b'POST']> 2025-12-24 20:21:08.408 DEBUG [Dummy-134] [_trace.py:47] - receive_response_body.complete 2025-12-24 20:21:08.409 DEBUG [Dummy-134] [_trace.py:47] - response_closed.started 2025-12-24 20:21:08.409 DEBUG [Dummy-134] [_trace.py:47] - response_closed.complete 2025-12-24 20:21:08.409 DEBUG [Dummy-134] [_trace.py:47] - close.started 2025-12-24 20:21:08.410 DEBUG [Dummy-134] [_trace.py:47] - close.complete 2025-12-24 20:22:22.722 DEBUG [Dummy-135] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:22:22.728 DEBUG [Dummy-136] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:22:22.745 DEBUG [Dummy-137] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream 2025-12-24 20:22:22.839 DEBUG [Dummy-138] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:22:22.847 DEBUG [Dummy-139] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:22:22.849 DEBUG [Dummy-140] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream 2025-12-24 20:24:24.272 DEBUG [Dummy-141] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:24.274 DEBUG [Dummy-142] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream 2025-12-24 20:24:24.276 DEBUG [Dummy-143] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:24.277 DEBUG [Dummy-144] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:24.279 DEBUG [Dummy-145] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:24.282 DEBUG [Dummy-146] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream 2025-12-24 20:24:24.379 DEBUG [Dummy-147] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:24.380 DEBUG [Dummy-148] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream 2025-12-24 20:24:24.381 DEBUG [Dummy-149] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:24.383 DEBUG [Dummy-150] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:24.384 DEBUG [Dummy-151] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:24.385 DEBUG [Dummy-152] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream 2025-12-24 20:24:39.745 DEBUG [Dummy-153] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:39.747 DEBUG [Dummy-154] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:39.759 DEBUG [Dummy-155] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream 2025-12-24 20:24:39.761 DEBUG [Dummy-156] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:39.763 DEBUG [Dummy-157] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:39.765 DEBUG [Dummy-158] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream 2025-12-24 20:24:39.853 DEBUG [Dummy-159] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:39.854 DEBUG [Dummy-160] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:39.855 DEBUG [Dummy-161] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:39.856 DEBUG [Dummy-162] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8b2b7584-e3e3-43b9-94ad-127956a47b6d.png loaded as stream 2025-12-24 20:24:39.858 DEBUG [Dummy-163] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream 2025-12-24 20:24:39.859 DEBUG [Dummy-164] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/2d3078cb-84e3-491e-8d43-f2040451aae2.png loaded as stream 2025-12-24 20:30:01.860 DEBUG [Dummy-165] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/89abd22b-614a-4d51-9b7a-cebc98540502.png loaded as stream 2025-12-24 20:30:01.862 DEBUG [Dummy-166] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/89abd22b-614a-4d51-9b7a-cebc98540502.png loaded as stream 2025-12-24 20:30:01.865 DEBUG [Dummy-167] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8bb5405b-27cb-45e2-a14f-4df1703b3154.png loaded as stream 2025-12-24 20:30:01.867 DEBUG [Dummy-168] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/8bb5405b-27cb-45e2-a14f-4df1703b3154.png loaded as stream 2025-12-24 20:30:01.869 DEBUG [Dummy-169] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/a27866e4-b5ce-45c0-8cae-e5adf31955db.png loaded as stream 2025-12-24 20:30:01.872 DEBUG [Dummy-170] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/a27866e4-b5ce-45c0-8cae-e5adf31955db.png loaded as stream 2025-12-24 20:30:01.874 DEBUG [Dummy-171] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/f0b52e46-7407-4b3c-971a-4f9ae00522d6.png loaded as stream 2025-12-24 20:30:01.877 DEBUG [Dummy-172] [opendal_storage.py:67] - file image_files/6bc390bf-942c-4f34-a907-14a712a54d39/f0b52e46-7407-4b3c-971a-4f9ae00522d6.png loaded as stream ### docker-plugin_deamon-1 logs [GIN] 2025/12/24 - 11:19:42 | 200 | 11.688142ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:19:42 | 200 | 36.283µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/03cf40e3202eb92358b6da24bf838aece48bc6985ffb9a8ccd97b1c791076ae7.svg" [GIN] 2025/12/24 - 11:19:42 | 200 | 6.161219ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:20:22 | 200 | 11.037434ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:20:22 | 200 | 44.106µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/03cf40e3202eb92358b6da24bf838aece48bc6985ffb9a8ccd97b1c791076ae7.svg" [GIN] 2025/12/24 - 11:20:22 | 200 | 6.809086ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:20:22 | 200 | 16.505519ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:20:22 | 200 | 3.338862ms | 172.23.0.8 | POST "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/dispatch/model/schema" [GIN] 2025/12/24 - 11:20:24 | 200 | 6.670074ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:20:24 | 200 | 49.121966ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:20:24 | 200 | 211.39µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/644259f004250ae2488aa179ee3c76a95a1c7595ada2665d7d5720ab2cd6c0e2.svg" [GIN] 2025/12/24 - 11:20:24 | 200 | 76.851µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/2278175dfbe836dec4dddb0f76bbcd1ad5d4c63e0f775a5b896c44bb3b4af825.svg" [GIN] 2025/12/24 - 11:21:02 | 200 | 22.960306ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:21:02 | 200 | 54.233075ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:21:03 | 200 | 23.632956ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:21:03 | 200 | 34.049178ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:21:03 | 200 | 19.177812ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:21:03 | 200 | 24.90025ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:21:03 | 200 | 19.422269ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:21:07 | 200 | 1.825155ms | 172.23.0.8 | POST "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/debugging/key" [GIN] 2025/12/24 - 11:21:07 | 200 | 20.424266ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/list?page=1&page_size=100&response_type=paged" [GIN] 2025/12/24 - 11:21:07 | 200 | 13.761333ms | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/management/models?page=1&page_size=256" [GIN] 2025/12/24 - 11:21:07 | 200 | 42.507µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/03cf40e3202eb92358b6da24bf838aece48bc6985ffb9a8ccd97b1c791076ae7.svg" [GIN] 2025/12/24 - 11:21:07 | 200 | 213.738µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/644259f004250ae2488aa179ee3c76a95a1c7595ada2665d7d5720ab2cd6c0e2.svg" [GIN] 2025/12/24 - 11:21:07 | 200 | 59.454µs | 172.23.0.8 | GET "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/asset/2278175dfbe836dec4dddb0f76bbcd1ad5d4c63e0f775a5b896c44bb3b4af825.svg" [GIN] 2025/12/24 - 11:22:19 | 200 | 5m0s | 172.23.0.10 | POST "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/dispatch/text_embedding/invoke" [GIN] 2025/12/24 - 11:27:19 | 200 | 5m0s | 172.23.0.10 | POST "/plugin/6bc390bf-942c-4f34-a907-14a712a54d39/dispatch/text_embedding/invoke"
yindo added the 🐞 bug label 2026-02-21 20:11:41 -05:00
yindo closed this issue 2026-02-21 20:11:41 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Dec 24, 2025):

Support for Vertex AI multimodalembedding@001 was added in a recent Dify release, but issues like yours can occur if the plugin daemon or dify-official-plugins are not fully up to date with the latest fixes and SDK changes. The Dify backend routes multimodal embedding requests differently from text embeddings, and relies on the plugin daemon to handle model-specific logic. If the plugin or daemon is outdated, or if the request payloads are not handled as expected, this can cause silent failures or timeouts—especially since logs may only show 200 OK responses even when the embedding fails internally.

Recent plugin updates migrated to the new google-genai SDK and improved error handling for Vertex AI models, including multimodalembedding@001. Make sure your plugin daemon and plugins are updated to include these changes, as older versions may not handle the new model or its required content formats correctly source.

Timeouts and stuck indexing can also result from large document batches or payloads. Try reducing the chunk size or batch size for your documents to see if smaller requests succeed source.

If the problem persists after updating, enable debug logging in the plugin daemon and check specifically for errors or timeouts on the /dispatch/multimodal_embedding/invoke endpoint. Capturing the full request and response payloads may help identify any model-specific incompatibilities or malformed responses.

Recent Dify versions also added new configuration options for multimodal embedding, such as image file batch limits and attachment size limits, which may affect processing if your documents include images or other non-text content source.

In summary: update your plugin daemon and plugins, test with smaller document batches, and check detailed logs for hidden errors. This should help resolve or further diagnose the issue with Vertex AI multimodalembedding@001.

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 (Dec 24, 2025): <!-- Answer --> Support for Vertex AI multimodalembedding@001 was added in a recent Dify release, but issues like yours can occur if the plugin daemon or dify-official-plugins are not fully up to date with the latest fixes and SDK changes. The Dify backend routes multimodal embedding requests differently from text embeddings, and relies on the plugin daemon to handle model-specific logic. If the plugin or daemon is outdated, or if the request payloads are not handled as expected, this can cause silent failures or timeouts—especially since logs may only show 200 OK responses even when the embedding fails internally. Recent plugin updates migrated to the new google-genai SDK and improved error handling for Vertex AI models, including multimodalembedding@001. Make sure your plugin daemon and plugins are updated to include these changes, as older versions may not handle the new model or its required content formats correctly [source](https://github.com/langgenius/dify-official-plugins/pull/1914). Timeouts and stuck indexing can also result from large document batches or payloads. Try reducing the chunk size or batch size for your documents to see if smaller requests succeed [source](https://github.com/langgenius/dify-docs/issues/397). If the problem persists after updating, enable debug logging in the plugin daemon and check specifically for errors or timeouts on the /dispatch/multimodal_embedding/invoke endpoint. Capturing the full request and response payloads may help identify any model-specific incompatibilities or malformed responses. Recent Dify versions also added new configuration options for multimodal embedding, such as image file batch limits and attachment size limits, which may affect processing if your documents include images or other non-text content [source](https://github.com/langgenius/dify/pull/29115). In summary: update your plugin daemon and plugins, test with smaller document batches, and check detailed logs for hidden errors. This should help resolve or further diagnose the issue with Vertex AI multimodalembedding@001. <!-- 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/dd2c13bd-c6c0-49d1-9cc3-0116603e2786?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/dd2c13bd-c6c0-49d1-9cc3-0116603e2786?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/dd2c13bd-c6c0-49d1-9cc3-0116603e2786?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/dd2c13bd-c6c0-49d1-9cc3-0116603e2786?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/dd2c13bd-c6c0-49d1-9cc3-0116603e2786?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/dd2c13bd-c6c0-49d1-9cc3-0116603e2786?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/dd2c13bd-c6c0-49d1-9cc3-0116603e2786?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=Support%20for%20Vertex%20AI%20multimodalembedding%40001%20was%20added%20in%20a%20recent%20Dify%20release%2C%20but%20issues%20like%20yours%20can%20occur%20if%20the%20plugin%20daemon%20or%20dify-official-plugins%20are%20not%20fully%20up%20to%20date%20with%20the%20latest%20fixes%20and%20SDK%20changes.%20The%20Dify%20backend%20routes%20multimodal%20embedding%20requests%20differently%20from%20text%20embeddings%2C%20and%20relies%20on%20the%20plugin%20daemon%20to%20handle%20model-specific%20logic.%20If%20the%20plugin%20or%20daemon%20is%20outdated%2C%20or%20if%20the%20request%20payloads%20are%20not%20handled%20as%20expected%2C%20this%20can%20cause%20silent%20failures%20or%20timeouts%E2%80%94especially%20since%20logs%20may%20only%20show%20200%20OK%20responses%20even%20when%20the%20embedding%20fails%20internally.%20%0A%0ARecent%20plugin%20updates%20migrated%20to%20the%20new%20google-genai%20SDK%20and%20improved%20error%20handling%20for%20Vertex%20AI%20models%2C%20including%20multimodalembedding%40001.%20Make%20sure%20your%20plugin%20daemon%20and%20plugins%20are%20updated%20to%20include%20these%20changes%2C%20as%20older%20versions%20may%20not%20handle%20the%20new%20model%20or%20its%20required%20content%20formats%20correctly%20%5Bsource%5D%28https%3A//github.com/langgenius/dify-official-plugins/pull/1914%29.%0A%0ATimeouts%20and%20stuck%20indexing%20can%20also%20result%20from%20large%20document%20batches%20or%20payloads.%20Try%20reducing%20the%20chunk%20size%20or%20batch%20size%20for%20your%20documents%20to%20see%20if%20smaller%20requests%20succeed%20%5Bsource%5D%28https%3A//github.com/langgenius/dify-docs/issues/397%29.%0A%0AIf%20the%20problem%20persists%20after%20updating%2C%20enable%20debug%20logging%20in%20the%20plugin%20daemon%20and%20check%20specifically%20for%20errors%20or%20timeouts%20on%20the%20/dispatch/multimodal_embedding/invoke%20endpoint.%20Capturing%20the%20full%20request%20and%20response%20payloads%20may%20help%20identify%20any%20model-specific%20incompatibilities%20or%20malformed%20responses.%0A%0ARecent%20Dify%20versions%20also%20added%20new%20configuration%20options%20for%20multimodal%20embedding%2C%20such%20as%20image%20file%20batch%20limits%20and%20attachment%20size%20limits%2C%20which%20may%20affect%20processing%20if%20your%20documents%20include%20images%20or%20other%20non-text%20content%20%5Bsource%5D%28https%3A//github.com/langgenius/dify/pull/29115%29.%0A%0AIn%20summary%3A%20update%20your%20plugin%20daemon%20and%20plugins%2C%20test%20with%20smaller%20document%20batches%2C%20and%20check%20detailed%20logs%20for%20hidden%20errors.%20This%20should%20help%20resolve%20or%20further%20diagnose%20the%20issue%20with%20Vertex%20AI%20multimodalembedding%40001.)&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/30117)
Author
Owner

@unmo commented on GitHub (Dec 24, 2025):

The Vertex AI plugin is updated to the latest version (v0.0.34) and is being used accordingly.

@unmo commented on GitHub (Dec 24, 2025): The Vertex AI plugin is updated to the latest version (v0.0.34) and is being used accordingly.
Author
Owner

@quicksandznzn commented on GitHub (Dec 24, 2025):

Can you check the logs for dify-worker?

@quicksandznzn commented on GitHub (Dec 24, 2025): Can you check the logs for `dify-worker`?
Author
Owner

@unmo commented on GitHub (Dec 25, 2025):

This issue was caused by concurrent embedding jobs running at the same time.

At the time of the problem, other Knowledge Base embedding processes were already running, and starting an additional indexing job with multimodalembedding@001 caused it to remain in Queued/Indexing state and eventually fail.

After ensuring that no other embedding jobs were running and retrying, the indexing completed successfully.

Conclusion

This was not a bug in the Vertex AI plugin or multimodalembedding@001 itself, but a result of simultaneous embedding jobs competing for resources / execution slots.

Closing the issue.

@unmo commented on GitHub (Dec 25, 2025): This issue was caused by **concurrent embedding jobs running at the same time**. At the time of the problem, **other Knowledge Base embedding processes were already running**, and starting an additional indexing job with `multimodalembedding@001` caused it to remain in `Queued/Indexing` state and eventually fail. After ensuring that no other embedding jobs were running and retrying, the indexing completed successfully. ### Conclusion This was not a bug in the Vertex AI plugin or `multimodalembedding@001` itself, but a result of **simultaneous embedding jobs competing for resources / execution slots**. Closing the issue.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#21264