Commit graph

5891 commits

Author SHA1 Message Date
Ishaan Jaff
a870722f65
[Feat] UI + Backend - Allow adding policies on Keys/Teams + Viewing on Info panels (#19688)
* ui for policy mgmt

* test_add_guardrails_from_policy_engine_accepts_dynamic_policies_and_pops_from_data
2026-01-23 19:03:44 -08:00
ryan-crabbe
d67d12fc54
perf: Add LRU caching to get_model_info for faster cost lookups (#19606)
- Add @lru_cache decorator to get_model_info() and _cached_get_model_info_helper()
- Update _invalidate_model_cost_lowercase_map() to clear these caches when model_cost changes
- Update test to call cache invalidation after modifying litellm.model_cost

Reduces get_model_cost_information from 46% to <1% of request handling time.
2026-01-23 17:26:45 -08:00
mubashir1osmani
8e060593bf
feat(vercel_ai_gateway): add embeddings support
feat(vercel_ai_gateway): add embeddings support
2026-01-23 18:28:25 -05:00
mubashir1osmani
c41963c949
fix: add openinference span kinds to arize phoenix
fix: add openinference span kinds to arize phoenix
2026-01-23 16:32:49 -05:00
yuneng-jiang
fbe5ae9e17 fixing flaky tests 2026-01-23 12:20:27 -08:00
yuneng-jiang
8b5b343841 attempt fix flaky tests 2026-01-23 12:10:08 -08:00
yuneng-jiang
647a6898a9 skipping non root tests entirely 2026-01-23 11:51:38 -08:00
yuneng-jiang
89bf7e50c4 skipping flaky tests 2026-01-23 11:43:39 -08:00
Chesars
1ac32992de fix(oci): serialize imageUrl as object for OCI GenAI API
OCI GenAI expects imageUrl to be an object with a 'url' property,
not a plain string. This was causing 400 errors when sending images.

Fixes #19589
2026-01-23 15:25:40 -03:00
Chesars
188c2315ad feat(vercel_ai_gateway): add embeddings support
Add support for /embeddings endpoint via Vercel AI Gateway.

Closes #19658

Changes:
- Add VercelAIGatewayEmbeddingConfig in litellm/llms/vercel_ai_gateway/embedding/
- Register provider in utils.py and main.py
- Add unit tests for embedding transformation
- Update documentation with embeddings examples

Usage:
```python
from litellm import embedding

response = embedding(
    model="vercel_ai_gateway/openai/text-embedding-3-small",
    input="Hello world",
    api_key="your-api-key"
)
```
2026-01-23 15:11:37 -03:00
xqe2011
ca8c2c3938
fix #19620: SSO user roles are not updated for existing users (#19621)
* Fix: SSO user roles are not updated for existing users
Fixes #19620

* Refactor: Remove redundant user_info retrieval in SSOAuthenticationHandler

* Test: add new tests for user creation and updates in get_user_info_from_db
2026-01-23 09:05:29 -08:00
Nikita Timofeev
e63537c6c1 Fix: ensure function content is valid JSON for GigaChat 2026-01-23 15:27:46 +00:00
Sameer Kankute
9894721285
Merge pull request #19548 from BerriAI/litellm_staging_01_22_2026
Litellm staging 01 22 2026
2026-01-23 20:03:11 +05:30
Sameer Kankute
23f7d4f0b0
Merge pull request #19645 from BerriAI/litellm_gigachat_big_fix
Add tool choice mapping for giga chat
2026-01-23 19:52:35 +05:30
Sameer Kankute
a240eb7630
Merge pull request #19649 from BerriAI/litellm_fix_responses_api_logging_eror
Fix: Responses API logging error for StopIteration
2026-01-23 19:51:45 +05:30
Sameer Kankute
a4bf14f6e7 Fix: test_nova_invoke_streaming_chunk_parsing 2026-01-23 19:49:42 +05:30
Sameer Kankute
2820a51950 Add otel providers and langfuse for litellm_callback_logging_failures_metric_total 2026-01-23 19:40:15 +05:30
Sameer Kankute
8357d05615 Fix: Responses API logging error for StopIteration 2026-01-23 18:42:33 +05:30
YutaSaito
8ac1d96d90
Merge pull request #19634 from BerriAI/litellm_feat_hashicorp_rotate
[feat] hashicorp vault rotate support
2026-01-23 21:08:55 +09:00
Sameer Kankute
acf5ad1155 Add tool choice mapping for giga chat 2026-01-23 16:29:19 +05:30
Sameer Kankute
12463809bd
Merge pull request #19638 from BerriAI/main
merge main in stagin 1 22 26
2026-01-23 14:54:17 +05:30
Yuta Saito
695fbf4ec5 feat: hashicorp vault rotate support 2026-01-23 17:32:55 +09:00
Yuta Saito
919033a6d0 fix: include tool arguments in proxy_server_request for spend logs callbacks 2026-01-23 16:36:37 +09:00
YutaSaito
4381e7f98f
Merge pull request #19624 from BerriAI/litellm_test_responses_api_with_mcp_tools
[test] Skip anthropic model test when ANTHROPIC_API_KEY is not set
2026-01-23 15:58:19 +09:00
YutaSaito
12bc66aa5b
Merge pull request #19623 from BerriAI/litellm_fix_completions_mcp_output_ordering
[fix] completions mcp output ordering
2026-01-23 15:56:02 +09:00
Yuta Saito
1ae9189ff8 test: Skip anthropic model test when ANTHROPIC_API_KEY is not set 2026-01-23 15:50:56 +09:00
Yuta Saito
6a60b3d848 test: completions mcp output test 2026-01-23 15:17:14 +09:00
yuneng-jiang
3ee7aab5f2 All Models Backend Search 2026-01-22 22:00:22 -08:00
John Greek
26a2c90818
[Fix] Anthropic models on Azure AI cache pricing (#19532) (#19614) 2026-01-22 20:00:40 -08:00
Harshit Jain
69c8698e62
fix: pass through endpoints update registry (#19420)
* fix: pass through endpoints update registry

* add test case, fix lint error and comment to avoid confusion

* fix pass through endpoints test case
2026-01-22 19:57:48 -08:00
Harshit Jain
89ecdc405d
fix: recursive pydantic issue (#19531) 2026-01-22 19:56:41 -08:00
Harshit Jain
06a749708d
feat: add datadog cost management support and fix startup callback issue (#19584) 2026-01-22 19:52:14 -08:00
Ishaan Jaff
c23e4b87dc
[Feat] New LiteLLM Policy engine - create policies to manage guardrails, conditions - permissions per Key, Team (#19612)
* init PolicyMatcher

* TestPolicyMatcherGetMatchingPolicies

* TestPolicyMatcherGetMatchingPolicies

* feat: init PolicyResolver

* init resolver types

* init policy from config

* inint PolicyValidator

* validate policy

* init Architecture Diagram

* test_add_guardrails_from_policy_engine

* init _init_policy_engine

* test updates

* test fixws

* new attachment config

* simplify types

* TestPolicyResolverInheritance

* fix policy resolver

* fix policies

* fix applied policy

* docs fix

* docs fix

* fix linting + QA checks

* fix linting + QA fixes

* test fixes
2026-01-22 19:49:53 -08:00
Harshit Jain
1d04414f30
feat(datadog): add agent support for LLM Observability (#19574) 2026-01-22 19:49:22 -08:00
Cesar Garcia
6cf7bd7c0f
Fix gpt-image-1.5 cost calculation not including output image tokens (#19515)
Fixes #19508

The cost calculation for gpt-image-1.5 was not including image tokens
from output_tokens_details, causing costs to be underreported
(e.g., $0.046 instead of $0.14).

Root cause: The OpenAI image generation API uses Responses API naming
(input_tokens, output_tokens, output_tokens_details) but the cost
calculator expected Chat Completions API naming (prompt_tokens,
completion_tokens, completion_tokens_details).

Changes:
- convert_dict_to_response.py: Map Responses API fields to Chat
  Completions API fields and convert dicts to wrapper objects
- cost_calculator.py: Use usage directly if already transformed,
  avoiding double transformation that lost the wrapper objects
- Added test for gpt-image-1.5 output image token cost calculation
2026-01-22 19:42:15 -08:00
moh-dev-stack
65e943dc2b
Bugfix/19481 num retries env var type (#19507)
* Enhance error handling for num_retries in Router class to support string values. Add test case to verify conversion from string to int for deployment num_retries.

* Refactor Router class for improved readability by formatting long lines and enhancing exception handling tests for num_retries. Ensure consistent style in test cases for better maintainability.

* Update exception handling for num_retries in Router class to suppress mypy warnings. Add type ignore comment for clarity in type conversion from string to int.
2026-01-22 19:39:58 -08:00
ruanjiefeng
324f1f4682
add Vertex_AI llm credentials sensitive keywords "vertex_credentials" (#19551)
* add Vertex_AI  llm credentials sensitive keywords "vertex_credentials"

* Update test_litellm_logging.py add test case
2026-01-22 19:38:14 -08:00
jquinter
0622ce3f2c
Fix/nova grounding (#19598)
* added support for nova grounding for amazon nova model

* added citations support

* added integration tests

* removing test file

* refactor: Use web_search_options for Nova grounding instead of system_tool

---------

Co-authored-by: Juhie <juhiechandra@gmail.com>
Co-authored-by: Juhie <75068056+juhiechandra@users.noreply.github.com>
2026-01-22 19:34:29 -08:00
Sameer Kankute
ebf0beda97 Fix: litellm/tests/test_proxy_server_non_root.py 2026-01-23 08:58:56 +05:30
yuneng-jiang
f78fc4e0fe Fix org all proxy model case 2026-01-22 15:32:10 -08:00
yuneng-jiang
827ce52d80 Adding retries to flaky tests 2026-01-22 15:21:44 -08:00
yuneng-jiang
5c29eeea30
Merge pull request #19585 from BerriAI/litellm_cicd_fix_yj_015
[Infra] CI/CD - Fix Non Root Proxy Tests
2026-01-22 11:31:50 -08:00
yuneng-jiang
24e90ec467
Merge pull request #19583 from BerriAI/litellm_cicd_fix_yj_014
[Infra] CI/CD - Updating Prometheus Tests
2026-01-22 11:16:38 -08:00
yuneng-jiang
a7bafadd26 Fix non-root proxy tests 2026-01-22 11:15:18 -08:00
yuneng-jiang
dbe6f66baf updating promethus tests 2026-01-22 11:01:01 -08:00
Alexsander Hamir
57d777bc69
Fix unsafe access to request attribute (#19573) 2026-01-22 10:58:29 -08:00
yuneng-jiang
dcb111a48b skip brave tests 2026-01-22 10:50:23 -08:00
mpcusack-altos
88f8f49e1d
fix(websearch_interception): filter internal kwargs before follow-up request (#19577)
The websearch interception handler was passing internal flags like
`_websearch_interception_converted_stream` to the follow-up LLM request.
This caused "Extra inputs are not permitted" errors from providers like
Bedrock that use strict Pydantic validation.

Fix: Filter out all kwargs starting with `_websearch_interception` prefix
before making the follow-up anthropic_messages.acreate() call.
2026-01-22 10:42:20 -08:00
Eric Cao
a51835dfcc
Metrics prometheus user team count (#19520)
* add user count and team count prometheus metrics

* rebase

* revert mistaken deletion
2026-01-22 08:17:15 -08:00
Sameer Kankute
ddaf127b4a
Merge pull request #19562 from BerriAI/litellm_stop_setting
feat: Limit stop sequence as per openai spec
2026-01-22 19:44:56 +05:30