Skip to content

fix(core): preserve precomputed embeddings in async multimodal text retrieval - #23607

Open
tteok1 wants to merge 1 commit into
run-llama:mainfrom
tteok1:contrib/multimodal-async-query-embedding
Open

tteok1 wants to merge 1 commit into
run-llama:mainfrom
tteok1:contrib/multimodal-async-query-embedding

Conversation

@tteok1

@tteok1 tteok1 commented Oct 19, 2026

Copy link
Copy Markdown

Description

Preserve a supplied QueryBundle.embedding in MultiModalVectorIndexRetriever.atext_retrieve, matching synchronous text retrieval. Previously, the async path replaced it with a newly computed vector, changing the retrieved document, or raised ValueError when only an embedding was supplied.

New Package?

  • Yes
  • No

Version Bump?

Not applicable to llama-index-core.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

  • Added unit tests covering supplied embeddings with and without query text, normal text embedding, custom embedding strings, and an empty text store.
  • Before the fix: 2 regression cases failed and 3 control cases passed. After the fix: all 5 passed.
  • Related retriever, vector-store and multimodal chat tests: 45 passed, including the 5 new cases.
  • Core Mypy: no issues in 479 source files.
  • Ruff lint/format checks and git diff --check: passed.
  • Repository pre-commit checks passed on both changed files.
  • The standalone reproduction now returns the same document for sync and async retrieval.

Local validation used Windows/Python 3.12.

AI assistance

AI assisted with the guard change and regression tests. Validation used a real in-memory index/vector store with fixed embedding models, with the checks listed above run locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant