Commit graph

29986 commits

Author SHA1 Message Date
Krrish Dholakia
6041155de0 docs: cleanup 2025-12-16 11:21:41 +05:30
yuneng-jiang
a7ff18bdc6 UI logs show overhead 2025-12-15 21:51:06 -08:00
yuneng-jiang
c5e25a1728 Merge remote-tracking branch 'origin' into litellm_ui_model_test_connection_fix 2025-12-15 21:07:32 -08:00
yuneng-jiang
66306f21b1 Add litellm overhead to spend logs metadata 2025-12-15 20:56:55 -08:00
Sameer Kankute
1222d9e376 Add doc and tests for agent skils 2025-12-16 10:20:21 +05:30
Sameer Kankute
bcfc77f683 Add beta headers for claude skills 2025-12-16 10:12:36 +05:30
yuneng-jiang
75635258db Base commit 2025-12-15 20:37:02 -08:00
Sameer Kankute
9802a6a19e Add container field in streaming response 2025-12-16 10:02:07 +05:30
yuneng-jiang
0b5317c12b
Merge pull request #18030 from BerriAI/litellm_ui_milvus
[Feature] UI - Milvus Vector Store
2025-12-15 20:22:38 -08:00
Krish Dholakia
23e70dd90b
Litellm dev 12 15 2025 p1 (#18028)
* fix(openai/responses/guardrail_translation): fix basemodel import

ensures /v1/responses output is correctly processed by guardrail handler

* fix: fix linting error

* fix: fix linting errors
2025-12-16 09:48:49 +05:30
yuneng-jiang
0eba879179 Add ability to add embedding model for milvus 2025-12-15 20:12:44 -08:00
Ishaan Jaff
244d83ff47
[Docs] Litellm add docs vertex ai engine (#18027)
* new provider doc

* add to sidebar

* stash docs

* docs fix

* docs vertex agent engine
2025-12-15 20:11:40 -08:00
Eric84626
50606bf090
Added new step into rotate master key function for processing credentials table (#17952)
* fix: Return 403 exception when calling GET responses api

* fix: added new step into rotate master key function for processing credentials table
2025-12-16 09:40:22 +05:30
Cesar Garcia
13c0ab8985
Cleanup PR template: remove redundant fields (#17956)
- Remove Title section (already in PR title)
- Remove screenshot requirement (CI validates tests)

Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2025-12-16 09:39:22 +05:30
Cesar Garcia
cd9b71093a
Improve issue labeling: add component dropdown and more provider keywords (#17957)
- Replace "ML Ops Team" dropdown with "What part of LiteLLM is this about?"
  with options: SDK, Proxy, UI Dashboard, Docs, Other
- Add component dropdown to feature_request.yml template
- Rename label-mlops.yml to label-component.yml and update to auto-label
  issues with sdk, proxy, ui-dashboard, or docs based on selection
- Add more provider keywords to issue-keyword-labeler: gemini, cohere,
  mistral, groq, ollama, deepseek
2025-12-16 09:38:39 +05:30
Sameer Kankute
e40ad5203e Add container field as provider specific field 2025-12-16 09:28:04 +05:30
Ishaan Jaff
ce113f4e4b
[Docs] Add docs on using pydantic ai agents with LiteLLM A2a gateway (#18026)
* init A2AProviderConfigManager

* move file

* move file

* add pydnatic ai folder

* init providers

* test_pydantic_ai_non_streaming

* fix import

* INIT pydantic

* use_a2a_form_fields

* test_vertex_agent_engine_streaming

* add agent_engine

* init transform for agent engine

* init agent engine

* VertexAgentEngineSSEStreamIterator

* sample

* ui add new fields

* fix vertex_credentials

* working SSE iterator

* TestVertexAgentEngineTransformRequest

* fix code QA check

* stash docs

* docs fix

* fix logo

* docs fix

* doc pydantic ai

* docs pydantic ai

* new provider

* docs fix
2025-12-15 19:43:12 -08:00
Xingjian Li
0eb7d975a1
fix: Support signed URLs with query parameters for Vertex AI Gemini (#17976)
- Fix _get_image_mime_type_from_url() to parse path without query params
- Resolves issues with Tencent Cloud COS and other signed URLs
2025-12-16 09:03:40 +05:30
Krrish Dholakia
f90dea7315 fix(docker-compose.yml): move to docker.litellm.ai 2025-12-16 08:50:34 +05:30
Igal Boxerman
636efb7795
feat(pillar): add masking support and MCP call support (#17959)
- Add 'mask' action to SUPPORTED_ON_FLAGGED_ACTIONS
  - Automatically sanitizes sensitive content using masked_session_messages
  - Allows requests to proceed with masked content instead of blocking

- Add MCP call support
  - Add pre_mcp_call and during_mcp_call to supported_event_hooks
  - Verify mcp_call is supported in call_type Literal types

- Control exception details based on config
  - Conditionally include scanners/evidence in exceptions based on
    include_scanners and include_evidence settings
  - Reduces payload size when detailed exception info isn't needed

- Add comprehensive test coverage
  - Tests for masking functionality
  - Tests for conditional exception details
  - Tests for MCP call support

- Update documentation
  - Add Mask section explaining masking functionality
  - Clarify exception details control

All changes maintain backward compatibility.
2025-12-16 08:49:03 +05:30
Ishaan Jaff
32c07113cf
[Feat] New Provider - VertexAI Agent Engine (#18014)
* init A2AProviderConfigManager

* move file

* move file

* add pydnatic ai folder

* init providers

* test_pydantic_ai_non_streaming

* fix import

* INIT pydantic

* use_a2a_form_fields

* test_vertex_agent_engine_streaming

* add agent_engine

* init transform for agent engine

* init agent engine

* VertexAgentEngineSSEStreamIterator

* sample

* ui add new fields

* fix vertex_credentials

* working SSE iterator

* TestVertexAgentEngineTransformRequest

* fix code QA check

* Potential fix for code scanning alert no. 3923: Clear-text logging of sensitive information

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-15 19:14:49 -08:00
Kris Xia
ae7c994526
fix(proxy): extract model from vertex ai passthrough url pattern (#17970)
extract model id from vertex ai passthrough routes that follow the pattern:
/vertex_ai/*/models/{model_id}:*

the model extraction now handles vertex ai routes by regex matching the model
segment from the url path, which allows proper model identification for
authentication and authorization in proxy pass-through endpoints.

adds comprehensive test coverage for vertex ai model extraction including:
- various vertex api versions (v1, v1beta1)
- different locations (us-central1, asia-southeast1)
- model names with special suffixes (gemini-1.5-pro, gemini-2.0-flash)
- precedence verification (request body model over url)
- non-vertex route isolation
2025-12-16 08:42:57 +05:30
Krish Dholakia
f58b76aee8
Revert "Revert "Litellm bedrock guardrails block precedence over masking (#17…" (#18023)
This reverts commit 0abe5cdce9.
2025-12-16 08:42:10 +05:30
Krish Dholakia
0abe5cdce9
Revert "Litellm bedrock guardrails block precedence over masking (#17968)" (#18022)
This reverts commit a0754f1c88.
2025-12-16 08:41:36 +05:30
kothamah
a0754f1c88
Litellm bedrock guardrails block precedence over masking (#17968)
* prioritized bedrock guardrail blocking by removing early return based on masking flags

When mask_request_content: true or mask_response_content: true, the method immediately returning False.

The Result: Even when Bedrock Guardrails returned action: "BLOCKED" for dangerous content, LiteLLM would not raise an exception and allowing the content through the response. 

So removed that early condition which will return true for the blocked actions based on guardrails.

* Added test case for bedrock guardrail block content precedence
2025-12-16 08:41:13 +05:30
Krrish Dholakia
7c2478b70e docs: replace ghcr link with docker.litellm.ai 2025-12-16 08:35:45 +05:30
Doni Crosby
e83f08c24d
feat(venice.ai): add support for Venice.ai API via providers.json (#17962) 2025-12-16 08:24:16 +05:30
Dmitrii Komarov
df9d3abf49
Propagate token usage when generating images with Gemini (#17987) 2025-12-16 08:20:09 +05:30
Damien
fc3f82b85a
feat(gemini): support extra_headers in batch embeddings (#18004)
* feat(vertex_ai): support extra_headers in batch embeddings

* test(vertex_ai): add Gemini batch embeddings tests for custom api_base
2025-12-16 08:16:09 +05:30
Krish Dholakia
edfb4148dc
Add workflow to create daily staging branches (#18020)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-16 08:13:54 +05:30
yuneng-jiang
be4f11eacc Fixing build 2025-12-15 18:38:41 -08:00
yuneng-jiang
8e3eb33165 Tests 2025-12-15 18:36:01 -08:00
yuneng-jiang
0ee924f91e Adding svg 2025-12-15 18:34:34 -08:00
yuneng-jiang
fabbd28b45 Adding Milvus to Vector Store in UI 2025-12-15 18:31:35 -08:00
Cesar Garcia
999ffabc39
fix(gemini): use JSON instead of form-data for image edit requests (#18012)
* fix(gemini): use JSON instead of form-data for image edit requests

Gemini's image edit API expects JSON body, not multipart/form-data.
The handler was sending form-encoded data which caused 400 errors:
"Invalid JSON payload received. Unexpected token."

Changes:
- Add use_multipart_form_data() method to BaseImageEditConfig (default True)
- Modify image_edit_handler to use json= when use_multipart_form_data() is False
- Override use_multipart_form_data() in GeminiImageEditConfig to return False

* test(gemini): add test for use_multipart_form_data
2025-12-16 07:41:02 +05:30
Shivam Rawat
c754794bc3
[fix] add qwen3-embedding-8b input per token price (#18018)
* added embedding input token price

* added embedding input token price
2025-12-16 07:38:21 +05:30
Krrish Dholakia
b0a9c85a52 fix: fix ruff linting errors 2025-12-16 07:38:07 +05:30
yuneng-jiang
9907a0d93c Tests 2025-12-15 18:04:27 -08:00
Cesar Garcia
4fdbbdfe6d
fix(anthropic): correct claude-3-7-sonnet max_tokens to 64K default (#17979)
Claude 3.7 Sonnet's default max_output_tokens is 64000, not 128000.
The 128K output limit requires the beta header 'output-128k-2025-02-19'.

This fixes the integration test failure where requests with max_tokens=128000
were being rejected by the Anthropic API.

Fixes test_multiturn_tool_calls in test_anthropic_responses_api.py
2025-12-16 07:27:40 +05:30
Ishaan Jaff
a4fb0df028
[Feat] New provider - Agent Gateway, add pydantic ai agents (#18013)
* init A2AProviderConfigManager

* move file

* move file

* add pydnatic ai folder

* init providers

* test_pydantic_ai_non_streaming

* fix import

* INIT pydantic

* use_a2a_form_fields

* TestPydanticAITransformation
2025-12-15 17:40:58 -08:00
yuneng-jiang
14feda694b Email budget alerts working 2025-12-15 16:51:25 -08:00
yuneng-jiang
7a18c81cf4 bump: version 0.1.25 → 0.1.26 2025-12-15 16:00:37 -08:00
YutaSaito
867ac17677
Merge pull request #18010 from BerriAI/litellm_fix_mcp_deepcopy_error
fix: mcp deepcopy error
2025-12-16 07:37:25 +09:00
Cesar Garcia
df19a747a2
feat(custom_llm): add image_edit and aimage_edit support (#17999)
* feat(custom_llm): add image_edit and aimage_edit support

Add support for image_edit and aimage_edit methods in CustomLLM class,
allowing users to implement custom image editing providers.

Changes:
- Add image_edit() and aimage_edit() methods to CustomLLM base class
- Add custom provider detection in litellm.image_edit() function
- Add tests for sync and async image_edit with custom handlers

* docs: add image_edit to CustomLLM documentation

- Add /v1/images/edits to supported routes
- Add Image Edit section with example
- Update Custom Handler Spec with image_edit methods
2025-12-15 14:16:36 -08:00
Yuta Saito
defea8b887 fix: mcp deepcopy error 2025-12-16 07:02:07 +09:00
Ishaan Jaff
b57b1beb61
[Feat] Guardrails - litellm content filter (#18007)
* add br ssn

* better description
2025-12-15 13:26:20 -08:00
vasilisazayka
d7e0044118
[docs] update SAP docs (#17974)
* docs(sap): update documentation

* docs(sap): update documentation

* docs(sap): update documentation

* docs(sap): update documentation
2025-12-15 13:25:26 -08:00
Alexsander Hamir
764a31f624
refactor: lazy load get_modified_max_tokens (#18002) 2025-12-15 12:33:01 -08:00
Alexsander Hamir
8f647dd25b
[Refactor] litellm/init.py: lazy load caches (#18001) 2025-12-15 12:13:51 -08:00
Alexsander Hamir
0629dcfdd5
[Refactor] litellm/init.py: lazy load http handlers (#17997) 2025-12-15 11:50:22 -08:00