Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/google/adk/models/lite_llm.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ def _infer_mime_type_from_uri(uri: str) -> Optional[str]:

def _looks_like_openai_file_id(file_uri: str) -> bool:
"""Returns True when file_uri resembles an OpenAI/Azure file id."""
return file_uri.startswith("file-")
return file_uri.startswith(("file-", "assistant-"))


def _is_http_url(uri: str) -> bool:
Expand Down
14 changes: 14 additions & 0 deletions tests/unittests/models/test_litellm.py
Original file line number Diff line number Diff line change
Expand Up @@ -2943,6 +2943,20 @@ async def test_get_content_file_uri_file_id_required_preserves_file_id(
assert content == [{"type": "file", "file": {"file_id": "file-abc123"}}]


@pytest.mark.asyncio
async def test_get_content_file_uri_azure_preserves_assistant_file_id():
parts = [
types.Part(
file_data=types.FileData(
file_uri="assistant-abc123",
mime_type="application/pdf",
)
)
]
content = await _get_content(parts, provider="azure", model="azure/gpt-4.1")
assert content == [{"type": "file", "file": {"file_id": "assistant-abc123"}}]


@pytest.mark.asyncio
@pytest.mark.parametrize(
"provider,model",
Expand Down
Loading