Commit graph

23056 commits

Author SHA1 Message Date
Ishaan Jaff
5630147e80 Revert "Revert "fix tests (#12286)""
This reverts commit 12f157513b.
2025-07-03 12:08:27 -07:00
Ishaan Jaff
12f157513b Revert "fix tests (#12286)"
This reverts commit 99ce3a24cc.
2025-07-03 12:04:23 -07:00
Ishaan Jaff
9cc144e3cb test add clear_existing_callbacks 2025-07-03 12:00:36 -07:00
Ishaan Jaff
cb68f5387c Revert "test_caching_kwargs_input"
This reverts commit 1dee70efba.
2025-07-03 11:49:04 -07:00
Jugal D. Bhatt
df161f1e45
Litellm mcp tool prefix (#12289)
* prefix all server tools from the backend

* change var name

* fix tests
2025-07-03 11:39:37 -07:00
Ishaan Jaff
1dee70efba test_caching_kwargs_input 2025-07-03 11:28:12 -07:00
Ishaan Jaff
96d5f891df fix test 2025-07-03 11:18:41 -07:00
Ishaan Jaff
ba5af3e44b fix keys delete 2025-07-03 11:18:10 -07:00
Ishaan Jaff
4fc4304f37 fix code qa checks 2025-07-03 10:59:52 -07:00
célina
99ce3a24cc
fix tests (#12286) 2025-07-03 10:57:19 -07:00
Krrish Dholakia
82a0a443c6 feat(stream_chunk_builder_utils.py): correctly return web_search_requests on stream chunk builder 2025-07-03 10:56:26 -07:00
Ishaan Jaff
c3909d6f50 test_keys_delete_error_handling 2025-07-03 10:04:59 -07:00
dcieslak19973
d480cea8b0
Add azure_ai cohere rerank v3.5 (#12283)
* Add azure_ai cohere rerank v3.5

* Fix CI error
2025-07-03 10:01:45 -07:00
tanjiro
6bf1073e1c
Correctly display 'Internal Viewer' user role (#12284)
* add "internal_user_viewer" as a user role value type

* cleanup console.log

* remove unused imports

* prettier

* comment
2025-07-03 09:57:49 -07:00
Ishaan Jaff
282ce1a859 test - fix delete keys 2025-07-02 22:23:10 -07:00
Krish Dholakia
42cd05dee8
Add Azure Content Safety Guardrails to LiteLLM proxy (#12268)
* feat(azure/prompt_shield.py): initial commit adding prompt shield guardrail + auto discovery mechanism for guardrails

reduces amount of code needed outside of guardrail integration for instrumentation

* feat(azure/prompt_shield.py): working azure prompt shield guardrail integration

Addresses https://github.com/BerriAI/litellm/issues/12254

* test: unit tests for prompt_shield

* fix(prompt_shield.py): add event hook validation for prompt shield guardrail

ensures prompt shield guardrail raises error if asked to run post_call (only runs on user prompt)

* feat(azure/): working text_moderation integration

* fix(text_moderation.py): suppress linting error

* test(test_azure_text_moderation.py): add unit test

* test(test_azure_text_moderation.py): add unit test for responses

* fix(text_moderation.py): return streaming error correctly

ensures error returned to user

* fix: fix linting error

* fix: fix linting check

* test: change mistral model

service tier exceeded

* fix(exception_mapping_utils.py): cover mistral in exception mapping
2025-07-02 21:34:19 -07:00
Krrish Dholakia
a198d4a39f test: change mistral model
service tier exceeded
2025-07-02 21:11:02 -07:00
Ishaan Jaff
1aa55e6a74 test_url_context 2025-07-02 21:10:12 -07:00
Ishaan Jaff
4290e04e4f test -self.received_finish_reason = response_obj["finish_reason"] 2025-07-02 21:06:43 -07:00
Ishaan Jaff
f1777dbe3d ui new build 2025-07-02 20:50:08 -07:00
Ishaan Jaff
03790cfc2d fix lint 2025-07-02 20:42:10 -07:00
Ishaan Jaff
9e363787e7 fix - mcp import error 2025-07-02 20:39:59 -07:00
Krish Dholakia
bba75aa12b
Add 'audio_url' message type support for VLLM (#12270)
* fix(openai.py): add audio_url content type for vllm

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

* test: fix test
2025-07-02 20:37:45 -07:00
Ishaan Jaff
3b1c5df288 Revert "bump: version 1.74.0 → 1.75.0"
This reverts commit e1c801a1a9.
2025-07-02 20:33:29 -07:00
Ishaan Jaff
e1c801a1a9 bump: version 1.74.0 → 1.75.0 2025-07-02 20:32:42 -07:00
Ishaan Jaff
98d535deaa
qa - ui (#12265) 2025-07-02 20:30:14 -07:00
Jugal D. Bhatt
5fe01b9a2b
Add MCP servers header to the scope of header (#12266)
* add mcp header param

* rename class

* fix tests

* fix tests

* added ruff fixes

* fix ruff checks

* added mypy type checking
2025-07-02 20:22:14 -07:00
Ishaan Jaff
eef0623443
[Feat] Add Arize Team Based Logging (#12264)
* working KeyAndTeamLoggingSettings

* add arize_space_id to StandardCallbackDynamicParams

* add construct_dynamic_arize_headers

* add construct_dynamic_arize_headers to

* update otel arize logging

* fix imports

* test_construct_dynamic_arize_headers

* dynamic key/team settings

* test_get_dynamic_logging_metadata_with_arize_team_logging
2025-07-02 17:15:35 -07:00
Jugal D. Bhatt
5a852ca647
Add fix to tests (#12263) 2025-07-02 16:57:49 -07:00
Ishaan Jaff
77741b7684
[Feat] UI - Allow adding team specific logging callbacks (#12261)
* add arize logo

* use correct struct

* define dynamic params

* add arize_space_id

* update ui

* ui - team logging
2025-07-02 16:35:22 -07:00
Yuichiro Utsumi
164455ad2f
docs: fix config file description in k8s deployment (#12230)
Signed-off-by: Yuichiro Utsumi <utsumi.yuichiro@fujitsu.com>
2025-07-02 16:33:28 -07:00
Jugal D. Bhatt
d55712b783
Add MCP url masking on frontend (#12247)
* add url masking on frontend

* fix test

* add signature
2025-07-02 16:32:26 -07:00
Jugal D. Bhatt
88834b8550
[Bump] Litellm responses format (#12253)
* Add responses format changes

* Add check

* Add check

* added more testing
2025-07-02 16:32:06 -07:00
Ishaan Jaff
1ce71d6d61 bump litellm-enterprise = {version = "0.1.11", optional = true} 2025-07-02 15:00:28 -07:00
Ishaan Jaff
bc368707df
[Bug Fix] Fixes for bedrock guardrails post_call - applying to streaming responses (#12252)
* fixes for using bedrock guard

* fixes for output_content_bedrock guard

* test_convert_to_bedrock_format_input_source

* test_convert_to_bedrock_format_post_call_streaming_hook

* test bedrock guard
2025-07-02 14:46:27 -07:00
Krrish Dholakia
26f6dbdd3d docs(bedrock_agents.md): show example of passing provider specific params to bedrock agents
Closes https://github.com/BerriAI/litellm/issues/12232#issuecomment-3029092079
2025-07-02 14:23:07 -07:00
Nathan Brake
14feb5e454
feat: Turn Mistral to use llm_http_handler (#12245)
* Enhance Mistral API: Add support for parallel tool calls and refine name handling in tool messages. Plus, introduce a new test for parallel tool calls in the Mistral model.

* tests

* make mypy happy

* Refine name handling in Mistral chat transformation: clarify conditions for removing the 'name' field based on message role and content.

* refactor: streamline Mistral integration by removing deprecated references and adding a new handler

- Removed "mistral" from the list of compatible providers in constants.
- Updated the completion function in main.py to utilize the new Mistral handler.
- Deleted outdated Mistral chat and embedding files.
- Introduced a new handler for Mistral chat completions, implementing the llm_http_handler pattern.
- Added integration tests for the Mistral handler to ensure proper API base and key handling.

* lint

* fix: remove unneeded handler object

* add tests

* Addres PR comments
2025-07-02 14:01:56 -07:00
Krish Dholakia
df49b24bc0
Azure - responses api bridge - respect responses/ + Gemini - generate content bridge - handle kwargs + litellm params containing stream (#12224)
* fix(main.py): handle router custom azure model name for responses api bridge

* fix(responses/handler): ensure azure model name is stripped before sending to provider

Fixes model name error

* fix(google_genai/main.py): handle stream=true being set in kwargs

* docs: cleanup icons from sidebar

* fix(test-litellm.yml): add google-genai to test litellmyml

* fix(main.py): strip 'responses/' from bridge

* fix(main.py): fix linting errors

* fix(types/openai.py): allow item to be none

handle azure streaming response

* fix(base.py): allow extra fields + handle azure item = none value in response output item added event

* fix(main.py): correctly handle removing responses/

* test(test_main.py): add unit tests
2025-07-02 13:53:52 -07:00
Cole McIntosh
2c60c316ec
Fix: Initialize JSON logging for all loggers when JSON_LOGS=True (#12206)
When JSON_LOGS=True is set, error logs were not being formatted as JSON despite
the configuration. This was because the logging initialization code configured
individual loggers but failed to properly initialize all loggers with the JSON
formatter.

This fix ensures that when json_logs is enabled, the _initialize_loggers_with_handler()
function is called to:
- Configure all loggers (root, LiteLLM, Router, Proxy) with JSON formatter
- Disable logger propagation to prevent duplicate entries
- Set up exception handlers for JSON formatting

Fixes LIT-267
2025-07-02 12:18:28 -07:00
Krish Dholakia
6717d67f3b
fix(streaming_handler.py): store finish reason, even if is_finished is false - allows storing early gemini finish reasons (#12250)
Fixes https://github.com/BerriAI/litellm/issues/12249
2025-07-02 12:09:41 -07:00
tanjiro
bbc1467d23
Add logos to callback list (#12244)
* add logos to callback list

* added logos

* minor

* cleanup console.log + remove unused functions + prettier

* more cleanup

* fix braintrust logo

* minor
2025-07-02 09:55:55 -07:00
Krrish Dholakia
c5e55c0b19 docs(index.md): clarify which rc version fixes the non-root ui issue 2025-07-01 22:32:55 -07:00
Nathan Brake
c2dbc9c64b
fix: mistral transform_response handling for empty string content (#12202)
* Enhance Mistral API: Add support for parallel tool calls and refine name handling in tool messages. Plus, introduce a new test for parallel tool calls in the Mistral model.

* tests

* make mypy happy

* Refine name handling in Mistral chat transformation: clarify conditions for removing the 'name' field based on message role and content.

* handle mistral returning '' instead of None
2025-07-01 22:31:50 -07:00
Krish Dholakia
22d28f5853
Batches - support batch retrieve with target model Query Param + Anthropic - completion bridge, yield content_block_stop chunk (#12228)
* fix(batches_endpoints/endpoints.py): support passing target model names for batch list as a query param

Fixes issue where cloud run fails calls because GET can't contain request body

* test(test_openai_batches_endpoints.py): add unit test

* docs(managed_batches.md): update docs

* feat(spend_tracking_utils.py): support STORE_PROMPTS_IN_SPEND_LOGS env var

ensures prompt is stored in spend logs

* fix(streaming_iterator.py): fix anthropic - completion streaming iterator to yield content block stop

ensures claude code renders messages

* test: skip local test
2025-07-01 22:13:48 -07:00
Krish Dholakia
9a2c74c25b
Fix rendering ui on non-root images (#12226)
* fix(proxy_server.py): only rewrite server_root_path if path set

Fixes UI rendering issue on non-root images

* docs(custom_root_ui.md): clarify custom root path doesn't work on non-root images
2025-07-01 22:08:35 -07:00
Jugal D. Bhatt
d322e772f0
Litellm add sentry scrubbing (#12210)
* add sentry scrubbing

* add new constants

* remove_unused_import

* sentry scrubbing test

* added unit test
2025-07-01 20:42:36 -07:00
Ishaan Jaff
7471a30dcd
Revert "Fix: Preserve full path structure for Gemini custom api_base (#12215)" (#12227)
This reverts commit f47254ecab.
2025-07-01 20:41:39 -07:00
Ishaan Jaff
4b4e2dfde4 test base email 2025-07-01 20:33:21 -07:00
Ishaan Jaff
66fafa3a7f
[Feat] Polish - add better error validation when users configure prometheus metrics and labels to control cardinality (#12182)
* self._pretty_print_invalid_metric_error

* docs prometheus.md

* test prom validation checks

* update metric name

* fix _pretty_print_validation_errors

* fix linting

* test prometheus

* test fixes - prometheus
2025-07-01 20:17:17 -07:00
Samuel Boyd
a5c2475ecf
OpenMeter integration error handling fix (#12147)
* fix - tuple was never falsy so never triggered the exception

* test - add test suite for openmeter integration

* refactor - move tests for openmeter integration
2025-07-01 18:12:54 -07:00