Commit Graph
22566 Commits
Author SHA1 Message Date
Ishaan Jaff 18a5f2bb10 fixes MCP litellm 2025-06-13 15:01:34 -07:00
Ishaan Jaff aefba7395f ui new build 2025-06-13 14:55:58 -07:00
Ishaan Jaff 31dde89f15 fix render mcp logo 2025-06-13 14:48:22 -07:00
tanjiroandGitHub 54b14ac631 enterprise feature preview improvement (#11715) 2025-06-13 14:43:06 -07:00
Ishaan JaffandGitHub 119663e6ce [Feat] Add Connect to MCP Page (#11716)
* add mcp connect page

* use tremor tabs

* fix - ensure ui consistency

* fix MCP servers alignment

* fix spacing

* show litellm url

* fix connector

* fix MCP transports
2025-06-13 14:36:36 -07:00
tanjiroandGitHub 6ee1376673 Add Live Tail Feature to Logs View (#11712)
* add live tail feature

* improve time interval

* auto-refresh every 15 seconds

* remove last 1 minute option
2025-06-13 14:31:49 -07:00
Ishaan Jaff d012b5facf fix leftnav 2025-06-13 10:57:52 -07:00
Krrish Dholakia 5007ef868f docs: doc updates 2025-06-13 10:21:54 -07:00
Krrish Dholakia b6714cfd4f docs(index.md): add stable pip package 2025-06-13 10:21:54 -07:00
19a8b23644 [Feat] Add Authentication + Permission Management for MCP List, Call Tool Ops (#11682)
* add basic auth checks for MCP

* working MCP auth

* fix MCP

* add get_allowed_mcp_servers for key, team

* add get_allowed_mcp_servers

* TOOLS FROM MCP SERVERS

* fix - working context vars for handling auth to MCPs

* fix imports

* working _get_allowed_mcp_servers_for_key

* TestUserAPIKeyAuthMCP

* test_user_api_key_auth_mcp

* fix code qa check

* fix imports

* test_mcp_server.py

* fix: fix - working permission mgmt

* Update litellm/proxy/_experimental/mcp_server/auth/user_api_key_auth_mcp.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-13 10:13:51 -07:00
Ishaan JaffandGitHub 4b107e0c70 [Feat] UI - Allow setting MCP servers when creating keys, teams (#11711)
* Add PremiumMCPSelector

* add PremiumMCPSelector

* Fix CTA enterprise
2025-06-13 10:10:01 -07:00
Ishaan JaffandGitHub 891a71b7a0 [Feat] UI Allow editing mcp servers (#11693)
* ui - clean up MCP server table

* ui - clean up table

* fix mb-4

* ui fix

* add support for editing MCP servers
2025-06-13 09:56:58 -07:00
Alvaro SevillaandGitHub 196a7269f6 fix(vertex_ai): support global location in vertex ai passthrough (#11661)
* Support global location in vertex ai passthrough

* refactor
2025-06-13 09:51:04 -07:00
07472ce21f Logging: prevent double logging logs when bridge is used (anthropic <-> chat completion OR chat completion <-> responses api) (#11687)
* feat(anthropic/passthrough): pass dynamic api key/api base params to litellm.completion

allows calls to work with config.yaml

* fix(responses_api/transformation): fix passing dynamic params to responses api from .completion()

Allows responses api to work with config.yaml

* fix(langfuse.py): fix responses api usage logging to langfuse

* refactor(litellm_logging.py): add more generic solution for responses api usage logging

ensures it works across all logging integrations

* fix(litellm_logging.py): patch for anthropic messages not returning a pydantic object

it should ideally return a pydantic object, which would simplify checks and reduce errors

* fix(handler.py): correctly bubble up empty choices errors to litellm.completion

causes downstream errors as it is expected there is at least one choice set

* feat(litellm_logging.py): prevent double logging litellm responses

ensures accurate spend tracking for calls when bridges are used

* fix(litellm_logging.py): ensure logging is consistently enforced across all call types

* fix: patch - set calltype before entering bridge api

ensures logging object is applying the correct logic on the event hooks

* fix(types/router.py): loosen type hint for mock response

* change space_key header to space_id for Arize (#11595)

* feat(schema): add additional indexes to LiteLLM_SpendLogs for improved query performance (#11675)

* Revert "feat(schema): add additional indexes to LiteLLM_SpendLogs for improve…" (#11683)

This reverts commit 2a7f113fde.

* [Feat] Use dedicated Rest endpoints for list, calling MCP tools  (#11684)

* fix: (fix) use specific rest endpoints for MCP

* ui - use rest mcp endpoints

* fix imports

* docs DISABLE_AIOHTTP_TRUST_ENV

* docs(caching.md): remove batch redis get recommendation - old code path, no longer necessary

* fix(vertex_and_google_ai_studio_gemini.py): handle gemini not passing audio token usage data

* Chat Completions <-> Responses API Bridge Improvements (#11685)

* feat(anthropic/passthrough): pass dynamic api key/api base params to litellm.completion

allows calls to work with config.yaml

* fix(responses_api/transformation): fix passing dynamic params to responses api from .completion()

Allows responses api to work with config.yaml

* fix(langfuse.py): fix responses api usage logging to langfuse

* refactor(litellm_logging.py): add more generic solution for responses api usage logging

ensures it works across all logging integrations

* fix(litellm_logging.py): patch for anthropic messages not returning a pydantic object

it should ideally return a pydantic object, which would simplify checks and reduce errors

* fix(handler.py): correctly bubble up empty choices errors to litellm.completion

causes downstream errors as it is expected there is at least one choice set

* fix(response_metadata.py): allow model_info to be none

* fix(litellm_logging.py): copy object before mutating

* fix: fix lint check

* fix: fix linting error

* fix: fix linting error

---------

Co-authored-by: vanities <mischkeaa@gmail.com>
Co-authored-by: Cole McIntosh <82463175+colesmcintosh@users.noreply.github.com>
Co-authored-by: Ishaan Jaff <ishaanjaffer0324@gmail.com>
2025-06-12 23:07:36 -07:00
Ishaan JaffandGitHub 770917fd0f [UI] Fix MCP Server Table to Match Existing Table Pattern (#11691)
* ui - clean up MCP server table

* ui - clean up table

* fix mb-4

* ui fix
2025-06-12 22:35:21 -07:00
Krish DholakiaandGitHub a76cf95401 Chat Completions <-> Responses API Bridge Improvements (#11685)
* feat(anthropic/passthrough): pass dynamic api key/api base params to litellm.completion

allows calls to work with config.yaml

* fix(responses_api/transformation): fix passing dynamic params to responses api from .completion()

Allows responses api to work with config.yaml

* fix(langfuse.py): fix responses api usage logging to langfuse

* refactor(litellm_logging.py): add more generic solution for responses api usage logging

ensures it works across all logging integrations

* fix(litellm_logging.py): patch for anthropic messages not returning a pydantic object

it should ideally return a pydantic object, which would simplify checks and reduce errors

* fix(handler.py): correctly bubble up empty choices errors to litellm.completion

causes downstream errors as it is expected there is at least one choice set

* fix(response_metadata.py): allow model_info to be none

* fix(litellm_logging.py): copy object before mutating

* fix: fix lint check
2025-06-12 22:28:35 -07:00
Krrish Dholakia f9f2db4ae8 fix(vertex_and_google_ai_studio_gemini.py): handle gemini not passing audio token usage data 2025-06-12 22:12:34 -07:00
Krrish Dholakia bb75d7e240 docs(caching.md): remove batch redis get recommendation - old code path, no longer necessary 2025-06-12 19:59:45 -07:00
Ishaan JaffandGitHub 61838bbbfc [Feat] Use dedicated Rest endpoints for list, calling MCP tools (#11684)
* fix: (fix) use specific rest endpoints for MCP

* ui - use rest mcp endpoints

* fix imports

* docs DISABLE_AIOHTTP_TRUST_ENV
2025-06-12 19:02:20 -07:00
Krish DholakiaandGitHub eb0d0c2f72 Revert "feat(schema): add additional indexes to LiteLLM_SpendLogs for improve…" (#11683)
This reverts commit 2a7f113fde.
2025-06-12 18:18:44 -07:00
Cole McIntoshandGitHub 2a7f113fde feat(schema): add additional indexes to LiteLLM_SpendLogs for improved query performance (#11675) 2025-06-12 17:55:34 -07:00
vanitiesandGitHub 3b0aab16d4 change space_key header to space_id for Arize (#11595) 2025-06-12 17:30:10 -07:00
7947139913 [Feat] MCP expose streamable https endpoint for LiteLLM Proxy (#11645)
* feat - add https mcp support

* fixes for MCP http integration

* fix code QA

* bump mcp dep

* test_mcp_server_manager_https_server

* test mcp server https

* fix linting error

* bump mcp in poetry

* fix import streamablehttp_client

* fix streamablehttp_client

* fix streamablehttp_client

* add streamablehttp_client

* add simple https server

* working mounted app

* working HTTPS mcp streamable

* fix code QA check

* feat: add MCP Server

* fix - init just as fastapi app

* add LITELLM_MCP_SERVER_DESCRIPTION

* fix importing / init litellm app

* Update litellm/proxy/_experimental/mcp_server/server.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update litellm/proxy/_experimental/mcp_server/server.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update server.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fixes based on review + code check

* fix linting

* test_streamable_http_mcp_handler_mock

* fix python 3.13 install

* fix deps test

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-12 16:32:04 -07:00
Cole McIntoshandGitHub 6b9754e2aa Merge pull request #11642 from colesmcintosh/mistral-reasoning
Enhance Mistral model support with reasoning capabilities
2025-06-12 16:42:53 -06:00
Ishaan JaffandGitHub 27cc503185 add gpt-4o-mini-transcribe (#11676) 2025-06-12 15:30:25 -07:00
tanjiroandGitHub ddde9cdb6b Fix default user settings (#11674)
* rename schema to field_schema

* minor

* title added
2025-06-12 15:29:56 -07:00
Thiago SalvatoreandGitHub fab24fae1a fix: Do not add default model on tag based-routing when valid tag (#11454)
* Do not add default when valid tagged model

* Use default models when no tag matches

* Add unit tests
2025-06-12 13:18:42 -07:00
Tu VuandGitHub f3295f6f28 Correct success message when user creates new budget (#11608) 2025-06-12 12:28:33 -07:00
Ishaan Jaff 470dc55d48 docs - fix link 2025-06-12 11:24:34 -07:00
Ishaan Jaff e40ffa306c fix img link 2025-06-12 11:22:40 -07:00
Ishaan Jaff 6657012f07 docs release note 2025-06-12 11:11:00 -07:00
Cole McIntosh 8574619d2c fix linting error 2025-06-12 11:38:27 -06:00
Cole McIntosh cb5ffa9776 Enhance Mistral chat transformation to preserve content types
- Updated the `_add_reasoning_system_prompt_if_needed` method to maintain the original format of list content when prepending the reasoning prompt.
- Adjusted tests to verify that both string and list content types are correctly handled, ensuring the reasoning prompt is added without altering the content structure.
2025-06-12 11:28:40 -06:00
Cole McIntosh 5d6b8618cd Refactor Mistral chat transformation to handle list content
- Updated the `_add_reasoning_system_prompt_if_needed` method to convert list content to strings before prepending the reasoning prompt.
- Adjusted tests to verify that system messages with list content are correctly transformed into strings, ensuring original content is preserved.
2025-06-12 11:23:29 -06:00
Cole McIntosh bee41c1961 Update Mistral documentation and enhance reasoning prompt handling
- Revised the reasoning support indicators in the Mistral model documentation for clarity.
- Improved the `_add_reasoning_system_prompt_if_needed` method to handle both string and list content types for system messages, ensuring the reasoning prompt is correctly prepended.
- Added a new test case to verify the functionality of adding the reasoning system prompt when the existing content is a list.
2025-06-12 11:17:48 -06:00
Cole McIntoshandGitHub c5f91b9d77 Merge branch 'BerriAI:main' into mistral-reasoning 2025-06-12 11:04:57 -06:00
Steven AldingerandGitHub b8bdf98a4b feat(helm): [BerriAI/litellm#11648] support extraContainers in migrations-job.yaml (#11649) 2025-06-11 23:16:06 -07:00
Krish DholakiaandGitHub 369922ef90 Convert scientific notation str to int + Bubble up azure content filter results (#11655)
* fix(utils.py): convert stringified numbers to numbers

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

* fix(convert_dict_to_model_response_object/): bubble up azure content_filter_results

* fix: fix linting error

* fix: fix linting errors

* fix(types/utils.py): ensure choices is correctly set

* fix: delete field if not set

* fix: expand scope of choicelogprobs value
2025-06-11 23:07:22 -07:00
Krish DholakiaandGitHub 7f2e188ee2 Add bridge for /chat/completion -> /responses API (#11632)
* refactor(responses/): refactor to move responses_to_completion in separate folder

future work to support completion_to_responses bridge

allow calling codex mini via chat completions (and other endpoints)

* Revert "refactor(responses/): refactor to move responses_to_completion in separate folder"

This reverts commit ff87cb895812283d107f47e8e528bcebe93d8015.

* feat: initial responses api bridge

write it like a custom llm - requires lesser 'new' components

* style: add __init__'s and bubble up the responses api bridge

* feat(responses/transformation): working sync completion -> responses and back bridge (non-streaming)

* feat(responses/): working async (non-streaming) completion <-> responses bridge

Allows calling codex mini via proxy

* feat(responses/): working sync + async streaming for base model response iterator

* fix: reduce function size

maintain <50 LOC

* fix(main.py): safely handle responses api model check

* fix: fix linting errors
2025-06-11 22:20:18 -07:00
Krrish Dholakia e46ef9d642 test: update test with new kwargs 2025-06-11 22:19:17 -07:00
Krish DholakiaandGitHub 4be0ec8e35 GA Multi-instance rate limiting v2 Requirements + New - specify token rate limit type - output / input / total (#11646)
* feat(parallel_request_limiter_v3.py): allows admin to enforce token rate limit based on just output tokens

Useful when trying to rate limit for primarily self hosted model use-cases

* test(test_parallel_request_limiter_v3.py): add unit test for token rate limit type

* feat(parallel_request_limiter_v3.py): return remaining token limits in header

* feat: return rate limit headers in response

* feat(parallel_request_limiter_v3.py): working rate limit response headers

* feat(parallel_request_limiter_v3.py): fix rate limit tracking for tpm when rpm also set

* feat(parallel_request_limiter_v3.py): show headers for key/user/team

* feat(parallel_request_limiter_v3.py): decrement max parallel request limiter on failure event

* feat(parallel_request_limiter_v3.py): add in-memory cache implementation of parallel request rate limiter

allows rate limiter to work even without redis cache setup

Work for GA of parallel request limiter v3

* refactor(proxy/hooks/__init__.py): replace with new parallel request handler

* test: update testing

* fix: fix ruff check

* fix: revert ga of multi instance rate limiting - needs more work to pass testing
2025-06-11 22:05:13 -07:00
DelandGitHub 33c134c6ac Enable System Proxy Support for aiohttp Transport (#11616)
* feat: enable proxy for aiohttp, fixes 11389

* chore: add test for aiohttp trust env

* style: format litellm/__init__.py
2025-06-11 21:13:37 -07:00
tanjiroandGitHub 889004e344 trim created-by and user id values if they (#11488) 2025-06-11 21:04:55 -07:00
Krrish Dholakia e4c89135f5 docs(index.md): clarify pip install will be live by eod 2025-06-11 19:04:17 -07:00
Krrish Dholakia bdb1222a57 docs(index.md): remove pip install - not live yet 2025-06-11 19:03:31 -07:00
Krrish Dholakia 1bd2b03b4d docs(index.md): update docs to indicate v1.72.2-stable is now live 2025-06-11 19:03:11 -07:00
688e65b2b2 [Feat] Perf fix - ensure deepgram provider uses async httpx calls (#11641)
* Checkpoint before follow-up message

* Add comprehensive tests for Deepgram transcription functionality

* clean up transform

* just use 1 test

* test cleanup

* test fix get_complete_url

* test rename file

* refactor deepgram URL construction

* add logging_obj.pre_call

* fix unused imports

* feat - add async deepgram support

* test_audio_transcription_async

* fix python 3.8 test

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-06-11 18:32:01 -07:00
Cole McIntosh a30ed8ce0b [Feat] Add Mistral AI reasoning capabilities docs 2025-06-11 18:20:17 -06:00
Ishaan JaffandGitHub 02b02c739b [Feat] MCP - Add support for streamablehttp_client MCP Servers (#11628)
* feat - add https mcp support

* fixes for MCP http integration

* fix code QA

* bump mcp dep

* test_mcp_server_manager_https_server

* test mcp server https

* fix linting error

* bump mcp in poetry

* fix import streamablehttp_client

* fix streamablehttp_client

* fix streamablehttp_client

* add streamablehttp_client
2025-06-11 17:09:46 -07:00
Cole McIntosh 82334ce522 [Refactor] Improve type safety in Mistral chat transformation
* Added type casting for messages to enhance type safety.
* Updated the handling of system messages to ensure correct content formatting.
* Cleaned up code for better readability and maintainability.
2025-06-11 17:22:57 -06:00