Commit Graph
4852 Commits
Author SHA1 Message Date
joshualipman123 471eec09c3 Add site url and app name env var instructions to docs 2025-07-30 14:19:33 -07:00
joshualipman123 7ef52882b7 Add Vercel AI Gateway API key docs link to docs 2025-07-30 11:43:41 -07:00
Krrish Dholakia 68177686e3 docs: cleanup 2025-07-30 10:21:45 -07:00
joshualipman123 9783a8aa7c Update ai gateway docs 2025-07-30 10:17:54 -07:00
joshualipman123 1ea28ccf67 Add Vercel AI Gateway provider support 2025-07-30 10:01:05 -07:00
Krrish Dholakia 8c70025a63 docs: cleanup 2025-07-30 08:02:00 -07:00
Ishaan JaffandGitHub 5fa2b00c3f [Feat] MLFlow Logging - Allow adding tags for ML Flow logging requests (#13108)
* add mlflow tags

* fixes config

* add litellm mlflow

* test_mlflow_request_tags_functionality

* docs ML flow litellm proxy

* docs ml flow

* docs mlflow
2025-07-29 16:51:27 -07:00
Cole McIntoshandGitHub 8826e02a98 feat: Add dot notation support for all JWT fields (#13013)
* feat: Add dot notation support for all JWT fields

- Updated all JWT field access methods to use get_nested_value for dot notation support
- Enhanced get_team_id to properly handle team_id_default fallback with nested fields
- Added comprehensive unit tests for nested JWT field access and edge cases
- Updated documentation to reflect dot notation support across all JWT fields
- Maintains full backward compatibility with existing flat field configurations

Supported fields with dot notation:
- team_id_jwt_field, team_ids_jwt_field, user_id_jwt_field
- user_email_jwt_field, org_id_jwt_field, object_id_jwt_field
- end_user_id_jwt_field (roles_jwt_field was already supported)

Example: user_id_jwt_field: 'user.sub' accesses token['user']['sub']

* fix: Add type annotations to resolve mypy errors

- Add explicit type annotation for team_ids variable in get_team_ids_from_jwt
- Add type ignore comment for sentinel object return in get_team_id
- Resolves mypy errors while maintaining functionality

* fix: Resolve mypy type error in get_team_ids_from_jwt

- Remove explicit List[str] type annotation that conflicts with get_nested_value return type
- Simplify return logic to use 'team_ids or []' ensuring always returns List[str]
- Fixes: Incompatible types in assignment (expression has type 'list[str] | None', variable has type 'list[str]')

* fix: Add proper type annotation for team_ids variable

- Use Optional[List[str]] type annotation to satisfy mypy requirements
- Resolves: Need type annotation for 'team_ids' [var-annotated]
- Maintains functionality while ensuring type safety

* refactor: remove outdated JWT unit tests and consolidate JWT-related functionality

- Deleted the test_jwt.py file as it contained outdated and redundant tests.
- Consolidated JWT-related tests into test_handle_jwt.py for better organization and maintainability.
- Updated tests to ensure proper functionality of JWT handling, including token validation and role mapping.
- Enhanced test coverage for JWT field access and nested claims handling.

* test: add comprehensive unit tests for JWT authentication

- Introduced a new test file `test_jwt.py` containing unit tests for JWT authentication.
- Implemented tests for loading configuration with custom role names, validating tokens, and handling team tokens.
- Enhanced coverage for JWT field access, nested claims, and role-based access control.
- Added fixtures for Prisma client and public JWT key generation to support testing.
- Ensured proper handling of valid and invalid tokens, including user and team scenarios.

* revert test_handle_jwt.py

* rename file

* test: remove outdated JWT nesting tests and add new nested field access tests

- Deleted the `test_jwt_nesting.py` file as it contained outdated tests.
- Introduced new tests in `test_handle_jwt.py` to verify nested JWT field access.
- Enhanced coverage for accessing nested values using dot notation and ensured backward compatibility with flat field names.
- Added tests for handling missing nested paths and appropriate default values.
- Improved handling of metadata prefixes in nested field access.

* restore file
2025-07-29 16:51:17 -07:00
Krrish Dholakia 8e3caf4306 docs(index.md): cleanup 2025-07-29 16:31:19 -07:00
Krrish Dholakia b35d20fd93 docs(index.md): add rc docker tag 2025-07-29 16:30:43 -07:00
Krish DholakiaandGitHub b7c5073d28 Custom Auth - bubble up custom exceptions (#13093)
* fix(enterprise/litellm_enterprise/proxy/auth/user_api_key_auth.py): bubble up exception if type is ProxyException

* docs(custom_auth.md): doc on bubbling up custom exceptions
2025-07-29 16:28:25 -07:00
Ishaan Jaff b5048e2b2a docs AZURE_CERTIFICATE_PASSWORD 2025-07-29 14:25:14 -07:00
Max RabinandGitHub 918e46d025 Remove extraneous s in docs (#13079) 2025-07-29 08:39:42 -07:00
Ishaan Jaff 33510120fd docs 2025-07-28 22:02:35 -07:00
Cole McIntoshandGitHub 3a347922c8 docs: add Qwen Code CLI tutorial (#12915)
- Add new tutorial for integrating Qwen Code CLI with LiteLLM Proxy
- Update sidebar to include Qwen Code CLI in both AI Tools and main Tutorials sections
- Document environment variables for OpenAI-compatible configuration
- Include examples for routing to various providers (Anthropic, OpenAI, Bedrock)
2025-07-28 21:39:02 -07:00
Ishaan JaffandGitHub a8371d2cb1 [Feat] Add Google AI Studio Imagen4 model family (#13065)
* add gemini

* add init files

* add get_gemini_image_generation_config

* refactor transform

* TestGoogleImageGen

* fix transform

* fix transform

* add gemini_image_cost_calculator

* add cost tracking for gemini/imagen models

* docs image gen

* docs image gen

* test_get_model_info_gemini
2025-07-28 21:25:40 -07:00
Jugal D. BhattandGitHub ba95541571 [MCP gateway] add url namespacing docs (#13063)
* added the url docs

* Added url change
2025-07-28 17:28:55 -07:00
75ae43e667 feat(langfuse-otel): Add comprehensive metadata support to Langfuse OpenTelemetry integration (#12956)
* feat(langfuse-otel): Add comprehensive metadata support to Langfuse OpenTelemetry integration

This commit brings the langfuse_otel integration to feature parity with the vanilla Langfuse integration by adding support for all metadata fields.

Changes:
- Extended LangfuseSpanAttributes enum with all supported metadata fields:
  - Generation-level: generation_name, generation_id, parent_observation_id, version, mask_input/output
  - Trace-level: trace_user_id, session_id, tags, trace_name, trace_id, trace_metadata, trace_version, trace_release, existing_trace_id, update_trace_keys
  - Debug: debug_langfuse

- Implemented metadata extraction and mapping in langfuse_otel.py:
  - Added _extract_langfuse_metadata() helper to extract metadata from kwargs
  - Support for header-based metadata (langfuse_* headers) via proxy
  - Enhanced _set_langfuse_specific_attributes() to map all metadata to OTEL attributes
  - JSON serialization for complex types (lists, dicts) for OTEL compatibility

- Updated documentation:
  - Added 'Metadata Support' section explaining all fields are now supported
  - Provided usage example showing how to pass metadata
  - Clarified that traces are viewed in Langfuse UI (not generic OTEL backends)
  - Added opentelemetry-exporter-otlp to required dependencies

This allows users to pass metadata like:
metadata={
    'generation_name': 'my-generation',
    'trace_id': 'trace-123',
    'session_id': 'session-456',
    'tags': ['prod', 'v1'],
    'trace_metadata': {'user_type': 'premium'}
}

All metadata is exported as OpenTelemetry span attributes with 'langfuse.*' prefix for easy filtering and analysis in the Langfuse UI.

* Fix ruff linting error

* test(langfuse-otel): Fix failing test and add comprehensive metadata tests

- Fix test_set_langfuse_environment_attribute to use positional arguments
  instead of keyword arguments when asserting safe_set_attribute calls
- Add test_extract_langfuse_metadata_basic to verify metadata extraction
  from litellm_params
- Add test_extract_langfuse_metadata_with_header_enrichment to test
  integration with header-based metadata using a stubbed LangFuseLogger
- Add test_set_langfuse_specific_attributes_full_mapping to comprehensively
  test all metadata field mappings and JSON serialization of complex types

These tests ensure full coverage of the langfuse_otel metadata features
added in commit ab1dbe355 and fix the CI test failure.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-28 16:53:36 -07:00
Richard TweedandGitHub 3abf7cc871 chore: Improve docs for cost tracking (#12976) 2025-07-28 16:49:14 -07:00
Ishaan JaffandGitHub d5c61cc526 docs - openweb show how to include reasoning content (#13060) 2025-07-28 15:25:47 -07:00
Krish DholakiaandGitHub e8a374fc47 Litellm release notes 07 27 2025 p1 (#13027)
* docs(index.md): initial commit for v1.74.9-stable release note

* docs(index.md): add more cost tracking models

* docs(index.md): add new llm api endpoints + mcp gateway features

* docs: add logging/guardrail improvements

* docs(index.md): complete initial draft

* build(model_prices_and_context_window.json): fix or pricing

* build(model_prices_and_context_window.json): fix or pricing
2025-07-27 09:46:25 -07:00
Jugal D. BhattandGitHub b921e22594 [MCP Gateway] Litellm mcp multi header propagation (#13003)
* change alias-> server_name

* add server alias uses

* add tests

* schema

* ruff fix

* fix alias for config

* fix tests

* add alias

* fix tests

* add multi server header support

* add and fix tests

* fix tests

* fix tests

* add a common util

* ruff fix

* fix ruff

* fix tests

* fix migration

* mypy fix

* change server py
2025-07-26 11:45:14 -07:00
Jugal D. BhattandGitHub 10595ea077 [MCP Gateway] add Litellm mcp alias for prefixing (#12994)
* change alias-> server_name

* add server alias uses

* add tests

* schema

* ruff fix

* fix alias for config

* fix tests

* add alias

* fix tests

* fix tests

* add a common util

* ruff fix

* fix migration
2025-07-25 17:57:52 -07:00
Timothy LowrimoreandGitHub 94273dc8b7 Merge branch 'main' into heroku-llms 2025-07-25 16:46:01 -06:00
Timothy Lowrimore c51b8d0a6d doc edits 2025-07-25 16:14:36 -06:00
Timothy Lowrimore 0eb05ad23f adds sidebar link to Heroku provider docs 2025-07-25 16:11:39 -06:00
Timothy Lowrimore 79e4308809 adds provider docs 2025-07-25 16:02:26 -06:00
Jugal D. BhattandGitHub d1b63566ac remove features from enterprise (#12988) 2025-07-25 10:55:28 -07:00
Ishaan Jaff 0f015a2f68 docs fix link 2025-07-25 09:08:18 -07:00
Ishaan Jaff 1a15bd4885 docs auto router 2025-07-25 09:04:27 -07:00
Ishaan Jaff f2e9834dc6 docs - auto router on litellm proxy 2025-07-25 08:58:54 -07:00
Ishaan Jaff 7bb48ffaf9 docs auto routing 2025-07-25 08:50:16 -07:00
Ishaan Jaff 50574c0c3e docs - auto routing 2025-07-25 07:31:39 -07:00
Ishaan Jaff ecfafd1243 docs update 2025-07-25 07:19:32 -07:00
Ishaan Jaff 7745f61fb1 docs update 2025-07-25 07:19:20 -07:00
Ishaan Jaff 9c76ccd92c docs Health Check Server 2025-07-25 07:17:26 -07:00
Dmitriy AlergantandGitHub 0cc320cc0a GuardrailsAI: use validatedOutput to allow usage of "fix" guards. Previously "fix" guards had no effect in llmOutput mode. (#12891) 2025-07-24 22:07:06 -07:00
Murad KhafizovandGitHub 650ae0ef88 Added documentation about metadata exposed over the /v1/models endpoint (#12942) 2025-07-24 21:51:16 -07:00
Ishaan Jaff 2bf0c1187c v1.74.7-stable 2025-07-24 18:44:21 -07:00
Ishaan Jaff 095ddea0dc docs index 2025-07-24 18:39:11 -07:00
Ishaan Jaff 0a07698d9d docs update 2025-07-24 11:26:30 -07:00
superpoussin22andGitHub ca9712c587 Update control_plane_and_data_plane.md 2025-07-24 16:15:55 +02:00
Ishaan JaffandGitHub 99ad24c683 [Feat] LiteLLM x Cloudzero integration - Allow exporting spend to cloudzero (#12908)
* add cz init

* add DataAnalyzer

* add CZRNGenerator -> LiteLLM resource generator

* add CloudZeroStreamer

* add CBFTransformer

* add cloudzero DB connection

* add config

* add cli.py

* cleanup

* add CloudZeroLogger

* add CloudZeroLogger

* update CloudZeroLogger

* add cloudzero_router to litellm proxy

* add CloudZeroInitRequest

* add cloudzero spend endpoints

* simple dry run endpoint

* refactor dir structure

* add well types CBFRecord

* TestCBFTransformer

* TestCloudZeroStreamer

* ruff fix

* add polars pip + docker requirements.txt

* _group_by_date

* update code qa check

* docs for CZ params
2025-07-23 13:00:58 -07:00
Ishaan Jaff 5616aaee6d docs pillar guard 2025-07-23 07:15:02 -07:00
Krrish Dholakia 663dea37a8 docs: fix docs 2025-07-22 23:30:50 -07:00
Igal BoxermanandGitHub d118cc7098 feat: Add Pillar Security guardrail integration (#12791)
* feat: Add Pillar Security guardrail integration

Implements comprehensive LLM security guardrails using Pillar Security API with support for prompt injection detection, PII/secret detection, content moderation, and multi-mode execution (pre_call, during_call, post_call). Includes complete documentation, testing, and configurable actions on flagged content.

* fix: Resolve MyPy type error in Pillar guardrail config

Restructure PillarGuardrailConfigModel to properly inherit from GuardrailConfigModel[T]
and resolve return type compatibility issue in get_config_model method.

* fix: Resolve MyPy type error in Pillar guardrail config

Restructure PillarGuardrailConfigModel to properly inherit from GuardrailConfigModel[T]
and resolve return type compatibility issue in get_config_model method.

* fix docs

* fix docs

* improved docs

* fix examples, READY
2025-07-22 23:17:33 -07:00
Jugal D. BhattandGitHub 03d5102044 [Add health check] add architecture diagram (#12879)
* add architecture diagram

* add image path

* add new image
2025-07-22 23:12:19 -07:00
Jugal D. BhattandGitHub 405eb7f243 [Docs ]Litellm mcp access group doc (#12883)
* add example for config

* fix typo
2025-07-22 23:11:53 -07:00
Krish DholakiaandGitHub d26f74ade5 Request Headers - support x-litellm-num-retries + Usage - support usage by model group (#12890)
* feat(litellm_pre_call_utils.py): add num_retries to litellm data for backend call

allow user to pass in num retries via request headers

* test(test_litellm_pre_call_utils.py): add unit test

* docs(request_headers.md): document new request header

* fix(common_daily_activity.py): show spend breakdown by model group

Partial fix for https://github.com/BerriAI/litellm/issues/12887

* feat(new_usage.tsx): new tab switcher for viewing usage by model group vs. received model

Closes https://github.com/BerriAI/litellm/issues/12887
2025-07-22 23:09:36 -07:00
Ishaan Jaff bf300f8ca7 Revert "Litellm dev 07 21 2025 p1 (#12848)"
This reverts commit e4e10aa4ed.
2025-07-22 18:28:36 -07:00