Commit Graph

5192 Commits

Author SHA1 Message Date
Sameer Kankute
26c0396146 Add documentation for chat compeltion minmax 2025-12-23 17:10:06 +05:30
Sameer Kankute
af8483b37e Fix: documentation for litellm sdk 2025-12-23 16:27:35 +05:30
Sameer Kankute
0174c56c90 Fix: documentation for litellm sdk 2025-12-23 16:23:53 +05:30
Sameer Kankute
7559869359
Merge branch 'main' into litellm_minmax_anthropic_spec 2025-12-23 16:13:47 +05:30
Sameer Kankute
403875256c Add minmax documentation 2025-12-23 16:11:26 +05:30
Cesar Garcia
40fac60ea7
docs(openai): fix gpt-5-mini reasoning_effort supported values (#18346)
Remove 'none' from gpt-5-mini's supported reasoning_effort values in the documentation table. gpt-5-mini does not support reasoning_effort="none", only minimal, low, medium, and high.
2025-12-23 15:50:57 +05:30
Sameer Kankute
c47079ba3a
Merge pull request #18062 from Chesars/fix/groq-deprecated-models
fix: remove deprecated Groq models and update model registry
2025-12-23 12:06:27 +05:30
Sameer Kankute
f6350aac9b
Merge pull request #18349 from prasadkona/feat/databricks-partner-integration
feat(databricks): Add enhanced authentication, security features, and custom user-agent support
2025-12-23 09:45:28 +05:30
Alexsander Hamir
5534038e93
Fix CI: Revert security scan changes and add GitGuardian ignore rules (#18358) 2025-12-22 17:03:53 -08:00
yuneng-jiang
87fc81f3e6 Add cloudzero ui docs 2025-12-22 13:19:03 -08:00
prasadkona
d33c54ee0c
Merge branch 'main' into feat/databricks-partner-integration 2025-12-22 12:30:03 -08:00
prasadkona
3a1baae45c feat(databricks): Add enhanced authentication, security features, and custom user-agent support
- Add OAuth M2M (Machine-to-Machine) authentication via DATABRICKS_CLIENT_ID and DATABRICKS_CLIENT_SECRET
- Add Databricks SDK auto-auth with automatic credential discovery
- Add sensitive data redaction for secure logging (tokens, API keys, secrets)
- Add custom user_agent parameter for partner attribution in Databricks telemetry
- Support user_agent in LiteLLM Proxy via config.yaml litellm_params
- Add 49 mocked unit tests for all new functionality
- Add 13 E2E tests for real-world validation (skipped in CI)
- Update documentation with new features and examples
2025-12-22 12:02:51 -08:00
Alexsander Hamir
30fa90f70d
[Feat] Enable async_post_call_failure_hook to transform error responses (#18348) 2025-12-22 11:24:30 -08:00
Sameer Kankute
6d5eb07496
Merge pull request #18336 from BerriAI/litellm_add_nova_image_embedding_support
fix: request body for image embedding request
2025-12-22 19:11:42 +05:30
Ishaan Jaff
2677d9d30d
[Feat] New provider TTS - Add AWS polly API for TTS (#18326)
* add aws_polly as new provider

* init AWSPollyTextToSpeechConfig

* test_aws_polly_tts_with_native_voice

* init aws_polly + AWS polly dispatch

* init AWSPollyTextToSpeechConfig

* fix transform

* add aws_polly as a new provider for TTS API

* add to sidebar

* docs aws polly

* code qa fix

* add AWS Polly Text-to-Speech

* add cost tracking for AWS polly

* docs fix
2025-12-22 18:19:34 +05:30
Sameer Kankute
cbc1ac9508 fix: request body for image embedding request 2025-12-22 16:55:04 +05:30
Farhan Aulianda
63c3a6e228
fix: enable JSON-only provider routing + add xiaomi_mimo provider (#18291)
* fix: enable JSON-only provider routing + add xiaomi_mimo provider

* docs: add xiaomi_mimo provider documentation
2025-12-22 12:05:22 +05:30
Yuta Saito
34b500c7f5 feat: support MCP stdio header env overrides 2025-12-22 12:58:31 +09:00
Ishaan Jaffer
fe6f0be70f add new providers 2025-12-21 09:27:25 +05:30
yuneng-jiang
f28ff1dd79 docs 2025-12-20 12:43:41 -08:00
yuneng-jiang
0bd7c01ca4
Merge branch 'main' into litellm_yuneng_docs_v18011 2025-12-20 12:38:50 -08:00
yuneng-jiang
7e0f360272 docs 2025-12-20 12:36:32 -08:00
Alexsander Hamir
52fc18ec9a
performance write up (#18296) 2025-12-20 12:30:17 -08:00
Ishaan Jaffer
acadaca7e7 doc review 1 2025-12-21 00:06:06 +05:30
Ishaan Jaffer
01a517a2c6 v 1.80.11 2025-12-20 23:48:10 +05:30
dependabot[bot]
a15f30ba7d
chore(deps): bump altcha-lib from 1.3.0 to 1.4.1 in /docs/my-website (#18017)
Bumps [altcha-lib](https://github.com/altcha-org/altcha-lib) from 1.3.0 to 1.4.1.
- [Release notes](https://github.com/altcha-org/altcha-lib/releases)
- [Commits](https://github.com/altcha-org/altcha-lib/compare/1.3.0...1.4.1)

---
updated-dependencies:
- dependency-name: altcha-lib
  dependency-version: 1.4.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-20 21:24:01 +05:30
Ishaan Jaffer
6112160a16 Revert "[Fix] Security - Remove example API keys with high entropy (#18255)"
This reverts commit 24edbccf5c.
2025-12-20 20:48:11 +05:30
Ishaan Jaffer
a38f98057f fix 2025-12-20 15:21:00 +05:30
Krrish Dholakia
a3b6c6c0a7 fix: fix doc 2025-12-20 13:28:58 +05:30
Alexsander Hamir
5b1fda02fb
Add infrastructure recommendations to benchmarks documentation (#18264)
Added concise PostgreSQL and Redis specifications based on benchmark results and industry standards for API gateway deployments. Includes tiered recommendations for different RPS workloads, configuration best practices, and scaling guidelines.
2025-12-19 13:44:36 -08:00
Sameer Kankute
3761f38e43
Merge pull request #18254 from BerriAI/litellm_add_stability_model_edit_1
Add support for stability model and bedrock stability model
2025-12-20 00:23:15 +05:30
Sameer Kankute
d29f4cab59
Merge pull request #17971 from BerriAI/litellm_ocr_deepseek
Add support for ocr for vertex ai deepseek model
2025-12-20 00:13:57 +05:30
Alexsander Hamir
24edbccf5c
[Fix] Security - Remove example API keys with high entropy (#18255) 2025-12-19 10:09:50 -08:00
Sameer Kankute
f062dbdca6
Merge pull request #18227 from BerriAI/litellm_gemini3_doc_update
Add version requirement in gemini 3 flash blog
2025-12-19 23:30:20 +05:30
Sameer Kankute
86596de193 add vertex ai location note 2025-12-19 23:29:38 +05:30
Sameer Kankute
248eb4ea49 Minor bug fixes: mask list 2025-12-19 23:04:53 +05:30
Ishaan Jaffer
388535003e docs fix 2025-12-19 20:06:56 +05:30
Anil Kodali
afba676b2e
Add Amazon Nova to sidebar and under supported models in README (#18220) 2025-12-19 19:07:34 +05:30
Sameer Kankute
84e4fc3fab
Merge pull request #18226 from Chesars/fix/responses-api-tool-calls-transformation
fix(responses-api): fix tool calls transformation in completion bridge
2025-12-19 13:41:55 +05:30
YutaSaito
369111d186
Merge pull request #18235 from uc4w6c/doc/improve_secret_manager
doc: improve secret manager settings
2025-12-19 17:03:29 +09:00
Sameer Kankute
9e3acdb815 Add version requirement in gemini 3 flash blog 2025-12-19 10:38:06 +05:30
Sameer Kankute
d7647f5b86 Add version requirement in gemini 3 flash blog 2025-12-19 10:17:58 +05:30
Chesars
5a1cc51d0d docs: add function calling example for Responses API 2025-12-18 22:07:04 -03:00
Yuta Saito
854d5a8d66 doc: improve secret manager settings 2025-12-19 07:06:26 +09:00
Alexsander Hamir
5230e97448
[Fix] CI/CD - Add missing documentation for ENVs & Clean Functionality (#18211) 2025-12-18 13:16:15 -08:00
Ishaan Jaff
5ea0854eda
[Feat] Guardrails Load Balancing - Allow Platform admins to load balance between guardrails (#18181)
* add _aguardrail_helper for LB

* add _aguardrail_helper on router.py

* test_proxy_logging_pre_call_hook_load_balancing

* add _execute_guardrail_with_load_balancing

* add LB TEsting

* docs guard lb

* fix linting

* fix lint
2025-12-19 00:08:03 +05:30
Alexsander Hamir
28821427ce
[Fix] CI/CD #1 - mypy | check_code_and_doc_quality | guardrails_testing (#18195) 2025-12-18 06:31:01 -08:00
Steve G
c94f61b1da
Feature/lakera monitor mode (#18084)
* Add monitor mode support to Lakera guardrail

- Add on_flagged parameter to LakeraV2GuardrailConfigModel (default: 'block')
- Support 'monitor' mode that logs violations without blocking requests
- Support 'block' mode (default) that raises HTTPException on violations
- Update async_pre_call_hook and async_moderation_hook to check on_flagged
- Update guardrail initializer to pass on_flagged from config
- Add documentation with monitor mode examples

This allows users to tune Lakera security policies by monitoring violations
without blocking legitimate requests, similar to Pillar's on_flagged_action.

* Add tests for Lakera guardrail monitor mode

- Test monitor mode allows flagged content through (pre_call hook)
- Test block mode raises HTTPException for violations (pre_call hook)
- Test monitor mode works with during_call (moderation_hook)

These tests verify the on_flagged parameter functionality for both
monitor and block modes across different guardrail hooks.

---------

Co-authored-by: Steve <steve.giguere@lakera.ai>
2025-12-18 19:57:43 +05:30
Krish Dholakia
365762596b
Guardrails - LiteLLM Content Filter - add support for running content filters on images (#18044)
* feat(litellm_content_filter.py): add support for content filtering categories

make it easy for proxy admin to prevent messages about violence, self harm or illegal weapons going through litellm

* feat: initial commit adding bias detection

allows admin to block inappropriate content about sexual orientation, etc.

* refactor: simplify content_filter.py

use a more exhaustive set of keywords, instead of guessing at potential phrases user can use

* feat(content_filter.py): add new denied topics for in-built content filter guardrails

allow user to automatically block content relating to certain categories from being sent to the LLML

* refactor(content-filter): document new params to litellm content filter

* feat(ui/): litellm content filter - select content categories on ui

* docs: update documentation

* docs(litellm_content_filter.md): document new content filters

* feat: initial commit adding support for inappropriate images via litellm content filter

* feat(content_filter.py): support blocking images containing blocked content

prevent images which contain disallowed content from being sent to the llm api

* docs(litellm_content_filter.md): document new image capabilities of litellm_content_filter

* fix: fix expected error code
2025-12-18 16:46:14 +05:30
Krish Dholakia
26cd2c4473
Guardrails - add built in guardrails for harmful content, bias, etc. (#18029)
* feat(litellm_content_filter.py): add support for content filtering categories

make it easy for proxy admin to prevent messages about violence, self harm or illegal weapons going through litellm

* feat: initial commit adding bias detection

allows admin to block inappropriate content about sexual orientation, etc.

* refactor: simplify content_filter.py

use a more exhaustive set of keywords, instead of guessing at potential phrases user can use

* feat(content_filter.py): add new denied topics for in-built content filter guardrails

allow user to automatically block content relating to certain categories from being sent to the LLML

* refactor(content-filter): document new params to litellm content filter

* feat(ui/): litellm content filter - select content categories on ui

* docs: update documentation

* docs(litellm_content_filter.md): document new content filters
2025-12-18 16:28:58 +05:30
YutaSaito
630f3d828e
Merge pull request #18161 from BerriAI/litellm_fix_mcp_list_tool_not_working_without_db
Litellm fix mcp list tool not working without db
2025-12-18 18:27:19 +09:00
Ishaan Jaff
274d996a87
[Feat] New Search API Provider - LinkUp Search (#18174)
* add linkup search provider

* add Linkup Search docs

* add get_provider_search_config

* get_provider_search_config

* add linkup/search provider

* fix mypy linting
2025-12-18 14:27:36 +05:30
Yuta Saito
80f0a84741 doc: custom_auth object_permission usage for MCP access 2025-12-18 10:25:05 +09:00
YutaSaito
6595619906
Merge pull request #18150 from BerriAI/litellm_feat_vault-per-team-config
Litellm feat vault per team config
2025-12-18 06:57:24 +09:00
YutaSaito
c694d96da0
Merge pull request #18149 from BerriAI/litellm_feat_add_secret_manager_settings
feat: add secret manager settings controls to team management UI
2025-12-18 06:57:12 +09:00
Yuta Saito
b7b22d559e feat: allow per-team Vault overrides when storing keys 2025-12-18 06:21:53 +09:00
Yuta Saito
b24d6cd47f feat: add secret manager settings controls to team management UI 2025-12-18 06:09:27 +09:00
Ishaan Jaffer
c721c18169 add new docker v 2025-12-18 02:21:36 +05:30
Ishaan Jaff
539f629eff
[Feat] New Logging Integration - Azure Sentinel Logger (#18146)
* add AzureSentinelLogger

* logging: AzureSentinelLogger

* test_azure_sentinel_signature_and_send_batch

* docs azure sentinel

* fix AzureSentinelLogger

* test fix

* docs fix

* fix: AzureSentinelLogger

* docs sentintel

* feat: add example SLP

* docs sentinel

* docs fix

* docs fix

* docs fix

* fix code qa

* QA fix

* fix test

* TestInitializeInteractionsEndpoints
2025-12-18 02:04:49 +05:30
Sameer Kankute
57e44cc193 fix image url 2025-12-17 23:35:52 +05:30
Sameer Kankute
c1fc6649f7 remove not required text 2025-12-17 21:50:54 +05:30
Sameer Kankute
e3cf0110bb Rename: gemini-3-flash-preview 2025-12-17 21:48:15 +05:30
Sameer Kankute
e7b8d2290f fix: update the blog according to the comments 2025-12-17 18:03:54 +05:30
Sameer Kankute
78d67837cd Add gemini 3 flash blog 2025-12-17 18:03:54 +05:30
Ishaan Jaff
0e2fd78ccc
Update GCS bucket logging links to new observability docs (#18104)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: ishaan <ishaan@berri.ai>
2025-12-17 08:18:53 +04:00
Ishaan Jaffer
cdcbccb30d fix interactions API 2025-12-17 02:28:38 +04:00
Ishaan Jaffer
53b47289ce init interactions API 2025-12-17 02:27:54 +04:00
Ishaan Jaffer
f80628502d init docs 2025-12-17 02:27:54 +04:00
YutaSaito
20cd637f74
Merge pull request #18082 from BerriAI/docs/vault_mount
docs: add documentation describing configurable Hashicorp Vault mount…
2025-12-17 07:24:34 +09:00
Yuta Saito
c3d6f8b900 docs: add documentation describing configurable Hashicorp Vault mount and path options 2025-12-17 07:23:30 +09:00
Sameer Kankute
2b495f84ab
Merge pull request #18025 from BerriAI/litellm_staging_12_16_2025
Litellm staging 12 16 2025
2025-12-16 22:31:39 +05:30
Sameer Kankute
8864c6937c
Merge pull request #18031 from BerriAI/litellm_anthropic_claude_skills_int
Add support for agent skills in chat completion
2025-12-16 21:39:11 +05:30
Sameer Kankute
215857cce3
Merge branch 'main' into litellm_staging_12_16_2025 2025-12-16 21:38:14 +05:30
Chesars
7b6a00d3df fix: remove deprecated Groq models and update model registry
- Remove 20 deprecated/unavailable Groq models from registry
- Add groq/meta-llama/llama-guard-4-12b (new safety model)
- Add supports_vision to Llama 4 models (maverick, scout)
- Update Groq documentation with current model list
- Clean up test file references to deprecated models

Fixes #18043
2025-12-16 13:06:33 -03:00
Krish Dholakia
e31d8a1cf6
Router order parameter documentation (#18045)
* feat: Add deployment ordering for load balancing

Co-authored-by: krrishdholakia <krrishdholakia@gmail.com>

* Refactor docs to simplify load balancing and deployment ordering explanations

Co-authored-by: krrishdholakia <krrishdholakia@gmail.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-16 15:57:05 +05:30
Krrish Dholakia
5e78ffd5fd fix: fix docker compose quick start 2025-12-16 11:26:38 +05:30
Krrish Dholakia
6041155de0 docs: cleanup 2025-12-16 11:21:41 +05:30
Sameer Kankute
1222d9e376 Add doc and tests for agent skils 2025-12-16 10:20:21 +05:30
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
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
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
Krrish Dholakia
7c2478b70e docs: replace ghcr link with docker.litellm.ai 2025-12-16 08:35:45 +05:30
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
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
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
Cesar Garcia
6ddc7875ea
Fix: add OpenAI-compatible API for Anthropic with modify_params=True (#17106)
* docs: add OpenAI-compatible API limitations for Anthropic thinking

Document the fundamental incompatibility between Anthropic extended
thinking and OpenAI-compatible API clients. Explains:

- Why thinking_blocks must be resent (stateless vs stateful APIs)
- OpenAI vs Anthropic architecture differences
- Solutions for client developers

* Update docs

* fix: auto-drop thinking param when thinking_blocks missing

When modify_params=True, LiteLLM now automatically drops the 'thinking'
param if the last assistant message with tool_calls is missing
thinking_blocks. This prevents the Anthropic error:
"Expected thinking or redacted_thinking, but found tool_use"

This workaround addresses the OpenAI-Anthropic API incompatibility where
OpenAI-compatible clients don't preserve thinking_blocks.
2025-12-15 13:35:46 +05:30
Sameer Kankute
858879919c Add support for ocr for vertex ai deepseek model 2025-12-15 11:45:04 +05:30
Sameer Kankute
57e75a3082 Add support for reasoning param 2025-12-15 09:12:35 +05:30
Ishaan Jaffer
87ba4fabd7 docs fix 2025-12-14 14:20:47 -08:00
Ishaan Jaffer
2b434ac744 docs azure ai agents 2025-12-14 14:19:49 -08:00
Ishaan Jaffer
71ab4a3108 docs 2025-12-14 14:06:16 -08:00
Ishaan Jaffer
493e4b3315 docs 2025-12-14 13:00:56 -08:00
Ishaan Jaffer
cf1eb0a594 docs vllm 2025-12-14 12:36:07 -08:00
Ishaan Jaffer
3cac6b0a40 vllm batch 2025-12-14 12:36:07 -08:00
Ishaan Jaffer
c79e0c165f add vllm batches 2025-12-14 12:36:07 -08:00
Ishaan Jaffer
869368ea31 docs fix 2025-12-14 11:52:08 -08:00
Ishaan Jaffer
338dbaa6bc docs a2a gateway 2025-12-14 11:51:35 -08:00
Ishaan Jaffer
11187024b3 fix title 2025-12-14 11:44:42 -08:00
Cesar Garcia
bd1a075a89
feat(stability): add Stability AI image generation support (#17894)
Add direct Stability AI REST API support for image generation endpoints.
This enables using Stability's SD3, SD3.5, and Stable Image models via
LiteLLM's OpenAI-compatible interface.

Changes:
- Add STABILITY provider to LlmProviders enum
- Create StabilityImageGenerationConfig with multipart/form-data support
- Add OpenAI size to Stability aspect_ratio mapping
- Register provider in ProviderConfigManager
- Add 9 Stability models to model_prices_and_context_window.json
- Add documentation at docs/providers/stability.md
- Add 25 unit tests

Supported models:
- stability/sd3, sd3-large, sd3-large-turbo, sd3-medium
- stability/sd3.5-large, sd3.5-large-turbo, sd3.5-medium
- stability/stable-image-ultra, stable-image-core
2025-12-14 08:29:45 +05:30
Ishaan Jaffer
88d5efb2b7 docs v1.80.10.rc.1 2025-12-13 18:02:06 -08:00
Ishaan Jaff
2641f58be5
Litellm 1 80 10 (#17945)
* update providers

* v0

* docs fix

* docs fix

* docs fix
2025-12-13 17:19:58 -08:00
Ishaan Jaff
14eed8aff7
[Fixes] A2a Gateway - ensure azure foundry agents work (#17943)
* add agents  v2 fixes azure

* fix auth

* get_azure_ad_token fix

* docs foundry
2025-12-13 16:08:03 -08:00
Ishaan Jaff
ed356fdfc0
[Docs] Cursor Integration (#17939)
* docs cursor

* remove bloat

* stash changes

* docs fix

* simpler docs

* docs

* docs cursor

* add cursor/chat/completions
2025-12-13 14:44:40 -08:00
yuneng-jiang
8b0dd58a64 Importing Image in A2A Doc 2025-12-13 13:29:01 -08:00
yuneng-jiang
d18ed525b8 Fixing links 2025-12-13 13:09:39 -08:00
yuneng-jiang
773c4d08b4 Merge Agent Usage with A2A Cost Tracking 2025-12-13 13:04:28 -08:00
yuneng-jiang
b692e87836 Agent doc fix 2025-12-13 12:54:00 -08:00
yuneng-jiang
2d75875ea6
Merge pull request #17931 from BerriAI/litellm_agent_usage_md
[Docs] Agent Usage Doc
2025-12-13 12:49:06 -08:00
yuneng-jiang
39b8acae55 Agent Usage Doc 2025-12-13 12:46:56 -08:00
yuneng-jiang
e8bbb561b9 Adding image 2025-12-13 12:03:24 -08:00
yuneng-jiang
261437623a Agent usage docs WIP 2025-12-13 11:35:04 -08:00
Alexsander Hamir
5de9bfde53
[Fix] CI/CD - mypy & check_code_and_doc_quality & mcp_testing (#17920)
* Fix duplicate imports in SAP embedding transformation

* fix: add missing prompt_spec parameter to HumanloopLogger.get_chat_completion_prompt

- Add prompt_spec: Optional[PromptSpec] = None parameter to match base class signature
- Import PromptSpec from litellm.types.prompts.init_prompts
- Pass prompt_spec to super().get_chat_completion_prompt() call
- Fixes mypy type error: Signature incompatible with supertype CustomLogger

* fix: add missing parameters to AnthropicCacheControlHook.async_get_chat_completion_prompt

- Add ignore_prompt_manager_model and ignore_prompt_manager_optional_params parameters
- Change litellm_logging_obj type from Any to LiteLLMLoggingObj using TYPE_CHECKING pattern
- Pass all parameters including prompt_spec to get_chat_completion_prompt call
- Fixes mypy type errors: Signature incompatible with supertype CustomLogger and PromptManagementBase

* fix: add missing parameters to DotpromptManager.async_get_chat_completion_prompt

- Add ignore_prompt_manager_model and ignore_prompt_manager_optional_params parameters
- Change litellm_logging_obj type from Any to LiteLLMLoggingObj using TYPE_CHECKING pattern
- Pass all parameters including ignore flags to PromptManagementBase.async_get_chat_completion_prompt
- Fixes mypy type errors: Signature incompatible with supertype CustomLogger and PromptManagementBase

* fix: document envs

* fix: add missing parameters to LangfusePromptManagement.async_get_chat_completion_prompt

- Add ignore_prompt_manager_model and ignore_prompt_manager_optional_params parameters
- Pass all parameters including prompt_spec and ignore flags to get_chat_completion_prompt
- Fixes mypy type errors: Signature incompatible with supertype CustomLogger and PromptManagementBase

* fix: add missing parameters to prompt management async methods (Category 1)

- vector_store_pre_call_hook: add ignore_prompt_manager_model, ignore_prompt_manager_optional_params, prompt_spec
- gitlab_prompt_manager: add ignore parameters, fix litellm_logging_obj type
- bitbucket_prompt_manager: add ignore parameters, fix litellm_logging_obj type
- proxy/custom_prompt_management: add prompt_spec parameter
- Fixes mypy type errors: Signature incompatible with supertype

* fix: fix arize_phoenix_prompt_manager and custom_prompt_management (Category 2)

- arize_phoenix_prompt_manager: add prompt_spec to all methods, fix prompt_id types, implement async_compile_prompt_helper
- custom_prompt_management: implement async_compile_prompt_helper abstract method
- Fixes mypy type errors: Signature incompatible with supertype and abstract method errors

* fix: fix obvious type errors (Category 3 - Quick Wins)

- langfuse: change 'callable' to 'Callable' type annotation
- presidio: add type narrowing check for Choices vs StreamingChoices
  - StreamingChoices doesn't have .message attribute, only Choices does
  - Add hasattr check before accessing choice.message
- Fixes mypy type errors: callable? not callable and union-attr errors

* fix: handle expires_after None in Azure files handler (Todo 14)

- Extract logic to _prepare_create_file_data helper method
- Remove expires_after from dict if None to match SDK's Omit pattern
- Add type ignore for FileExpiresAfter -> file_create_params.ExpiresAfter mismatch
- Fixes mypy error: Argument expires_after has incompatible type

* fix: change purpose parameter type to OpenAIFilesPurpose (Todo 18)

- Import OpenAIFilesPurpose in storage_backend_service.py
- Change upload_file_to_storage_backend purpose parameter from str to OpenAIFilesPurpose
- Change _create_file_object_with_storage_metadata purpose parameter from str to OpenAIFilesPurpose
- Fixes mypy error: Argument purpose has incompatible type str; expected Literal type
- Purpose is already validated in files_endpoints.py before reaching these functions

* fix: handle UploadFile | str type for expires_after form fields (Todo 19)

- Validate expires_after[anchor] and expires_after[seconds] are strings, not UploadFiles
- Validate anchor equals 'created_at' before using literal in TypedDict
- Use literal 'created_at' (not variable) in FileExpiresAfter to satisfy Literal type
- Add proper error handling for invalid anchor values and int conversion
- Fixes mypy errors: Incompatible types for anchor and seconds in FileExpiresAfter

* fix: add type narrowing for expires_after_seconds_str to fix mypy error

- Add assert statement after UploadFile validation to help mypy narrow type
- Use validated variable with explicit str type annotation
- Fixes: Argument of type 'UploadFile | str' cannot be assigned to int()

* fix: trigger async_success_handler for MCP tool calls to enable cost tracking and logging

- Set call_type to CallTypes.call_mcp_tool.value before calling async_success_handler
- Update mcp_tool_call_metadata with cost info when server is found
- Call async_success_handler to build standard_logging_object and trigger callbacks
- Fixes test_mcp_cost_tracking by ensuring standard_logging_payload is populated

* refactor: use positive isinstance check for safer type narrowing

- Replace assert with positive isinstance(..., str) check
- Matches codebase pattern (see pass_through_endpoints.py)
- Safer than assert: assertions can be disabled with -O flag
- Mypy properly narrows type after positive isinstance check
- More explicit and readable than assert statement

* fix: add missing REDIS_DAILY_AGENT_SPEND_UPDATE_QUEUE to ServiceTypes enum (Todo 17)

- Add REDIS_DAILY_AGENT_SPEND_UPDATE_QUEUE enum value following the pattern of other daily spend queues
- Add corresponding entry to DEFAULT_SERVICE_CONFIGS with GAUGE metrics
- Fixes mypy error: 'type[ServiceTypes]' has no attribute 'REDIS_DAILY_AGENT_SPEND_UPDATE_QUEUE'
- This enum value is already used in redis_update_buffer.py for agent spend tracking
2025-12-13 08:18:43 -08:00
Ishaan Jaff
2f82c223d3
Litellm docs a2a cost tracking (#17913)
* docs - a2a cost tracking

* docs fix

* docs a2a cost trackign

* docs langgraph agents
2025-12-12 18:23:25 -08:00
YutaSaito
8899b63fa4
Merge pull request #17747 from BerriAI/litellm_feat_mcp-chat-completions
feat: add support for using MCPs on /chat/completions
2025-12-13 05:05:21 +09:00
Cesar Garcia
1531b58493
feat(openai): add reasoning_effort='xhigh' support for gpt-5.2 models (#17875)
Add support for the 'xhigh' reasoning effort level on all gpt-5.2 model
variants, not just gpt-5.2-pro. This enables deeper reasoning capabilities
for the base gpt-5.2 model.

Changes:
- Add is_model_gpt_5_2_model() method to detect gpt-5.2 variants
- Update xhigh validation to allow gpt-5.2 models
- Update documentation with gpt-5.2 reasoning_effort support
- Update tests to reflect new behavior
2025-12-12 11:40:35 -08:00
Ishaan Jaff
d38f241032
[Feat] JWT Auth - auth allow selecting team_id from request header (#17884)
* feat: add get_team_id_from_header for JWT Auth

* fix Auth builder JWT Auth

* test_get_team_id_from_header

* test_auth_builder_uses_team_from_header_e2e

* Select Team via Request Header
2025-12-12 10:18:20 -08:00
Sameer Kankute
d5fcb6fce6
Merge pull request #17882 from BerriAI/litellm_target_storage_documentation
Add documentation for target storage
2025-12-12 22:46:04 +05:30
Sameer Kankute
6f0efff28b Add documentation for target storage 2025-12-12 22:44:53 +05:30
AlexsanderHamir
1ad6763500 fix: add PROMETHEUS_MULTIPROC_DIR to docs 2025-12-12 08:33:38 -08:00
Krish Dholakia
eab5bca583
Add Milvus REST client and update examples (#17736)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-12 04:38:28 -08:00
Ariel
5df701d15c
[feat]: Add opt-in evidence results for Pillar Security guardrail during monitoring (#17812)
* add evidence headers to litellm

* ensure that evidence is surface-able, even in opt-in mode

* update the docs
2025-12-12 04:09:13 -08:00
Cesar Garcia
a037414985
feat(deepseek): add native support for thinking and reasoning_effort params (#17712)
* feat(deepseek): add native support for thinking and reasoning_effort params

Add proper parameter mapping for DeepSeek thinking mode, allowing users
to use the unified LiteLLM interface instead of extra_body workarounds.

Supported formats:
- thinking={"type": "enabled"}
- thinking={"type": "enabled", "budget_tokens": X} (budget_tokens ignored)
- reasoning_effort="low|medium|high" (maps to thinking enabled)

DeepSeek only supports {"type": "enabled"} without budget_tokens,
so any budget_tokens are stripped and all reasoning_effort values
(except "none") map to enabled.

Reference: https://api-docs.deepseek.com/guides/thinking_mode

* docs(deepseek): add thinking and reasoning_effort parameter documentation
2025-12-11 15:28:43 -08:00
Jason Roberts
6fc39d31b4
feat(guardrails): add configurable fail-open, timeout, and app_user to PANW Prisma AIRS guardrail (#17785)
Add configurable fail-open/fail-closed behavior, timeout settings, and app_user
metadata tracking. Includes security hardening, enhanced
observability (:unscanned header), and comprehensive test coverage (44/44 passing).

No breaking changes.
2025-12-11 15:23:59 -08:00
Ishaan Jaff
cca21c0926
[Feat] New API Provider - Add Azure AI Foundry Agents on /chat/completions, /responses, /messages + Agent Gateway (#17845)
* init get_azure_ai_route

* init AzureAIAgentsConfig

* init AzureAIAgentsConfig

* AzureAIAgentsHandler

* test_azure_ai_agents_acompletion_non_streaming

* test_azure_ai_agents_acompletion_streaming

* fix stream

* _process_sse_stream

* Azure AI Foundry Agents

* init  Azure AI Foundry Agent

* fix code QA checks

* fix api key

* docs fix
2025-12-11 15:21:28 -08:00
Dominic Fallows
756c60540e
feat: add support for configurable confidence score thresholds and scope in Presidio PII masking (#17817)
* feat: add support for configurable confidence score thresholds in Presidio PII masking

* feat: enhance Presidio PII masking with configurable score thresholds and behavior documentation

* feat: add configurable output masking and filter scope for Presidio PII guardrail
2025-12-11 15:19:11 -08:00
Alexsander Hamir
15404db3d0
[Fix] CI/CD – Docs & Spend logs (#17843)
* fix: resolve mypy type errors in hiddenlayer guardrail and transformation

- Fix return type of apply_guardrail from str to GenericGuardrailAPIInputs
- Add None checks for logging_obj before accessing attributes
- Convert AllMessageValues to dict format for HiddenLayer API compatibility
- Fix payload type annotation in _call_hiddenlayer
- Ensure transformed_output always returns list[dict[str, Any]] in transformation.py

* fix: use litellm_call_id as trace_id fallback in langfuse logging

- Only use standard_logging_object.trace_id if explicitly set via litellm_session_id or litellm_trace_id params
- Fallback to litellm_call_id when no explicit trace_id is provided (matches test expectation)
- Return the trace_id we set instead of generation_client.trace_id for consistency
- Add warning if langfuse modifies the trace_id to help debug potential issues

Fixes test_logging_trace_id test failure where auto-generated UUID was used instead of litellm_call_id

* fix: document envs

* fix: handle None response in /spend/logs endpoint when no records found

- Return empty list [] instead of [None] when spend_log is None
- Prevents 500 errors when querying by request_id, api_key, or user_id with no matching records
- Fixes test_chat_completion_bad_model_with_spend_logs test failure

* fix: use standard_logging_object trace_id when available in langfuse logger

- Fix trace_id selection logic to use standard_logging_object.trace_id when available
- Previously only used standard_logging_object.trace_id if explicitly set via params
- Now uses standard_logging_object.trace_id whenever it's present, matching test expectations
- Falls back to litellm_call_id if no trace_id is found
- Fixes test_log_langfuse_v2_uses_standard_trace_id_when_available test failure
2025-12-11 14:00:33 -08:00
Peter Dave Hello
70643a8b9c
Add support for OpenAI GPT-5.2 models (#17836)
References:
- https://openai.com/index/introducing-gpt-5-2/
- https://platform.openai.com/docs/models/gpt-5.2
2025-12-11 12:49:30 -08:00
yuneng-jiang
f9dc034c73
Merge pull request #17775 from BerriAI/litellm_sendgrid
[Feature] Sendgrid integration
2025-12-11 09:19:41 -08:00
YutaSaito
13df50830d
chore: prefer standard trace id for Langfuse logging (#17791) 2025-12-11 08:18:45 -08:00
CyrusTC
5d326386fb
feat(bedrock): add serviceTier support for Converse API (#17810)
Add support for the Bedrock Converse API serviceTier parameter to allow
specifying processing tier (priority, default, or flex).

Changes:
- Add ServiceTierBlock type in litellm/types/llms/bedrock.py
- Add serviceTier to CommonRequestObject
- Add serviceTier to get_config_blocks() in AmazonConverseConfig
- Add comprehensive tests for serviceTier functionality
- Add documentation for serviceTier usage

This allows users to configure service tier via:
- litellm_params in proxy config
- optional_params in SDK calls
2025-12-11 08:16:32 -08:00
Ashton Sidhu
a514313540
Add Hiddenlayer Guardrail Hooks (#17728)
* Core logic working, need to add tests

* Re add removed files

* Remove mistaken files

* one more file

* Add deployment params

* Add tests

* Remove unused imports

* Update docs from feedback

* Update guardrails
2025-12-11 07:43:26 -08:00
Sameer Kankute
8942053c8b
Merge pull request #17700 from BerriAI/litellm_batches_passthrough_cost_tracking
Add anthropic retrieve batches and retreive file content support
2025-12-11 10:31:54 +05:30
yuneng-jiang
1c6de2b80d Merge remote-tracking branch 'origin' into litellm_sendgrid 2025-12-10 20:39:25 -08:00
yuneng-jiang
cffd0ac350 sendgrid docs 2025-12-10 20:39:10 -08:00
Shivam Rawat
9d7a255d55
made litellm proxy and sdk difference cleaner in overview (#17790) 2025-12-10 19:14:49 -08:00
Yuta Saito
4efa21ee7d docs: clarify MCP tool support across providers 2025-12-11 10:39:24 +09:00
Ishaan Jaff
5d456bcdc3
[Feat] UI SSO - allow fetching role from generic SSO provider (Keycloak) (#17787)
* fix ui SSO

* TestGenericResponseConvertorUserRole

* Assigning User Roles via SSO
2025-12-10 13:09:28 -08:00
Alexsander Hamir
439bb5bfe3
fix: suggest Gunicorn instead of uvicorn when using max_requests_before_restart (#17788) 2025-12-10 13:09:00 -08:00
Ishaan Jaff
49b91c4a35
[Feat] A2a gateway - Add cost per token pricing (#17780)
* fix calculate_a2a_cost

* add cost_per_query

* add test_asend_message_uses_cost_per_query

* fix: _initialize_slack_alerting_jobs

* feat: add token tracking for agents invoke

* add A2ARequestUtils

* add _set_usage_on_logging_obj

* test_asend_message_token_tracking

* add _handle_a2a_response_logging

* test_asend_message_streaming_token_tracking

* add A2AStreamingIterator

* add cost calculator for agents

* test_asend_message_uses_input_output_cost_per_token

* docs gix
2025-12-10 13:08:15 -08:00
Ishaan Jaff
5ee32167c0
[Feat] New Provider - add langgraph (#17783)
* init LANGGRAPH

* init LangGraphConfig

* init LangGraphConfig types

* init langgraph

* init getting api base and key

* init transform langgraph

* fix SSE issues

* test_langgraph_acompletion_non_streaming

* add LangGraph to docs

* docs: Setting Up a Local LangGraph Server

* fix langgraph SSE

* fix import uuid
2025-12-10 12:30:35 -08:00
Krish Dholakia
8bc5e2ca7f
Add /v1/messages/count_tokens endpoint documentation (#17772)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-10 11:34:11 -08:00
yuneng-jiang
ba554a86b9
Merge pull request #16843 from BerriAI/litellm_allow_custom_mount_paths
[Feature] Allow Root Path to Redirect when Docs not on Root Path
2025-12-10 09:52:30 -08:00
Sameer Kankute
4c78c1afc8
Merge pull request #17756 from BerriAI/litellm_add_gemini_computer_use
Add support for computer use for gemini
2025-12-10 22:28:37 +05:30
Sameer Kankute
9e3a04a725 Add batch passthrough endpoint cost tracking for anthropic 2025-12-10 18:24:31 +05:30
Sameer Kankute
0d2f8ce931
Merge pull request #17711 from BerriAI/litellm_add_additional_drop_params_support
feat: Add nested field removal support to additional_drop_params
2025-12-10 15:37:39 +05:30
Krish Dholakia
b0a5a4b81d
Arize Phoenix OSS - Prompt Management Integration (#17750)
* docs(prompt_management.md): document how to onboard prompts to litellm

* feat(arize_phoenix_prompt_manager.py): support new prompt management integration

allows users to connect arize phoenix prompt manager to litellm

* fix(proxy/utils.py): remove prompt variables to avoid re-processing prompt

* docs(arize_phoenix_prompts.md): document new prompt management integration
2025-12-09 22:53:42 -08:00
Sameer Kankute
bcac9e41f6 Add support for computer use for gemini 2025-12-10 10:34:08 +05:30
Cesar Garcia
b4e0dabb37
fix: use absolute URL for Supported Endpoints link to avoid Docusaurus slug conflict (#17710)
The relative link was causing Docusaurus to incorrectly associate the
/supported_endpoints page with SDK Functions category instead of the
actual Supported Endpoints generated-index.
2025-12-09 18:49:49 -08:00
Krish Dholakia
254c1155a2
Remove streaming_logging.md documentation (#17739)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-09 18:26:08 -08:00
Krrish Dholakia
d3531be9a0 docs(community.md): add new integration partner doc 2025-12-09 18:17:14 -08:00