Commit graph

32673 commits

Author SHA1 Message Date
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
Alexsander Hamir
93b1da7911
[Refactor] lazy imports: Use per-attribute lazy imports and extract shared constants (#17994) 2025-12-15 10:38:54 -08:00
yuneng-jiang
d8663efeab Revert "Base commit"
This reverts commit 1186cc6966.
2025-12-15 10:25:22 -08:00
yuneng-jiang
1186cc6966 Base commit 2025-12-15 10:24:47 -08:00
Sameer Kankute
9cd587f173 Fix test_basic_ocr_with_url[True] 2025-12-15 22:58:54 +05:30
Sameer Kankute
5a642c788a
Merge pull request #17980 from BerriAI/litellm_add_provider_specific_tools_in_responses
Add provider specific tools support in responses api
2025-12-15 22:53:08 +05:30
Sameer Kankute
174ab1fc66
Merge pull request #17967 from BerriAI/litellm_fireworks_ai_reasoning_param_support
Add support for reasoning param for fireworks AI models
2025-12-15 22:04:04 +05:30
Sameer Kankute
8a6f6385ed
Merge pull request #17966 from BerriAI/litellm_fix_gpt-1_image_cost_1
fix: cost calculation of gpt-image 1 model
2025-12-15 22:03:58 +05:30
Sameer Kankute
9866355315 Fix: Remove unused import 2025-12-15 21:59:46 +05:30
Jack Temple
9d420265ef fix: update UI path handling for non-root Docker and restructure HTML files 2025-12-15 10:09:05 -06:00
AlexsanderHamir
41b67b577b Fix: simplify PR template 2025-12-15 07:44:47 -08:00
Alexsander Hamir
debf3598f8
Add: CI/CD rules to default PR template for LiteLLM team. (#17985) 2025-12-15 07:41:17 -08:00
Alexsander Hamir
d743cde041
add: litellm team PR template (#17983) 2025-12-15 07:21:33 -08:00
Sameer Kankute
57bf6f74e8
Merge pull request #17844 from SamAcctX/patch-2
OpenRouter GPT 5.2, Mistral 3, and Devstral 2
2025-12-15 18:32:50 +05:30
Sameer Kankute
ccf3f7c5be Fix: use simpler implementation 2025-12-15 18:29:16 +05:30
Krish Dholakia
26fd6d5362
Guardrails API - support LLM tool call response checks on /chat/completions, /v1/responses, /v1/messages on regular + streaming calls (#17619)
* fix(unified_guardrails.py): send all chunks on completion of final stream

* feat(generic_guardrail_api.py): handle tool call response on streaming LLM responses

* fix(anthropic/chat/guardrail_translation): initial commit adding anthropic tool response streaming guardrails

enables guardrail checks on tool response from llm's to work via `/v1/messages`

* feat(anthropic/): working guardrail checks on tool response from LLMs

ensures guardrail checks on anthropic /v1/messages works as expected

* feat(responses/guardrail_translation): support tool call response guardrails on streaming for /v1/responses

ensures complete coverage of tool call responses

* refactor(openai.py): refactor to use consistent pydantic model for responses api tool response on streaming

enables non-openai model tool call response to work correctly with guardrail checks on /v1/responses

* test: update tests

* fix: fix linting error

* fix: fix failing tests

* fix: fix import errors

* fix(openai/chat/guardrail_transformation): fix final chunk returned on streaming
2025-12-15 18:19:52 +05:30
Sameer Kankute
54b09cab28 Add test for handling provider specific tools 2025-12-15 17:41:38 +05:30
Sameer Kankute
d3998d00dd Fix mypy errors 2025-12-15 17:41:05 +05:30
SamAcctX
6879924965
chore: GPT 5.2, Devstral 2, Mistral 3 backup json 2025-12-15 05:54:29 -06:00
Sameer Kankute
aa6d0056d3 Add anthropic programatic tool calling support for responses api 2025-12-15 17:22:57 +05:30
Sameer Kankute
f0928e1423 Add anthropic tool caching support 2025-12-15 17:21:24 +05:30
Sameer Kankute
64b12e0225 Add anthropic specific tools 2025-12-15 17:20:03 +05:30
Sameer Kankute
a108c95d1a Add gemini computer use tool support for responses api 2025-12-15 16:45:42 +05:30