Commit graph

22950 commits

Author SHA1 Message Date
Ishaan Jaff
35e46784d3
[Feat] Add Support for calling Gemini/Vertex models in their native format (#12046)
* init litellm google gen ai methods

* feat init structure of functions for generate content

* add init

* add BaseGoogleGenAIGenerateContentConfig

* add generate_content_handler

* add get_provider_google_genai_generate_content_config

* fixes for generate content

* add get_vertex_ai_project etc to base

* use VertexBase

* fixes for BaseGoogleGenAIGenerateContentConfig

* working validate env for google gemini

* feat - add transform google response

* fixes for transform_generate_content_request

* fix get_supported_generate_content_optional_params

* add BaseGoogleGenAITest

* working e2e test

* fixes init config

* use correct types

* fix test for google gen ai

* fix types

* add sync_get_auth_token_and_url

* fixes for transform

* add llm http handler for google

* working non-streaming google endpoints

* add BaseGoogleGenAIGenerateContentStreamingIterator

* add GoogleGenAIGenerateContentStreamingIterator

* fix working sync stream

* fixes for litellm logging obj

* working async streaming

* add google gen ai types

* fix - required imports

* fix readme

* fix deps

* fix deps

* fix ruff code QA checks

* fix linting

* fixes TYPE_CHECKING

* fixes for typing
2025-06-25 18:37:03 -07:00
Cole McIntosh
f9ef45474b Fix Elasticsearch tutorial image rendering
- Replace markdown image syntax with React Image component
- Import @theme/IdealImage for proper image rendering in Docusaurus
- Addresses PR feedback to fix image display issues
2025-06-25 16:27:14 -06:00
Cole McIntosh
7809b07dd6
Merge branch 'BerriAI:main' into docs/elasticsearch-logging-tutorial 2025-06-25 16:20:05 -06:00
Cole McIntosh
51c1c7bd36
Add Elasticsearch Logging Tutorial (#11761)
* docs: add Elasticsearch logging tutorial and update sidebar

* docs: update Elasticsearch logging tutorial to include OpenTelemetry setup and configuration

* docs: remove sections from Elasticsearch logging tutorial

* docs: remove analytics examples from Elasticsearch logging tutorial

* Update Elasticsearch version and logging exporter configuration in the Elasticsearch logging tutorial

* Add visualization instructions for LLM telemetry data in Kibana to Elasticsearch logging tutorial

* Add Elasticsearch demo image to documentation

* Move demo image for Elasticsearch logging tutorial
2025-06-25 15:17:37 -07:00
Cole McIntosh
9111b67950 Move demo image for Elasticsearch logging tutorial 2025-06-25 16:14:27 -06:00
Ishaan Jaff
8d78519adb
[Feat] Add initial endpoints for using Gemini SDK (gemini-cli) with LiteLLM (#12040)
* init with google endpoints

* add Depends
2025-06-25 15:12:25 -07:00
Cole McIntosh
b3aa8c980e Add Elasticsearch demo image to documentation 2025-06-25 16:11:41 -06:00
Cole McIntosh
c218b62822 Add visualization instructions for LLM telemetry data in Kibana to Elasticsearch logging tutorial 2025-06-25 16:11:32 -06:00
Cole McIntosh
d7568a37f0
Merge branch 'BerriAI:main' into docs/elasticsearch-logging-tutorial 2025-06-25 15:42:18 -06:00
Cole McIntosh
cdf95f5f2c Enhance UsageDatePicker component by adding time range display and improving timezone handling for date selections. Default time range visibility is set to true, ensuring better user experience in usage dashboards. 2025-06-25 11:28:35 -06:00
Cole McIntosh
102680d0ed Refactor date handling in ModelDashboard to use startTime and endTime directly, improving clarity and consistency in metric data retrieval. 2025-06-25 11:28:24 -06:00
Cole McIntosh
3f644602fb Refactor date range selection in dashboards to use UsageDatePicker component, simplifying date handling logic and improving consistency across components. 2025-06-25 11:16:01 -06:00
Cole McIntosh
52e51ead03 Add UsageDatePicker component for usage dashboards 2025-06-25 11:14:48 -06:00
tanjiro
2a6dab0d23
aggregate the data across all pages (#12033) 2025-06-25 09:54:41 -07:00
Cole McIntosh
445227371a
Merge branch 'BerriAI:main' into fix-today-selector-date-mutation-bug 2025-06-25 10:51:53 -06:00
Ishaan Jaff
d98a9ae424
[Fix] Router - cooldown time, allow using dynamic cooldown time for a specific deployment (#12037)
* fixes header_cooldown

* test_deployment_callback_respects_cooldown_time
2025-06-25 08:46:27 -07:00
Cole McIntosh
f8e162a084 docs(GEMINI.md): add development guidelines and architecture overview for Gemini project 2025-06-25 08:22:15 -06:00
Krish Dholakia
1a4ad8bf18
Update mistral 'supports_response_schema' field + Fix ollama embedding (#12024)
* build(model_prices_and_context_window.json): update all mistral models (besides codestral-mamba) to indicate support for response schema

Closes https://github.com/BerriAI/litellm/issues/12012

* fix(route_llm_request.py): if llm router is not initialized, go straight through to litellm sdk

Fixes https://github.com/BerriAI/litellm/issues/12008

* test: add unit test

* fix(ollama_embeddings): fix unecessary await

Fixes https://github.com/BerriAI/litellm/issues/11997

* test: update ollama embedding tests
2025-06-25 07:20:13 -07:00
Krish Dholakia
24c2cd1bd9
Anthropic /v1/messages - Custom LLM Server support (#12016)
* fix(handler.py): support routing custom llm's to chat completion handler

Adds custom llm support for anthropic

* test(test_anthropic_experimental_pass_through_messages_handler.py): add unit test confirming custom llm respected

* docs(custom_llm_server.md): document anthropic custom llm translation

* test(volcengine.py): map thinking in extra body

Fixes https://github.com/BerriAI/litellm/issues/11879

* feat(main.py): support `azure/responses/<deployment-name>` model string

this allows us to route the model correctly

Closes https://github.com/BerriAI/litellm/issues/11879

* docs(azure_responses.md): document calling azure responses api models via chat completions bridge

Closes https://github.com/BerriAI/litellm/issues/11917

* fix: fix custom provider check

* test: update tests
2025-06-24 22:00:44 -07:00
Krish Dholakia
ac15ca3014
Teams - Support default key expiry + UI - support enforcing access for members of specific SSO Group (#12023)
* fix(team_endpoints.py): support setting default key expiry

allows admin to set key expiry on all team member keys

makes it easier to setup default team for experimentation

* feat(key_management_endpoints.py): allows admin to set duration for keys created by team members

* feat(team_endpoints.py): support team_member_key_duration on `/team/update`

allows setting max time team member keys are valid for

* fix(team_info.tsx): ui component to update team member key duration

* fix(team_info.tsx): support updating team member key duration, if set

* feat(teams.tsx): add team member key duration param ui component

allow admin to set this on UI

* feat(ui_sso.py): support restricting ui access by sso group

allows controlling who can/can't access the UI

* feat(ssomodals.tsx): add initial commit adding sso group access to admin ui

* feat(proxy_server.py): support reading + writing ui_access_mode from db

allows admin to configure allowed sso groups from UI

* feat(ui_sso.py): support enforcing all teams on sso jwt handler

if ui access mode set via ui, support reading the value and enforcing it

* feat(ui/): ui component for controlling sso access group

allow admin to only allow users within specific sso group to log into UI

* fix(uiaccesscontrolform.tsx): fix field names

* feat(ui_sso.py): return received sso response in the clientside error message - enables easier debugging

* test: add unit tests

* fix: minor fixes
2025-06-24 21:58:07 -07:00
Cole McIntosh
15dabf6573
docs(CLAUDE.md): add development guidance and architecture overview for Claude Code (#12011) 2025-06-24 20:48:08 -07:00
Ishaan Jaff
d6cc384780
[Feat] OpenAI/Azure OpenAI - Add support for creating vector stores on LiteLLM (#12021)
* add create/acreate vector store

* add azure config

* add _base_validate_azure_environment

* fix base test

* add get_base_create_vector_store_args

* use base llm for headers responses api

* add _get_base_azure_url

* fix AzureOpenAIVectorStoreConfig

* TestAzureOpenAIVectorStore

* fix azure openai vector store

* fix test comment

* fix unused imports

* test_validate_environment_azure_api_key_within_secret_str

* test_azure_transformation.py
2025-06-24 20:46:48 -07:00
Ishaan Jaff
2bb8048864
[Feat] Add OpenAI Search Vector Store Operation (#12018)
* add BaseVectorStoreTransformation

* fix BaseVectorStoreTransformation

* add OpenAIVectorStoreTransformation

* fix transform

* add search, asearch vector stores

* add skeleton for vector store searching

* fix VectorStoreSearchOptionalRequestParams

* fix VectorStoreRequestUtils

* fix litellm.asearch/litellm.search

* fix BaseVectorStoreConfig

* add vector_store_search_handler to llm http handler

* use llm http handler for searching vector stores

* fix base vector store config

* fix vector_store_search_handler

* async_vector_store_search_handler

* add conftest

* add BaseVectorStoreTest

* move litellm.integrations.vector_store_integrations

* fix working OAI OpenAIVectorStoreConfig

* add Search vector store

* add OpenAI Vector Stores
2025-06-24 15:52:43 -07:00
Cole McIntosh
97da33494a
Refactor unpack_defs to use iterative approach instead of recursion (#12017)
* Refactor unpack_defs to use iterative approach instead of recursion

- Replace recursive depth-first traversal with iterative queue-based approach
- Add collections.deque import for efficient queue operations
- Avoid potential stack overflow issues with deeply nested schemas
- Maintain same functionality while improving performance and safety

* Remove unused import of Set in common_utils.py

* Enhance type hinting for queue in unpack_defs function in common_utils.py

* Enhance unpack_defs function to handle key validation for parent structures in common_utils.py

- Added checks to ensure that the parent is a dictionary or list and that the key is of the appropriate type (string for dicts, integer for lists) before assigning the resolved schema.
- This improves the robustness of the unpack_defs function when dealing with various schema structures.
2025-06-24 15:38:48 -07:00
Ishaan Jaff
1467a99aab
[Fix] Magistral small system prompt diverges too much from the official recommendation (#12007)
* fix mistral _get_mistral_reasoning_system_prompt

* fix test_get_mistral_reasoning_system_prompt
2025-06-24 13:45:58 -07:00
Cole McIntosh
ca96e39229 Update package-lock.json to include @anthropic-ai/sdk version 0.54.0 2025-06-24 14:29:14 -06:00
Cole McIntosh
c42a876735 Fix date mutation bug causing 'Today' selector to return no data
- Create new Date objects instead of mutating original DateRangePicker dates
- Fixes issue where first API call would mutate dateValue.from/to causing
  subsequent calls to use corrupted date ranges
- Updated usage.tsx, cache_dashboard.tsx, and model_dashboard.tsx
- Minimal change preserving original timezone logic
2025-06-24 14:28:52 -06:00
Krrish Dholakia
8da22be199 docs(self_serve.md): update doc 2025-06-24 13:25:17 -07:00
Krrish Dholakia
c9a8198d12 docs(self_serve.md): clarify team must be created before setting as default team 2025-06-24 13:24:23 -07:00
Ishaan Jaff
b9feb43dac
[Bug Fix] SCIM - Ensure new user roles are applied (#12015)
* SCIM fix new user roles

* test_create_user_defaults_to_viewer

* test_create_user_uses_default_internal_user_params_role

* fix default user for SCIM

* fix linting error
2025-06-24 13:22:56 -07:00
Marty Sullivan
a5ce1cd49b
add azure o3-pro pricing (#11990) 2025-06-24 10:57:24 -07:00
shagunb-acn
dd38e80471
#response_format NVIDIA-NIM add response_format to OpenAI parameters mapping (#12003) 2025-06-24 09:44:35 -07:00
Krrish Dholakia
330cd4f2a9 docs(self_serve.md): update self serve docs to include default team / member budget information 2025-06-24 09:31:33 -07:00
Cole McIntosh
8965cc3b6c
Fix unpack_defs handling of nested $ref inside anyOf items (#11964)
* refactor(unpack_defs): enhance handling of schema properties and anyOf structures

- Improved the unpack_defs function to handle top-level properties and nested structures more effectively.
- Added recursion for items in schemas and refined the handling of anyOf branches to ensure proper unpacking of references.
- Streamlined the logic for resolving $ref keys and managing nested schemas.

* test(unpack_defs): add test for resolving nested $ref in anyOf items

- Introduced a new test to verify that unpack_defs correctly resolves references within items of anyOf structures, addressing a specific bug scenario (Issue #11372).
- The test includes a minimal schema to ensure proper unpacking and validation of the resolved items schema.

* refactor(unpack_defs): implement a generic resolver for $ref entries

- Redesigned the unpack_defs function to provide a more robust and dependency-free implementation for resolving all $ref entries in JSON schemas.
- Introduced a depth-first traversal method that efficiently handles nested structures, including anyOf, allOf, and items, while avoiding infinite recursion.
- Enhanced memory management by resolving nodes in-place without creating a full dereferenced copy, improving performance and reducing overhead.

* Remove test for unpack_defs resolving nested references in anyOf items from test_utils.py

* Add test for unpack_defs resolving nested references in anyOf items

This commit introduces a new test to ensure that the unpack_defs function correctly resolves $ref references within items of anyOf schemas, addressing issue #11372. The test verifies that the unpacked schema contains the expected properties and structure.
2025-06-24 09:08:15 -07:00
Krrish Dholakia
4598a9bf31 bump: version 1.73.1 → 1.73.2 2025-06-23 22:34:15 -07:00
Krish Dholakia
a89397a798
Litellm dev 06 23 2025 p1 (#11989)
* fix(litellm_logging.py): fix using router model id for logging calls

Fixes https://github.com/BerriAI/litellm/issues/11975#issuecomment-2995882238

* test(test_litellm_logging.py): add unit test for custom price tracking

* fix(vertex_ai/): don't send invalid format parameter to vertex

causes calls to fail

* fix(vertex_ai_context_caching.py): if cached content present and tools in message, cache tools as well

gemini throws errors if tools passed in alongside cached content

* test: add unit tests

* fix: fix linting errors

* test: test_vertex_ai_common_utils.py

update test

* fix(streaming_handler.py): unset response cost when creating model response
2025-06-23 22:33:06 -07:00
Krish Dholakia
3f53c2eb18
VertexAI Anthropic passthrough cost calc fixes + Filter litellm params from request sent to passthrough endpoint (#11992)
* fix(pass_through_endpoints.py): filter out litellm params from passthrough body

* fix(pass_through_endpoints.py): fix metadata positioninig

* fix(vertex_passthrough_logging_handler.py): consider prompt tokens for vertex anthropic passthrough logging

Fixes https://github.com/BerriAI/litellm/issues/11935

* fix(utils.py): handle prompt token details existing alongside cache creation input tokens

Fixes https://github.com/BerriAI/litellm/issues/11935

* fix(pass_through_endpoints.py): handle metdata update
2025-06-23 22:24:47 -07:00
Ishaan Jaff
eec0e4d2be docs - web search 2025-06-23 21:25:35 -07:00
Ishaan Jaff
5442611a0b fix linting 2025-06-23 20:10:39 -07:00
Ishaan Jaff
3d542846b2 test fix 2025-06-23 20:03:26 -07:00
Ishaan Jaff
d677a6bda2
[Bug Fix] Bedrock Guardrail - Don't raise exception on intervene action (#11875)
* Refactor Bedrock guardrails to handle BLOCKED vs ANONYMIZED actions

* Enhance Bedrock guardrail masking with improved anonymization logic

* fix _should_raise_guardrail_blocked_exception

* test_bedrock_guardrail_uses_masked_output_without_masking_flags

* fix linting error

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-06-23 19:59:44 -07:00
Ishaan Jaff
d4ba4900cf bump litellm enterprise 2025-06-23 19:36:31 -07:00
Ishaan Jaff
5534387c22 bump: version 1.73.0 → 1.73.1 2025-06-23 19:34:55 -07:00
Ishaan Jaff
321fc09b3e ui fix linting errors 2025-06-23 18:43:56 -07:00
Ishaan Jaff
4f98862ef9 test_azure_common_utils.py 2025-06-23 18:34:48 -07:00
Ishaan Jaff
77813ebdf8 ui - fix linting error 2025-06-23 18:18:36 -07:00
hsuyuming
180ed14918
fix: fix test_get_azure_ad_token_with_oidc_token testcase issue, because (#11988)
CI/CD pipeline setup AZURE_CLIENT_SECRET within enviroment variable, so
we need to setup as None in this case
2025-06-23 18:11:06 -07:00
Ishaan Jaff
b5c48c8c22
[Feat] Add List Callbacks API Endpoint (#11987)
* add get_callbacks_by_type

* add list_callbacks

* fix _get_callback_string

* add callback_management_endpoints_router

* fix proxy config.yaml

* fixes list callbacks

* TestCallbackManagementEndpoints

* update docs

* docs Response Fields

* docs header format

* docs Dynamic Callback Management
2025-06-23 15:34:25 -07:00
Cole McIntosh
eacb4dfdef
Add Mistral 3.2 24B to model mapping (#11926)
* feat(model_prices_and_context_window.json): add mistral-small-3.2-24b-instruct model with token costs and chat mode support

* fix(model_prices_and_context_window.json): update model paths to include 'openrouter' prefix for mistral-small-3.1 and 3.2
2025-06-23 14:54:39 -07:00
Ishaan Jaff
8c5fb6f539
[Feat] Enterprise - Allow dynamically disabling callbacks in request headers (#11985)
* Add support for disabling callbacks via x-litellm-disable-callbacks header

* add _is_callback_disabled_via_headers

* add get_proxy_server_request_headers

* _is_callback_disabled_via_headers

* X_LITELLM_DISABLE_CALLBACKS

* add EnterpriseCallbackControls

* use EnterpriseCallbackControls

* use CustomLoggerRegistry

* use CustomLoggerRegistry

* CustomLoggerRegistry

* EnterpriseCallbackControls

* TestEnterpriseCallbackControls

* docs clean up

* docs dynamic callbacks

* doc fixes

* fix code qa checks

* fix CustomLoggerRegistry

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-06-23 14:32:05 -07:00