Commit Graph

5192 Commits

Author SHA1 Message Date
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
Ishaan Jaff
42f5770cfa
[docs] add docs for containers files api + code interpreter on LiteLLM (#17749)
* add new container api on OpenAI

* add related

* docs fix

* docs code interpreter

* code interp

* docs code interptert

* docs code int

* docs code interp

* docs code interp
2025-12-09 18:11:28 -08:00
Krish Dholakia
8d5e6cc62d
Add community doc link (#17734)
* Add community contribution guide for integration partners

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

* Update community docs to direct users to #integration-partners

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

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-09 18:10:00 -08:00
Yuta Saito
ed5cbdac2f feat: add support for using MCPs on /chat/completions 2025-12-10 10:55:33 +09:00
Cesar Garcia
63a97db663
feat(voyage): add rerank API support (#17744)
* feat(voyage): add rerank API support

Add support for Voyage AI rerank models (rerank-2.5, rerank-2.5-lite,
rerank-2, rerank-2-lite) to the LiteLLM rerank API.

Changes:
- Add VoyageRerankConfig transformation class
- Register voyage provider in rerank_api/main.py
- Add voyage case in utils.py get_provider_rerank_config
- Add rerank-2.5 and rerank-2.5-lite models to pricing JSON
- Add unit tests for transformation logic
- Update documentation for voyage.md and rerank.md

Usage:
```python
from litellm import rerank

response = rerank(
    model="voyage/rerank-2.5",
    query="What is the capital of France?",
    documents=["Paris is...", "London is..."],
    top_n=3,
)
```

* refactor(voyage): simplify rerank transformation code

Remove verbose docstrings to align with other providers (jina_ai pattern).
No functional changes - 168 lines vs 169 for jina_ai.

* fix(voyage): remove incorrect input_cost_per_query from rerank models

Voyage AI charges per token, not per query. The input_cost_per_query
field was incorrectly set to the same value as input_cost_per_token
in the existing rerank-2 and rerank-2-lite models.

Removes input_cost_per_query from all Voyage rerank models:
- voyage/rerank-2
- voyage/rerank-2-lite
- voyage/rerank-2.5
- voyage/rerank-2.5-lite

Pricing source: https://docs.voyageai.com/docs/pricing
2025-12-09 17:34:09 -08:00
YutaSaito
80a18f989a
feat: propagate Langfuse trace_id (#17669) 2025-12-09 12:25:52 -08:00
yuneng-jiang
39bf7a9f7c Merge remote-tracking branch 'origin' into litellm_allow_custom_mount_paths 2025-12-09 11:58:05 -08:00
Shivam Rawat
43a7bbeeaf
added note for using Azure Active Directory Tokens with all the other endpoints (#17733) 2025-12-09 11:51:28 -08:00
yuneng-jiang
aa450e7ebe
Merge pull request #17738 from BerriAI/litellm_doc_update_1805
[Docs] Adding known issues to 1.80.5-stable docs
2025-12-09 11:46:08 -08:00
yuneng-jiang
431884f591 Adding known issues to 1.80.5-stable docs 2025-12-09 11:45:16 -08:00
Derek Duenas
3322523e07
Passthrough in response (#17102)
* attempt to implement the passthrough feature

* Formatting and small change

* Fix formatting

* feat: grayswan guardrail overwrite ModelResponse in passthrough mode

* fix missing exception error catching on certain
endpoints

* fix wrong call site

* fix: patch anthropic endpoint internal error on streaming obj

* fix grayswan testcase

* feat: update the violation response to more natural

* Formatting

* move passthrough exception definition to custom_guardrail.

* Enhancement: show whether the blocked at input or output

* update exception name

* fix a typo in testing unit.

---------

Co-authored-by: Xiaohan Fu <xiaohan@grayswan.ai>
2025-12-09 10:45:45 -08:00
Krish Dholakia
81f0bbad73
Add Azure AI Search to supported vector stores (#17726)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-09 09:04:04 -08:00
mzagar
9bb0e7dd75 feat: Replace jsonpath-ng with custom minimal parser for additional_drop_params 2025-12-09 17:30:30 +05:30
Chetan Choudhary
38eda3409a
docs: Add SumoLogic integration documentation (#17647)
* docs: Add SumoLogic integration documentation

* minor update
2025-12-08 18:54:07 -08:00
Yi Ding
e0a8f7435d
docs(json): make it clearer how to get Pydantic model output (#17671) 2025-12-08 18:38:57 -08:00
Ishaan Jaff
a904067d38
[Feat] New model - add bedrock writer models (#17685)
* add new bedrock models

* test bedrock writer models

* docs bedrock writer palmyra

* add palymra models

* add bedrock writer models

* docs fix
2025-12-08 17:49:06 -08:00
Ishaan Jaff
074445edb1
[Fix] AI Gateway Auth - allow using wildcard patterns for public routes (#17686)
* edit auth utils to allow wildcard patterns

* docs fix private / public routes

* test_route_in_additional_public_routes_wildcard_match
2025-12-08 17:39:53 -08:00
Ishaan Jaff
2f335ac5a6
[Feat] Dynamic Rate Limiter - allow specifying ttl for in memory cache (#17679)
* fix _get_saturation_value_from_cache

* fix _get_saturation_check_cache_ttl

* fix test_saturation_check_cache_ttl_configuration

* docs saturation_check_cache_ttl
2025-12-08 17:20:52 -08:00
Krish Dholakia
fbe18a21c9
Docs: Add integration documentation instructions (#17644)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-08 16:29:15 -08:00
Ishaan Jaff
601da4a3d1
[Feat] New model - add nvidia nim llama-3.2-nv-rerankqa-1b-v2 (#17670)
* fix get_nvidia_nim_rerank_config

* add NvidiaNimRankingConfig

* add get_nvidia_nim_rerank_config

* add test_nvidia_nim_rerank_ranking_endpoint

* add /ranking model provider support

* feat: add nvidia/llama-3.2-nv-rerankqa-1b-v2
2025-12-08 15:25:23 -08:00
Cesar Garcia
dcf5217d17
docs: improve Getting Started page and SDK documentation structure (#17614)
* docs: update Getting Started page with accurate endpoints and fix exception handling

- Update endpoints list to include /responses, /audio, /batches
- Change "Consistent output" to be endpoint-agnostic
- Clarify Response Format title as "OpenAI Chat Completions Format"
- Fix exception handling example: use litellm exceptions instead of deprecated openai.error
- Add model prefix (anthropic/) to example

* docs: reorganize sidebar and improve SDK documentation structure

Sidebar changes:
- Reorder: Python SDK first, then AI Gateway (Proxy)
- Rename "LiteLLM - Getting Started" to "Getting Started"
- Restructure SDK section with Core Functions, Configuration subsections
- Move budget_manager to Guides
- Move sdk_custom_pricing and migration to Extras
- Remove duplicate embedding/async_embedding and embedding/moderation

Content changes:
- Add Response Format section to response_api.md
- Add async aembedding() section to supported_embedding.md

* docs: add deprecation notice for OpenAI Assistants API

OpenAI has deprecated the Assistants API, shutting down on August 26, 2026.
Added warning banner directing users to the Responses API.

* docs: expand Core Functions in SDK sidebar

Add more SDK functions to Core Functions category:
- text_completion()
- image_generation()
- transcription()
- speech()
- Link to "All Supported Endpoints" for complete list

* Rename Sidebar Item

* docs: revert Getting Started label to original

* Rename sidebar label from 'LiteLLM - Getting Started' to 'Getting Started'
2025-12-08 13:05:50 -08:00
Ishaan Jaff
7b47c0f583
docs: Explain default behavior of drop_params (#17658)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: ishaan <ishaan@berri.ai>
2025-12-08 12:58:21 -08:00
Ishaan Jaff
3a43042fad
docs - add sap gen ai provider on LiteLLM (#17667) 2025-12-08 12:43:42 -08:00
_juliettech
ee0812a297
Add Helicone as a provider and update observability documentation (#17663)
* Add Helicone as a provider to liteLLM

* Add Helicone provider integration
2025-12-08 12:34:11 -08:00
Sameer Kankute
05f800fe7d
Merge pull request #17653 from BerriAI/litellm_fireworks_rerank_model
(Feat) Add fireworks rerank support
2025-12-08 21:33:08 +05:30
Sameer Kankute
87cf6f3ffe Add fireworks rerank support 2025-12-08 20:29:50 +05:30
Alexsander Hamir
60a325e403
Document missing environment variables and fix incorrect types (#17649)
* fix: correct type annotations for anthropic streaming handlers

- Fix return type of _handle_accumulated_json_chunk from Optional[GenericStreamingChunk] to Optional[ModelResponseStream]
- Fix return type of _parse_sse_data from Optional[GenericStreamingChunk] to Optional[ModelResponseStream]
- Add type annotation for output_items in background_streaming.py

These changes align type annotations with actual return values from chunk_parser() which returns ModelResponseStream.

* docs: add missing ONYX_API_KEY and ONYX_API_BASE to environment variables reference

- Add ONYX_API_BASE documentation entry
- Add ONYX_API_KEY documentation entry
- Fixes test_env_keys.py test failure
2025-12-08 05:38:21 -08:00
Tamir Kiviti
0f5694c8eb
add onyx guardrail hooks integration (#16591)
* add onyx guardrail hooks integration

* fix lint issue

* fix lint issue

* update PR to use the new custom guardrail interface

* lint fix
2025-12-07 23:33:28 -08:00
yuneng-jiang
6777a23a53 Merge remote-tracking branch 'origin' into litellm_allow_custom_mount_paths 2025-12-06 22:22:59 -08:00
Ishaan Jaffer
74b48c9716 docs fix 2025-12-06 16:09:27 -08:00
Ishaan Jaffer
b4970f6033 amazon nova api fix 2025-12-06 16:09:27 -08:00
yuneng-jiang
69f65e20e0
Merge pull request #17618 from BerriAI/litellm_customer_usage_docs_path
[Docs] Fixing path to image
2025-12-06 14:47:18 -08:00
yuneng-jiang
7385801fba Fixing path to image 2025-12-06 14:45:50 -08:00
Anil Kodali
1a50a89cd3
[New Model] Add Amazon Nova as first party provider for chat completions (#17351)
* Add Amazon Nova as a first party provider

* Added new provider folder under llms/ to outline the openai supported params

* Updated supported endpoints on the documnetation
2025-12-06 14:43:55 -08:00
yuneng-jiang
bff3590dd0 Update sidebar for customer usage 2025-12-06 14:21:18 -08:00
Cesar Garcia
8ccfaa21de
docs: add Microsoft GraphRAG to projects using LiteLLM (#17616)
* docs: add Microsoft GraphRAG to projects using LiteLLM

* docs: add arXiv paper link for GraphRAG

* docs: add GraphRAG to sidebar

* Update projects in sidebars.js

Reordered items in the projects list to include 'GraphRAG'.
2025-12-06 13:47:46 -08:00
yuneng-jiang
3f7d51d53e Merge remote-tracking branch 'origin' into litellm_customer_usage_docs 2025-12-06 13:43:28 -08:00
yuneng-jiang
da4b36fe9b Changed image 2025-12-06 13:23:49 -08:00
yuneng-jiang
40ad0e2e96 Customer Usage Docs 2025-12-06 13:17:54 -08:00
Ishaan Jaffer
df6cb4244d docs a2a gateway 2025-12-06 12:32:30 -08:00
Ishaan Jaffer
fdf28331a5 docs fix 2025-12-06 11:48:00 -08:00
Ishaan Jaffer
b4c6b29149 docs fix 2025-12-06 11:41:51 -08:00
Ishaan Jaffer
2bf0b951f7 docs fix 2025-12-06 11:37:08 -08:00
Ishaan Jaffer
86a0c14aca docs guardrails 2025-12-06 11:34:55 -08:00
Ishaan Jaffer
6bb4087b22 docs fix 2025-12-06 11:09:46 -08:00
Ishaan Jaff
a9b654224e
1.80.8 RC docs (#17605)
* stash docs

* docs fix

* doc fix

* docs fix
2025-12-06 10:40:00 -08:00
Sungjun.Kim
ca7241188a
feat: Add xhigh reasoning effort for gpt-5.1-codex-max (#17585)
Co-authored-by: Ishaan Jaff <ishaanjaffer0324@gmail.com>
2025-12-06 09:48:18 -08:00
Cesar Garcia
0f1d6c37d2
docs: add gpt-5.1-codex-max to OpenAI provider documentation (#17602)
Add gpt-5.1-codex-max model to:
- Model list table
- Reasoning effort table
- Verbosity note
2025-12-06 09:46:48 -08:00
Krrish Dholakia
497856e1e3 docs: document multi tenant architecture 2025-12-06 09:27:30 -08:00
Alexsander Hamir
8172f6cdd6
Fix security vulnerability: update mdast-util-to-hast to 13.2.1 (CVE-2025-66400) (#17601) 2025-12-06 09:26:26 -08:00
Cesar Garcia
87f94172a9
fix(responses): Add image generation support for Responses API (#16586)
* fix(responses): Add image generation support for Responses API

Fixes #16227

## Problem
When using Gemini 2.5 Flash Image with /responses endpoint, image generation
outputs were not being returned correctly. The response contained only text
with empty content instead of the generated images.

## Solution
1. Created new `OutputImageGenerationCall` type for image generation outputs
2. Modified `_extract_message_output_items()` to detect images in completion responses
3. Added `_extract_image_generation_output_items()` to transform images from
   completion format (data URL) to responses format (pure base64)
4. Added `_extract_base64_from_data_url()` helper to extract base64 from data URLs
5. Updated `ResponsesAPIResponse.output` type to include `OutputImageGenerationCall`

## Changes
- litellm/types/responses/main.py: Added OutputImageGenerationCall type
- litellm/types/llms/openai.py: Updated ResponsesAPIResponse.output type
- litellm/responses/litellm_completion_transformation/transformation.py:
  Added image detection and extraction logic
- tests/test_litellm/responses/litellm_completion_transformation/test_image_generation_output.py:
  Added comprehensive unit tests (16 tests, all passing)

## Result
/responses endpoint now correctly returns:
```json
{
  "output": [{
    "type": "image_generation_call",
    "id": "..._img_0",
    "status": "completed",
    "result": "iVBORw0KGgo..."  // Pure base64, no data: prefix
  }]
}
```

This matches OpenAI Responses API specification where image generation
outputs have type "image_generation_call" with base64 data in "result" field.

* docs(responses): Add image generation documentation and tests

- Add comprehensive image generation documentation to response_api.md
  - Include examples for Gemini (no tools param) and OpenAI (with tools param)
  - Document response format and base64 handling
  - Add supported models table with provider-specific requirements

- Add unit tests for image generation output transformation
  - Test base64 extraction from data URLs
  - Test image generation output item creation
  - Test status mapping and integration scenarios
  - Verify proper transformation from completions to responses format

Related to #16227

* fix(responses): Correct status type for image generation output

- Add _map_finish_reason_to_image_generation_status() helper function
- Fix MyPy type error: OutputImageGenerationCall.status only accepts
  ['in_progress', 'completed', 'incomplete', 'failed'], not the full
  ResponsesAPIStatus union which includes 'cancelled' and 'queued'

Fixes MyPy error in transformation.py:838
2025-12-05 15:56:26 -08:00
Cesar Garcia
829b06f53f
Fix: Gemini image_tokens incorrectly treated as text tokens in cost calculation (#17554)
When Gemini image generation models return `text_tokens=0` with `image_tokens > 0`,
the cost calculator was assuming no token breakdown existed and treating all
completion tokens as text tokens, resulting in ~10x underestimation of costs.

Changes:
- Fix cost calculation logic to respect token breakdown when image/audio/reasoning
  tokens are present, even if text_tokens=0
- Add `output_cost_per_image_token` pricing for gemini-3-pro-image-preview models
- Add test case reproducing the issue
- Add documentation explaining image token pricing

Fixes #17410
2025-12-05 15:55:38 -08:00
Yuichiro Utsumi
d18e489872
fix(docs): remove source .env (#17466)
Remove `source .env` since `docker compose` automatically loads
the `.env` file.

Signed-off-by: utsumi.yuichiro <utsumi.yuichiro@fujitsu.com>
2025-12-05 15:53:05 -08:00
Ishaan Jaff
f02df3035a
[Feat] Allow using dynamic rate limit/priority reservation on teams (#17061)
* use helper to get key/team priority

* test_team_metadata_priority

* docs team priority
2025-12-05 15:42:27 -08:00
Sameer Kankute
43914796d6 fix failing vertex tests 2025-12-06 00:04:04 +05:30
Krrish Dholakia
c272741d7f docs: fix strings 2025-12-05 09:37:22 -08:00
Krrish Dholakia
c1cbe6ed56 docs: document tool calls spec 2025-12-05 09:37:22 -08:00
Sameer Kankute
558c8f92d1
Merge pull request #17519 from BerriAI/litellm_cursor_integration
Add support for cursor BYOK with its own configuration
2025-12-05 22:23:45 +05:30
Alexsander Hamir
0c017f376c
fix: code quality issues from ruff linter (#17536)
* fix: resolve code quality issues from ruff linter

- Fix duplicate imports in anthropic guardrail handler
  - Remove duplicate AllAnthropicToolsValues import
  - Remove duplicate ChatCompletionToolParam import

- Remove unused variable 'tools' in guardrail handler

- Replace print statement with proper logging in json_loader
  - Use verbose_logger.warning() instead of print()

- Remove unused imports
  - Remove _update_metadata_field from team_endpoints
  - Remove unused ChatCompletionToolCallChunk imports from transformation

- Refactor update_team function to reduce complexity (PLR0915)
  - Extract budget_duration handling into _set_budget_reset_at() helper
  - Minimal refactoring to reduce function from 51 to 50 statements

All ruff linter errors resolved. Fixes F811, F841, T201, F401, and PLR0915 errors.

* docs: add missing environment variables to documentation

Add 8 missing environment variables to the environment variables reference section:
- AIOHTTP_CONNECTOR_LIMIT_PER_HOST: Connection limit per host for aiohttp connector
- AUDIO_SPEECH_CHUNK_SIZE: Chunk size for audio speech processing
- CYBERARK_SSL_VERIFY: Flag to enable/disable SSL certificate verification for CyberArk
- LITELLM_DD_AGENT_HOST: Hostname or IP of DataDog agent for LiteLLM-specific logging
- LITELLM_DD_AGENT_PORT: Port of DataDog agent for LiteLLM-specific log intake
- WANDB_API_KEY: API key for Weights & Biases (W&B) logging integration
- WANDB_HOST: Host URL for Weights & Biases (W&B) service
- WANDB_PROJECT_ID: Project ID for Weights & Biases (W&B) logging integration

Fixes test_env_keys.py test that was failing due to undocumented environment variables.
2025-12-05 08:40:49 -08:00
Sameer Kankute
c8fbcc7f1c add tutorial as well 2025-12-05 12:32:23 +05:30
Sameer Kankute
acc0b5fe27
Merge pull request #17362 from BerriAI/litellm_vertex-bge-cherrypick
[Feat] VertexAI - Add BGE Embeddings support
2025-12-05 11:53:42 +05:30
Krish Dholakia
b3a3081e8e
Guardrails API - new structured_messages param (#17518)
* fix(generic_guardrail_api.py): add 'structured_messages' support

allows guardrail provider to know if text is from system or user

* fix(generic_guardrail_api.md): document 'structured_messages' parameter

give api provider a way to distinguish between user and system messages

* feat(anthropic/): return openai chat completion format structured messages when calls made via `/v1/messages` on Anthropic

* feat(responses/guardrail_translation): support 'structured_messages' param for guardrails

structured openai chat completion spec messages, for guardrail checks when using /v1/responses api

allows guardrail checks to work consistently across APIs
2025-12-04 22:08:00 -08:00
Krish Dholakia
8776336c3c
Enable detailed debugging for reference (#17508)
* Deprecate set_verbose in favor of LITELLM_LOG

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

* Update debugging documentation links

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

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-04 21:51:56 -08:00
Sameer Kankute
392e5059b0 Add steps to add litellm proxy in cursor 2025-12-05 10:02:42 +05:30
Sameer Kankute
01ee46b493 Add steps to add litellm proxy in cursor 2025-12-05 10:01:48 +05:30
Sameer Kankute
4d83a48b59 Add steps to add litellm proxy in cursor 2025-12-05 09:39:58 +05:30
Sameer Kankute
a6006e698c Add support for cursor BYOK with its own configuration 2025-12-05 09:34:49 +05:30
Ishaan Jaffer
4f3b843efe docs openai 2025-12-04 18:32:23 -08:00
Ishaan Jaff
b2e8d3fd42
[Feat] Allow adding OpenAI compatible chat providers using .json + add public ai provider (#17448)
* feat: Add JSON config for OpenAI-compatible providers

Co-authored-by: ishaan <ishaan@berri.ai>

* feat: Add simple JSON config for OpenAI-compatible providers

Co-authored-by: ishaan <ishaan@berri.ai>

* feat: Implement JSON-based provider config and migrate PublicAI

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* Checkpoint before follow-up message

Co-authored-by: ishaan <ishaan@berri.ai>

* docs fix

* undo change

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: ishaan <ishaan@berri.ai>
2025-12-04 17:59:25 -08:00
Ishaan Jaff
fadfbb13d3
[Docs] A2a - Permission management (#17515)
* docs add a2a gateway + mcp gateway

* docs a2a permissions

* docs a2a permission

* docs

* docs a2a

* docs a2a

* add new img

* docs agent permissions
2025-12-04 17:29:47 -08:00
Ishaan Jaff
575e769bff
[Feat] UI - Agent Gateway - set allowed agents by key, team (#17511)
* init schema.prisma

* init LiteLLM_ObjectPermissionTable with agents and agent_access_groups

* TestAgentRequestHandler

* refatctor agent list

* add AgentRequestHandler

* fix agent access controls by key/team

* feat - new migration for LiteLLM_AgentsTable

* fix add LiteLLM_ObjectPermissionBase with agent and agent groups

* add agent routes to llm api routes

* add agent routes as llm route

* add AgentPermissionsProps

* add agents on team/key create

* add agent selector on team/key

* add agent selector on key edit /info

* add AgentPermissions

* docs list + invoke agents
2025-12-04 16:31:17 -08:00
Raghav Jhavar
72eb4c3a1c
🆕 feat: support routing to only websearch supported deployments (#17500)
* support routing to only websearch supported deployments

* add docs
2025-12-04 14:18:20 -08:00
Krrish Dholakia
5aeba81538 docs(multi_tenant_architecture.md): add new architecture doc 2025-12-04 11:13:50 -08:00
Sameer Kankute
f2c0029939
Merge pull request #17470 from BerriAI/litellm_batches_bedrock_content
Add support for file content download for bedrock batches
2025-12-04 21:57:04 +05:30
Sameer Kankute
5b4542304d
Merge pull request #17461 from BerriAI/litellm_qwen2_imported_model_support
Add support for bedrock qwen 2 imported model
2025-12-04 21:56:22 +05:30
Sameer Kankute
edd392b50d Add support for file content download for bedrock batches 2025-12-04 13:27:53 +05:30
Krish Dholakia
dc7c2b9b05
Update docs to link agent hub (#17462)
* Docs: Add AI Hub agent registry documentation

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

* Fix: Update AI Hub link in A2A documentation

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

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-03 21:59:45 -08:00
Sameer Kankute
4710e772be Add support for bedrock qwen 2 imported model 2025-12-04 11:08:57 +05:30
codgician
adfbb1c308
docs: document responses and embedding api for github copilot (#17456) 2025-12-03 21:22:08 -08:00
Krish Dholakia
32013f63a0
Guardrail API - support tool call checks on OpenAI /chat/completions, OpenAI /responses, Anthropic /v1/messages (#17459)
* fix(unified_guardrail.py): correctly map a v1/messages call to the anthropic unified guardrail

* fix: add more rigorous call type checks

* fix(anthropic_endpoints/endpoints.py): initialize logging object at the beginning of endpoint

ensures call id + trace id are emitted to guardrail api

* feat(anthropic/chat/guardrail_translation): support streaming guardrails

sample on every 5 chunks

* fix(openai/chat/guardrail_translation): support openai streaming guardrails

* fix: initial commit fixing output guardrails for responses api

* feat(openai/responses/guardrail_translation): handler.py - fix output checks on responses api

* fix(openai/responses/guardrail_translation/handler.py): ensure responses api guardrails work on streaming

* test: update tests

* test: update tests

* fix: support multiple kinds of input to the guardrail api

* feat(guardrail_translation/handler.py): support extracting tool calls from openai chat completions for guardrail api's

* feat(generic_guardrail_api.py): support extracting + returning modified tool calls on generic_guardrails_api

allows guardrail api to analyze tool call being sent to provider - to run any analysis on it

* fix(guardrails.py): support anthropic /v1/messages tool calls

* feat(responses_api/): extract tool calls for guardrail processing

* docs(generic_guardrail_api.md): document tools param support

* docs: generic_guardrail_api.md

improve documentation
2025-12-03 21:20:39 -08:00
Ishaan Jaff
e4f954b354
[Docs] Agent Gateway (#17454)
* init litellm A2a client

* simpler a2a client interface

* test a2a

* move a2a invoking tests

* test fix

* ensure a2a send message is tracked n logs

* rename tags

* add streaming handlng

* add a2a invocation

* add a2a invocation i cost calc

* test_a2a_logging_payload

* update invoke_agent_a2a

* test_invoke_agent_a2a_adds_litellm_data

* add A2a agent

* fix endpoints on A2a

* UI allow testing a2a endpoints

* add agent imgs

* add a2a as an endpoint

* add a2a

* docs a2a invoke

* docs a2a

* docs A2a invoke
2025-12-03 18:57:41 -08:00
Ishaan Jaff
f035984dd7
fix: cyberark allow setting ssl verfiy to false (#17433) 2025-12-03 18:54:31 -08:00
yuneng-jiang
37c598441f Change is_sso_configured to auto_redirect_to_sso 2025-12-03 15:48:50 -08:00
Ishaan Jaffer
9b3d8302cf docs fix stable 2025-12-03 14:12:50 -08:00
Cesar Garcia
5e791464af
docs: add Microsoft Agent Lightning to projects (#17422)
Add Agent Lightning, Microsoft's open-source framework for training
AI agents with RL, APO, and SFT. Uses LiteLLM Proxy for LLM routing
and trace collection.
2025-12-03 09:07:02 -08:00
Krrish Dholakia
be5dd234bf docs: fix list 2025-12-03 08:01:26 -08:00
Sameer Kankute
8eaabb4ad7 Add vector store support for ragflow 2025-12-03 15:29:47 +05:30
Sameer Kankute
52090c3f3e
Merge pull request #17350 from BerriAI/litellm_rag_chat_completion_api
Add ragflow support for chat completions API
2025-12-03 13:29:32 +05:30
Cesar Garcia
86350fe6d7
docs: add Google ADK and Harbor to projects (#17352)
Both frameworks integrate with LiteLLM:
- Google ADK uses LiteLLM for model-agnostic agent building
- Harbor uses LiteLLM for agent evaluation across providers
2025-12-02 22:27:04 -08:00
Cesar Garcia
4c6604b0da
Cleanup: Remove orphan docs pages and Docusaurus template files (#17356)
* docs: update getting started page

- Add Core Functions table with link to full list
- Add Responses API section
- Add Async section with acompletion() example
- Add "Switch Providers with One Line" example
- Clarify Basic Usage supports multiple endpoints
- Update models to current versions (openai/gpt-4o, anthropic/claude-sonnet-4)
- Use provider/model format throughout
- Fix deprecated import: from openai.error -> from openai
- Keep original structure: community key, More details links, observability env vars

* Cleanup: Remove orphan docs pages and Docusaurus template files

- Remove orphan getting_started.md (not linked in sidebar)
- Remove Docusaurus template intro.md
- Remove tutorial-basics/ directory (Docusaurus template)
- Remove tutorial-extras/ directory (Docusaurus template)
2025-12-02 22:25:26 -08:00
Ali Saleh
6b5ad5d5a6
docs: Update Instructions For Phoenix Integration (#17373) 2025-12-02 22:03:54 -08:00
Sameer Kankute
a0819d6df0
Merge branch 'main' into litellm_vertex-bge-cherrypick 2025-12-03 08:37:04 +05:30
Ishaan Jaff
427074ac6e
Fix: Datadog callback regression when ddtrace is installed (#17393)
* fix DD agent host logging

* docs fix

* test_datadog_agent_configuration

* test_datadog_ignores_ddtrace_agent_host
2025-12-02 17:27:50 -08:00
Ishaan Jaff
6c188c5ae2
[Feat] New model/provider - Adds support for Google Cloud Chirp3 HD on /speech (#17391)
* docs vertex tts

* place vertex ai types in file

* use VertexAITextToSpeechConfig

* use vertex_voice_dict

* refactor docs

* docs vertex ai chirp

* TestVertexAITextToSpeechConfig

* new provider vertex ai chirp3

* test_litellm_speech_vertex_ai_chirp

* add vertex_ai/chirp cost trackign
2025-12-02 15:36:23 -08:00
Ishaan Jaff
db6c6eea89
[Docs] Add guide on how to debug gateway error vs provider error (#17387)
* add error diagnosis

* docs error diagnosis
2025-12-02 14:10:00 -08:00
Cesar Garcia
81f4d863ca
docs: add Azure AI Foundry documentation for Claude models (#17104)
* docs: add Azure AI Foundry documentation for Claude models

Add documentation explaining how to use Claude models (Sonnet 4.5,
Haiku 4.5, Opus 4.1) deployed on Azure AI Foundry with LiteLLM.

Azure exposes Claude using Anthropic's native API, so users can use
the existing anthropic/ provider with their Azure endpoint.

Closes #17066

* docs: Add alternative method for Azure AI Foundry using anthropic/ provider

Document that users can use anthropic/ provider with Azure endpoint
as an alternative to the dedicated azure_ai/ provider.
2025-12-02 09:08:10 -08:00
Sameer Kankute
4ac9e4c81c
Merge pull request #17345 from BerriAI/litellm_fix_jwt_auth_route_issue
Add other routes in jwt auth
2025-12-02 22:21:04 +05:30
Ishaan Jaffer
fcc108b554 docs fix 2025-12-02 21:59:02 +05:30
Ishaan Jaffer
a79002c1fe docs 2025-12-02 21:59:02 +05:30
Ishaan Jaffer
b7fe25c97d docs vertex BGE 2025-12-02 21:59:02 +05:30
Ishaan Jaffer
88b2cfc789 docs cleanup 2025-12-02 21:59:02 +05:30