Commit Graph
27522 Commits
Author SHA1 Message Date
Krrish Dholakia 87be419559 docs(index.md): cleanup 2025-11-19 20:23:22 -08:00
Krrish Dholakia 778425f02f docs: add initial blog post for Gemini 3 on LiteLLM 2025-11-19 20:22:24 -08:00
Krrish Dholakia 208027dc71 docs(ui.md): reorder ui page 2025-11-19 19:17:54 -08:00
Alexsander HamirandGitHub 0a13114536 [Fix] Security - Filter secret fields form Langfuse (#16842)
* fix: remove secret fields from logs

* fix: remove secret fields from otel
2025-11-19 19:15:28 -08:00
SebastianandGitHub cb843684b8 fix(vertex_ai): add includeThoughts=True for Gemini 3 reasoning_effort (#16838)
Gemini 3 models require 'includeThoughts: True' in the thinkingConfig to return the actual thought text. Previously, using reasoning_effort set the 'thinkingLevel' but missed the boolean flag, resulting in empty reasoning_content.

This fix:
1. Updates `_map_reasoning_effort_to_thinking_level` to include `includeThoughts: True` for low/medium/high.
2. Adds unit tests to verify the config mapping.
2025-11-19 19:14:42 -08:00
Alex HuangandGitHub 3b6f3e48cb Fix optional param mapping (#16852)
* Direct string check instead of tuple string inclusion check

* Add test
2025-11-19 19:10:04 -08:00
Cesar GarciaandGitHub 7d5cb8ebb2 fix(gemini): Add reasoning_content to streaming responses with tools (#16854)
Fixes #16805

When using Gemini models (2.5/3.0) with streaming + tools enabled,
the reasoning_content field was missing from stream chunks, even though
thinking_blocks were present in non-streaming responses.

Changes:
- Convert thinking_blocks to reasoning_content for streaming responses
- Extract "thinking" field from each thinking_block
- Concatenate multiple thinking parts with newlines
- Assign to reasoning_content in chat_completion_message for streaming

Testing:
- Added test_streaming_chunk_with_tool_calls_includes_reasoning_content
- Test verifies reasoning_content appears with tool calls in streaming
- All 39 existing Gemini tests pass
2025-11-19 19:09:37 -08:00
Alexsander HamirandGitHub 7a84469605 fix(perf): add missing shared_sessions to audio/transcriptions (#16858)
This took longer than expected because the fake LLM endpoint on railway was deliverying bad performance when deployed due to some issue with railway.
2025-11-19 19:08:39 -08:00
yuneng-jiangandGitHub d22ea6f15f [Feature] UI - Model Compare (#16855)
* Temp commit for branch switching, Compare WIP

* Model Compare UI
2025-11-19 19:07:11 -08:00
Krish DholakiaandGitHub 65ff1eff56 MCP Hub - publish/discover MCP Servers within a company (#16857)
* feat: initial commit adding 'public_mcp_servers' endpoint

allow admin to make mcp servers public for AI Hub

* feat: expose public endpoint for getting public mcp's

* feat: initial flow for making MCP servers public via LiteLLM proxy

* fix: fix message on make mcp public

* fix: indicate existing public mcp servers are public, when making mcp servers public

* style: have a public column indicating if mcp server has been made public

* feat: expose new MCP Hub

* feat: include usage examples for mcp hub
2025-11-19 19:06:21 -08:00
Nigel KukardandGitHub c5c563c302 fix: fixed openai conversion from responses to completions (#16864)
- Fix blank function name in completions response when using native function calling
- Fix Enum name being used instead of Enum value for comparison in chunk conversion
- Added additional tests to cover changes

Thanks to @mcowger for the invaluable assitance with figuring this issue out!

Fixed #16863
2025-11-19 19:02:52 -08:00
Krrish Dholakia 2d7365c795 refactor: refactor ai hub for internal users to show public model page
more useful than just seeing models they know they have access to
2025-11-19 18:50:10 -08:00
Sameer KankuteandGitHub 6fc7397dde Add Vertex AI Image Edit Support (#16828)
* Add vertex ai image edit support

* Fix lint errors
2025-11-19 18:39:28 -08:00
Sameer KankuteandGitHub 36c9fede4e Add azure gpt-5.1 models (#16817) 2025-11-19 18:37:08 -08:00
Ishaan Jaffer 95caa2e3de bump openai 2.8.0 v1.80.0.dev6 2025-11-19 17:47:18 -08:00
idola9andGitHub e1005cb9d3 Use LiteLLM key alias as fallback Noma applicationId in NomaGuardrail (#16832)
* Use auth key name if there are no app id in in headers or in extra_data

* use key alias instead of key name

* Fix

* last priority key alias

* Fix

* Add tests
2025-11-19 17:44:23 -08:00
Ishaan Jaffer d389b9dd66 bump litellm enterprise 2025-11-19 16:56:50 -08:00
Sameer KankuteandGitHub 9622829fa1 Fix vector store create issue (#16804) 2025-11-19 16:53:20 -08:00
Ishaan JaffandGitHub cd6256f64a [Feat] Prompt Management - Add UI for editing the prompts (#16853)
* v0 for prompt management

* v0

* clean up view of prompt editor

* commit editor view

* refactor prompt editor view

* ui - refactor prompt editor

* add move message

* add prompt editor view

* fix allow viewing dotprompt file

* add dotprompt_content

* handleSave for Prompt

* ui fix build fail

* ui fix build
2025-11-19 16:26:11 -08:00
Ishaan JaffandGitHub ffe00f4034 Revert "make all gpt-5 and reasoning models to responses by default (#16766)" (#16849)
This reverts commit 149f308451.
2025-11-19 13:32:58 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
98d2dbd711 Bump js-yaml from 3.14.1 to 3.14.2 (#16802)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 13:23:44 -08:00
Ishaan Jaffer 6477740b8c bump proxy extras 2025-11-19 13:23:16 -08:00
Ishaan JaffandGitHub c7cf18cf67 [Feat] Prompt Management - Allow storing prompt version in DB (#16848)
* test_dotprompt_auto_detection_with_model_only

* fix _auto_detect_prompt_management_logger

* test_dotprompt_with_prompt_version

* add v1, v2 tests

* add _compile_prompt_helper

* fix _compile_prompt_helper

* test_dotprompt_with_prompt_version

* test_dotprompt_with_prompt_version, test_get_prompt_with_version

* add version in schema

* feat add _get_prompt_spec_for_db_prompt

* add _get_prompt_spec_for_db_prompt

* feat add _get_prompt_spec_for_db_prompt

* update prompt table

* add version in prompt DB

* test_get_prompt_spec_for_db_prompt_with_versions
2025-11-19 13:19:56 -08:00
NakiandGitHub 98dd866b26 feat(github-copilot): Add Responses API support for gpt-5.1-codex model (#16845)
- Implement GithubCopilotResponsesAPIConfig for /responses endpoint
- Add support for models requiring responses API (e.g., gpt-5.1-codex)
- Auto-detect vision requests and set X-Initiator header
- Follow OpenAI Responses API compatibility pattern
- Add comprehensive unit tests (16 tests passing)

Fixes #16820
2025-11-19 13:17:19 -08:00
Ishaan JaffandGitHub 3ebe489082 [Feat] Prompt Management - Add support for versioning prompts (#16836)
* test_dotprompt_auto_detection_with_model_only

* fix _auto_detect_prompt_management_logger

* test_dotprompt_with_prompt_version

* add v1, v2 tests

* add _compile_prompt_helper

* fix _compile_prompt_helper

* test_dotprompt_with_prompt_version

* test_dotprompt_with_prompt_version, test_get_prompt_with_version
2025-11-19 13:16:03 -08:00
Ishaan JaffandGitHub 1f8fe007a1 [Feat] Prompt Management - Allow specifying just prompt_id in a request to a model (#16834)
* test_dotprompt_auto_detection_with_model_only

* fix _auto_detect_prompt_management_logger

* test_dotprompt_auto_detection_with_model_only
2025-11-19 10:20:58 -08:00
tushar8408andGitHub 5f94b372f8 Migration job labels (#16831)
* Add dynamic pod labels and annotations to migrations job

* Bump chart version to 0.4.8
2025-11-19 09:53:21 -08:00
Krrish Dholakia 08246bf908 fix: fix broken doc link 2025-11-19 08:35:38 -08:00
Alan PonnachanandGitHub b92cc2b2f9 fix(bedrock): Ensure consistent chunk IDs in Bedrock streaming responses (#16596)
* ensure consistent chunk IDs in streaming responses

* use native conversationId for consistent stream chunk IDs
2025-11-18 20:37:21 -08:00
Sameer KankuteandGitHub 149f308451 make all gpt-5 and reasoning models to responses by default (#16766) 2025-11-18 20:31:59 -08:00
yuneng-jiangandGitHub 5f463cef64 Fix edit logging settings not appearing (#16798) 2025-11-18 20:31:34 -08:00
Sameer KankuteandGitHub 34cc532d8d Make sure that user inherits team permissions (#16639) 2025-11-18 20:14:42 -08:00
yuneng-jiangandGitHub ab8704f60d Change placeholder for Azure in Add Model (#16597) 2025-11-18 20:13:48 -08:00
Alexsander HamirandGitHub 2e007505da fix(spend-logs): trim logged response strings (#16654)
* fix(spend-logs): trim logged response strings

- route spend-log responses through the existing string sanitizer so oversized base64/text fields are truncated before persistence
- add unit tests covering the truncation path and the feature flag

Note: embeddings-specific truncation (numeric vectors) is still pending and will be handled separately.

* remove unnecessary comment

* add: sanitization unit test for embeddings

* fix: simplify sanatization logic

I overcomplicated a simple change for lack of understanding, fixed.
2025-11-18 20:12:49 -08:00
yuneng-jiangandGitHub 69fcedb6d9 [Fix] UI - Add css to truncate long request ids in request viewer (#16665)
* Add css to truncate long request ids in request viewer

* Show tooltip with entire request id when request id is truncated
2025-11-18 20:12:19 -08:00
Cesar GarciaandGitHub 4167a64853 fix: Support GPT-5.1 reasoning.effort='none' in proxy (#16745)
* fix: Add support for GPT-5.1 reasoning.effort='none' parameter

- Override Reasoning type to include 'none' effort value
- Maintains compatibility with semantic-router (requires openai <2.0.0)
- GPT-5.1 defaults to reasoning.effort='none' as of OpenAI SDK 2.8.0
- Override can be removed once semantic-router supports OpenAI SDK 2.x

Fixes #16741

* feat: Update to OpenAI SDK 2.8+ and Python 3.9+

- Update minimum Python version from 3.8.1 to 3.9 (3.8 EOL Oct 2024)
- Update OpenAI SDK requirement from >=1.99.5 to >=2.8.0
- Update semantic-router to >=0.1.12 with Python >=3.9,<3.14 constraint
- Update resend to >=0.8.0 (allows 2.x versions)
- Revert custom Reasoning TypedDict - now using native type from OpenAI SDK 2.8+

OpenAI SDK 2.8.0 natively supports reasoning.effort='none' for GPT-5.1,
eliminating the need for our custom type override.

* chore: Update poetry.lock with OpenAI SDK 2.8.1 and dependencies
2025-11-18 20:06:50 -08:00
Sameer KankuteandGitHub 9e93d65ee2 Add extra_body support for response api params from chat completion (#16765) 2025-11-18 20:05:47 -08:00
Marty SullivanandGitHub eb301a7f87 Add Azure models 2025 11 to cost maps (#16762)
* add gpt-realtime models for azure

* update backup models w/ azure realtime

* add azure gpt-5.1 models to cost map

* add gpt-audio azure models to cost map

* add gpt-4o-transcribe-diarize azure model cost
2025-11-18 19:58:06 -08:00
Rob GeadaandGitHub afc9a763cb Fix IBM Guardrails optional params, add extra_headers field (#16771)
Signed-off-by: Rob Geada <rob@geada.net>
2025-11-18 19:55:40 -08:00
Cesar GarciaandGitHub 5e70c78b94 fix(cost-tracking): support base_model lookup in litellm_metadata for Responses API (#16778)
Cost tracking was failing for Responses API when using custom deployment names
with base_model configuration. The issue occurred because:

- Chat Completions API stores model_info in 'metadata'
- Responses API stores model_info in 'litellm_metadata'
- Cost calculator only checked 'metadata', missing Responses API costs

Changes:
- Updated _get_base_model_from_metadata() to check both metadata locations
- Added comprehensive unit tests covering all scenarios
- Maintains backward compatibility (metadata takes precedence)

Fixes #16772
2025-11-18 19:53:18 -08:00
yuneng-jiangandGitHub 137c6b03f7 Deactivate delete button on model table for config models (#16787) 2025-11-18 19:51:59 -08:00
yuneng-jiangandGitHub d0e806d1b3 Add additional model settings to chat models in test key (#16793) 2025-11-18 19:49:16 -08:00
yuneng-jiangandGitHub fe05e33723 Fix e2e ui playwright test (#16799) 2025-11-18 17:56:40 -08:00
yuneng-jiangandGitHub 7b9c409760 Mock tremor's tooltip to fix flaky tests (#16786) 2025-11-18 17:40:50 -08:00
yuneng-jiangandGitHub ff90585bfe Break e2e_ui_testing into build, unit, and e2e steps (#16783) 2025-11-18 17:40:32 -08:00
Ishaan JaffandGitHub c3c6cef6d8 [Fix] Fixes Swagger UI resolver errors for chat completion endpoints caused by Pydantic v2 $defs not being properly exposed in the OpenAPI schema. (#16784)
* fix add_request_body_to_paths

* test_move_defs_to_components
2025-11-18 17:39:28 -08:00
Ishaan JaffandGitHub 2880cb45a2 [Fix] AI Gateway Auth - Ensure Team Tags works when using JWT Auth (#16797)
* fix setting team_metadata

* test_team_metadata_with_tags_flows_through_jwt_auth
v1.80.0.dev2
2025-11-18 17:36:38 -08:00
70e1e83102 feat(managed_files.py): support /delete for files + feat(managed_batches): support /cancel for batches (#16387)
* feat(managed_files.py): initial commit fixing managed file delete on litellm

* fix(managed_files.py): fix file delete

* feat(batches_endpoints/endpoints.py): fix cancelling a batch

ensures managed batches works

---------

Co-authored-by: Ishaan Jaffer <ishaanjaffer0324@gmail.com>
2025-11-18 17:36:26 -08:00
Ishaan JaffandGitHub 35ab0e109c [Docs] SSO - Manage User Roles via Azure App Roles (#16796)
* add img 2

* add app roles

* docs
2025-11-18 16:00:36 -08:00
Ishaan JaffandGitHub e2fc225201 [Feat] SSO - Ensure role from SSO provider is used when a user is inserted onto LiteLLM (#16794)
* test_apply_user_info_values_sso_role_takes_precedence

* fix SSO
v1.80.0.dev1
2025-11-18 15:35:38 -08:00