Commit Graph
23230 Commits
Author SHA1 Message Date
Krrish Dholakia eb272f0784 fix(responses/): filter metadata to be openai-compatible
prevents optional params for responses api from including invalid args / litellm internal information

 Closes https://github.com/BerriAI/litellm/pull/11632#issuecomment-2971076684
2025-06-14 08:41:34 -07:00
Krrish Dholakia 0e10e73f31 fix(anthropic/chat/transformation.py): ignore user mapping if email given (e.g. from openwebui)
Closes https://github.com/BerriAI/litellm/issues/10106
2025-06-14 08:41:34 -07:00
Ishaan Jaff b1e00b3724 build from pip RUN prisma generate 2025-06-14 08:37:47 -07:00
Ishaan Jaff 098fb0307a Revert "Enable System Proxy Support for aiohttp Transport (#11616)"
This reverts commit 33c134c6ac.
2025-06-14 08:32:51 -07:00
Krish DholakiaandGitHub afe8abc768 Add anthropic 'none' tool choice param support (#11695)
* docs(index.md): add stable pip package

* fix(anthropic/chat/transformation.py): add 'none' tool choice mapping

Allows disabling anthropic tool calling

Maintain parity

* fix(transformation.py): if tool_choice="none" ignore 'disable_parallel_Tool_use'

unsupported param from anthropic - makes sense as the 'none' implies no tool calls are being made
2025-06-13 21:22:03 -07:00
Krish DholakiaandGitHub 8579332f44 Add model access groups on UI (#11719)
* fix(anthropic/chat/transformation.py): append prefix to start of assistant response, if set

ensures assistant response contains complete response

* fix(anthropic/chat/transformation.py): add flag to allow user to opt out of enabling prefix in prompt

* fix(anthropic/chat/transformation.py): working e2e support for prefix prompt in assistant response

* feat(networking.tsx): always include model access groups on UI

show admin created access groups when giving key/user/team model permissions

* feat(add_model_tab.tsx): initial ui component for adding to an existing model access group

allows user to add model to an access group (simplify giving users/keys/teams model access)

* feat(proxy_server.py): add 'only_model_access_groups' flag support to `/v1/models`

simplifies listing available access groups on UI

* test: add e2e test for new only_model_access_groups param

* feat(add_model_tab.tsx): allow adding+viewing model access groups on models tab

make feature functional on UI

* feat(view_users.tsx): route edit user to user info page

more detailed user edit

* feat(columns.tsx): route edit user to user info page

more detailed user edit

* fix(columns.tsx): fix linting error

* build(ui/): fix linting errors
2025-06-13 21:20:25 -07:00
Krrish Dholakia 31a73be03f fix(litellm_logging.py): skip should_run_logging check on streaming 2025-06-13 21:19:24 -07:00
Ishaan Jaff e5893f8904 bump: version 1.72.5 → 1.72.6 2025-06-13 19:05:50 -07:00
Ishaan Jaff 5b451bf483 test_openai_azure_embedding_simple 2025-06-13 19:00:25 -07:00
Ishaan Jaff b1e609be3f fix mcp servers 2025-06-13 18:45:00 -07:00
Ishaan Jaff 7afbd897b8 docs mcp permissions 2025-06-13 18:32:08 -07:00
Krish DholakiaandGitHub 7df76175b4 fix(prometheus.py): fix total token increment + add semantic tests for prometheus metrics (#11718)
fixes regression where total requests was incremented by token value
2025-06-13 16:43:00 -07:00
tanjiroandGitHub 42d1fa8509 correct alignment (#11717) 2025-06-13 15:55:58 -07:00
Ishaan Jaff 4b03bf92df ui new build v1.72.2.devMCP 2025-06-13 15:02:36 -07:00
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