support optional mime_type in dspy.File.from_file_id
#9114
+17
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Support optional
mime_typeindspy.File.from_file_id.The main effect of this is: LiteLLM will not attempt to download file from
file_idto determine itsformat.This is critical when using Google Gemini and its Files API, because prior to this change the flow for multi-modal context was:
.uriasfile_idand instantiatedspy.File.from_file_idwhich is then converted/"adaptered" into LiteLLM-schema dict,formatby downloading the file from URL contained infile_id. This is not possible because Google Gemini Files API is write-only, and the whole generation fails.With this change we can pass Files API URIs as
file_idand we can now provide optionalmime_typeexplicitly:preventing LiteLLM from attempting to download the file.
This change addresses: