Commit Graph
26840 Commits
Author SHA1 Message Date
d8b44f4dbf Enable OpenTelemetry context propagation by external tracers (#15940)
* Fix: Enable OpenTelemetry context propagation with external tracers

* Add test for handling external tracers

* change priority to get tracer

---------

Co-authored-by: eycjur <eycjur@example.com>
2025-10-26 10:09:54 -07:00
oroxenbergandGitHub a75e75ae1a feat(lasso): Upgrade to Lasso API v3 and fix ULID generation (#15941)
* 1. add v3 classify
2. add new classifix for masking
3. support same id for the conversation for pre and post
working with duplicates

* clean code, remove some debug and run tests

* update liter errors

* improvment for Code Organization, httpx Error Handling Specificity, Logging Improvements and Type

* transfer test test_lasso_guard_config to the new location

* Fix type hints and linting errors in lasso.py

- Add type: ignore for httpx module when None
- Fix return type issues in _handle_classification and _handle_masking
- Ensure masked_messages is not None before passing to _apply_masking_to_model_response
- Convert LassoResponse to dict for _log_masking_applied call

* feat(lasso): Upgrade to Lasso API v3 and fix ULID generation

- Update Lasso API endpoints from v2 to v3 (/gateway/v3/classify)
- Update masking endpoints from v1 to v3 (/gateway/v3/classifix)
- Fix ULID generation: use ulid.new() instead of ULID() constructor
- Resolve MemoryView error that occurred with incorrect ULID usage

Tested with real proxy server and verified:
- Malicious content (jailbreak) properly blocked
- Safe content passes through guardrail
- PII detection and masking works correctly
- No ULID generation errors

* docs(lasso): Add ulid-py>=1.1.0 dependency prerequisite

Add Prerequisites section documenting the required ulid-py package
(version 1.1.0 or higher) for Lasso guardrail conversation tracking.

* update docs with the right api_key format
2025-10-26 10:08:52 -07:00
Ishaan JaffandGitHub 06a17ac1af 1-79-0 docs (#15936)
* draft v1-79-0

* docs fix

* docs fix

* 1.78.5-stable

* docs fix

* docs fix

* docs video gen
2025-10-25 18:04:04 -07:00
Ishaan Jaffer d6b0c11d5b test fixes, fk azure v1.79.0-nightly v1.79.0.rc.1 2025-10-25 17:15:52 -07:00
Ishaan Jaffer 4fc692d1e3 TestGooglePSESearch 2025-10-25 17:13:45 -07:00
Ishaan Jaffer 869ff086f0 bump: version 1.78.9 → 1.79.0 2025-10-25 17:11:48 -07:00
Ishaan Jaffer 3ef6ff8696 bump: version 1.78.8 → 1.78.9 2025-10-25 17:11:41 -07:00
Ishaan Jaffer cd0db19750 unstable test 2025-10-25 17:11:13 -07:00
Ishaan Jaffer cbadcd4a77 TestPerplexityIntegration 2025-10-25 17:06:01 -07:00
Ishaan Jaffer 04ff660276 fixes exception handling 2025-10-25 16:55:16 -07:00
Ishaan Jaffer bbfddd00e4 test fix 2025-10-25 16:46:29 -07:00
Ishaan Jaffer 3441b7b737 qa fix 2025-10-25 16:46:11 -07:00
Ishaan Jaffer 8a12e01f9e fix code qa 2025-10-25 16:40:58 -07:00
Ishaan Jaffer 6ac21ddcec fix build and test gpt-3.5-turbo 2025-10-25 16:39:14 -07:00
Ishaan Jaffer a1d3790198 TestAzureResponsesAPITest 2025-10-25 16:22:52 -07:00
Krrish Dholakia ef2c50c408 fix: fix linting errors 2025-10-25 16:18:54 -07:00
Krrish Dholakia 0f7e1acfc6 test: update tests 2025-10-25 16:14:19 -07:00
Krrish Dholakia 3c0df6a2da test: update unit testing 2025-10-25 16:09:53 -07:00
Ishaan Jaffer f0ae2bef4f TestAzureResponsesAPITest 2025-10-25 16:09:04 -07:00
Ishaan Jaffer 4341495508 search test fix credits 2025-10-25 16:05:44 -07:00
Ishaan Jaffer a6b6e56246 fixes azure 2025-10-25 15:54:30 -07:00
Ishaan Jaffer 4145f8c098 fix: regression responses_id_security 2025-10-25 15:47:40 -07:00
Ishaan Jaffer 3bd42b7ccf test_image_generation_azure_dall_e_3 2025-10-25 15:47:40 -07:00
Krrish Dholakia da3988b768 fix: fix test 2025-10-25 15:43:16 -07:00
Krrish Dholakia 3be40e8351 fix(main.py): retain mock fix 2025-10-25 15:33:43 -07:00
Krrish Dholakia 8ac99906b1 Revert "fix(main.py): only return mock model response stream if stream is true"
This reverts commit 42eb86245a.
2025-10-25 15:32:46 -07:00
Ishaan Jaffer a9c7fbbb60 test_router_init 2025-10-25 15:14:18 -07:00
Ishaan Jaffer 679374fe79 test_img_gen_on_router 2025-10-25 15:11:52 -07:00
Ishaan Jaffer ab0fc0a30d test_aimg_gen_on_router 2025-10-25 15:11:21 -07:00
Ishaan Jaffer 20d8345a7c test: fixes because azure deactivated our account 2025-10-25 15:10:45 -07:00
Ishaan Jaffer e878f2b1ef test_router_get_available_deployments 2025-10-25 15:09:08 -07:00
Ishaan Jaffer e67e4b893d test_completion_azure_ai_gpt_4o_with_flexible_api_base 2025-10-25 14:59:11 -07:00
Ishaan Jaffer 5cca4c8b4f test_image_generation_openai 2025-10-25 14:57:40 -07:00
Ishaan Jaffer 2c52791b83 test_model_function_invoke 2025-10-25 14:56:12 -07:00
Ishaan Jaffer 667f2613de TestAzureOpenAIVectorStore 2025-10-25 14:06:28 -07:00
Ishaan Jaffer 61ed655574 tests: azure ai services are terrible round3 2025-10-25 14:01:28 -07:00
Krrish Dholakia b4aac2e892 build: build new ui 2025-10-25 13:52:50 -07:00
Krrish Dholakia d3e482fd08 fix: fix tuple 2025-10-25 13:46:16 -07:00
Krish DholakiaandGitHub 346e036399 fix(opentelemetry.py): fix issue where headers were not being split correctly + feat(bedrock): add titan image generations w/ cost tracking (#15916)
* fix(opentelemetry.py): fix issue where headers were not being split correctly

* feat(bedrock/image): Support bedrock titan image generation

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

* build(model_prices_and_context_window.json): track titan image gen pricing

enables cost tracking per request

* feat(amazon_titan_transformation.py): support titan image generation cost tracking

* docs: document new model

* docs: update docs to indicate cost tracking + refactor rerank into separate doc

* fix: fix mypy linting error

* fix: fix type ignore
2025-10-25 13:45:13 -07:00
Krish DholakiaandGitHub 72bbdfd3f3 (security) Responses API - prevent User A from retrieving User B's response, if response.id is leaked (#15757)
* feat(responses_id_security.py): encrypt response.id - prevent user A from retrieving user B's response

additional security for retrievals on shared accounts

Closes LIT-1307

* feat(responses_id_security.py): allow admin to disable responses id security check

* test: add initial unit testing

* feat(responses_id_security.py): add streaming support

* docs: document new param

* docs: document new param

* feat(responses_id_security.py): add team id checks - ensure it works for service accounts

prevent service accounts keys from different teams from accessing each other's responses

more secure

* test: add unit testing

* fix: fix linting error
2025-10-25 13:41:59 -07:00
Krish DholakiaandGitHub 6bb1d77f45 Org level tpm/rpm limits + Team tpm/rpm validation when assigned to org (#15549)
* fix(support-model-specific-tpm/rpm-limits): Allows setting rate limits by tpm/rpm for models by team

* fix(key_management_endpoints.py): enforce guaranteed throughput with key-level model tpm/rpm limits, when team-level tpm/rpm limits are set

* test: add unit testing

* feat(schema.prisma): add metadata to litellm budget table

* feat(proxy/utils.py): add org limits to user api key auth

allows org level tpm/rpm limiting to work

* feat: add org level tpm/rpm limits + inherit org id in key from team

enables org level tpm/rpm limits

* feat: validated working org tpm/rpm limits

* feat: support updating org level, model specific tpm/rpm limits

* fix: working key validation for org level tpm/rpm limits

* fix: working validation for orgs when giving tpm/rpm to teams

* fix(key_management_endpoints.py): fix tpm/rpm limits on orgs

* fix(key_management_endpoints.py): support limits

* refactor: remove duplicate var

* fix: refactor to avoid ruff errors

* fix: fix typign

* fix: fix linting error

* fix: fix testing

* fix(key_management_endpoints.py): document params
2025-10-25 13:40:29 -07:00
Krish DholakiaandGitHub 2bd41dc034 Guardrails - Responses API, Image Gen, Text completions, Audio transcriptions, Audio Speech, Rerank, Anthropic Messages API support via the unified apply_guardrails function (#15706)
* fix(presidio.py): handle content as a list of texts

covers openai + anthropic messages api

* fix(presidio.py): safe get messages

* test: add unit testing for presidio guardrails

* fix(unified_guardrail.py): initial commit

* fix(enkryptai.py): implement apply_guardrail to enkrypt guardrail

* fix(unified_guardrail.py): support unified guardrail on input

* feat(unified_guardrail.py): add post call success hook implementation

allows us to just have 1 place to handle llm translation to guardrail api spec

* refactor: refactor initial unified guardrail component

* refactor: more refactoring

* feat(responses/): add guardrails to responses api

allows existing guardrails to work for new llm endpoints

* docs(adding_guardrail_support.md): document new guardrail endpoint support

* test: add unit tests

* feat(image_generation/): add guardrail support for image generation endpoint

* feat(openai/text_completion): support guardrails on `/v1/completions` API

* docs: document guardrails support on new endpoints

* docs: clarify when guardrails run

* feat(openai/speech): add guardrail support for input

* docs(rerank/): add guardrail support on input query

* fix: fix ruff check
2025-10-25 13:38:57 -07:00
Krrish Dholakia eb67cef167 docs(mcp.md): add docs 2025-10-25 13:30:47 -07:00
Krrish Dholakia 65ef9b2ee7 fix(mcp_server_manager.py): support static headers 2025-10-25 13:30:04 -07:00
Krish DholakiaandGitHub 86524fcaf5 VertexAI Search Vector Store - Passthrough endpoint support + Vector store search Cost tracking support (#15824)
* feat(vector_stores/): initial commit adding Vertex AI Search API support for litellm

new vector store provider

* feat(vector_store/): use vector store id for vertex ai search api

* fix: transformation.py

cleanup

* fix: implement abstract function

* fix: fix linting error

* fix: main.py

fix check

* feat: initial commit with working passthrough support for vertex ai search api through litellm

* feat(llm_passthrough_endpoints.py): fix passing correct project on datastore passthrough

* feat(vertex_ai/): support passthrough call for vertex ai search vector store

* docs(vertex_ai_search_datastore.md): document new vertex ai passthrough endpoint

* docs(sidebars.js): document new endpoint

* feat: initial commit adding logging for vertex ai passthrough api

 allows vertex ai vector search api to work with cost calculation

* feat(vertex_ai/): search vector store cost tracking

* fix(vertex_passthrough_logging_handler.py): log the cost

* fix: improve logged response

* fix(vertex_passthrough_logging_handler.py): logging

* feat(litellm_logging): main.py

add cost tracking for vertex ai search api via unified api

* refactor: fix ruff checks

* fix(llm_passthrough_endpoints.py): fix linting
2025-10-25 13:17:15 -07:00
Ishaan Jaffer 818c44bde5 test_databricks_anthropic_function_call_with_no_schema 2025-10-25 13:01:08 -07:00
Ishaan Jaffer e96c61a3cb test_completion_azure_deployment_id 2025-10-25 13:00:41 -07:00
Ishaan Jaffer 2acedb4826 test_bedrock_apply_guardrail_with_masking 2025-10-25 12:59:19 -07:00
Krrish Dholakia 42eb86245a fix(main.py): only return mock model response stream if stream is true 2025-10-25 12:59:01 -07:00
Ishaan Jaffer c9bc6d593c TestAzureOpenAIDalle3 2025-10-25 12:46:38 -07:00