BerriAI/litellm · error · ValueError
File reference {element} not resolved
Error message
File reference {element} not resolved What it means
Gemini embedding part-builder guard: the input element is a files/... reference that was never resolved into {mime_type, uri} by the pre-flight resolution step (missing from resolved_files), so its fileData part cannot be built.
Source
Thrown at litellm/llms/vertex_ai/gemini_embeddings/batch_embed_content_transformation.py:185
Build a single PartType for an input element, handling text, data URIs,
file references, and GCS URLs.
"""
resolved_files = resolved_files or {}
if element.startswith("data:") and ";base64," in element:
mime_type, base64_data = _parse_data_url(element)
blob: Final[BlobType] = {"mime_type": mime_type, "data": base64_data}
return PartType(inline_data=blob)
elif _is_gcs_url(element):
mime_type = _infer_mime_type_from_gcs_url(element)
file_data: Final[FileDataType] = {
"mime_type": mime_type,
"file_uri": element,
}
return PartType(file_data=file_data)
elif _is_file_reference(element):
if element not in resolved_files:
raise ValueError(f"File reference {element} not resolved")
file_info: Final = resolved_files[element]
file_data_ref: Final[FileDataType] = {
"mime_type": file_info["mime_type"],
"file_uri": file_info["uri"],
}
return PartType(file_data=file_data_ref)
else:
return PartType(text=element)
_SUPPORTED_EMBED_PARAMS: Final = {"outputDimensionality", "taskType", "title"}
def _filter_embed_params(optional_params: dict) -> dict:
"""Map and filter optional_params to only include Gemini embedding fields."""
gemini_params: Final = optional_params.copy()
if "dimensions" in gemini_params:
gemini_params["outputDimensionality"] = gemini_params.pop("dimensions")View on GitHub (pinned to 77b7c6c40c)
Solutions
- Ensure every file reference in the input is included in the file_data / resolved files mapping passed with the request.
- Check for typos in the reference key and confirm the referenced file was uploaded or provided before calling the embedding API.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/llms/vertex_ai/gemini_embeddings/batch_embed_content_transformation.py:185 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/db31362c4fe4138f.
Report an issue: GitHub.