Commit Graph
18858 Commits
Author SHA1 Message Date
Ishaan Jaff ec33fab922 update litellm_proxy_unit_testing 2025-01-01 20:19:27 -08:00
Krish DholakiaandGitHub 07fc394072 Litellm dev 01 01 2025 p1 (#7498)
* refactor(prometheus.py): refactor to remove `_tag` metrics and incorporate in regular metrics

* fix(prometheus.py): handle label values not set in enum values

* feat(prometheus.py): working e2e custom metadata labels

* docs(prometheus.md): update docs to clarify how custom metrics would work

* test(test_prometheus_unit_tests.py): fix test

* test: add unit testing
2025-01-01 18:59:28 -08:00
Krish DholakiaandGitHub 0120176541 Litellm dev 12 30 2024 p2 (#7495)
* test(azure_openai_o1.py): initial commit with testing for azure openai o1 preview model

* fix(base_llm_unit_tests.py): handle azure o1 preview response format tests

skip as o1 on azure doesn't support tool calling yet

* fix: initial commit of azure o1 handler using openai caller

simplifies calling + allows fake streaming logic alr. implemented for openai to just work

* feat(azure/o1_handler.py): fake o1 streaming for azure o1 models

azure does not currently support streaming for o1

* feat(o1_transformation.py): support overriding 'should_fake_stream' on azure/o1 via 'supports_native_streaming' param on model info

enables user to toggle on when azure allows o1 streaming without needing to bump versions

* style(router.py): remove 'give feedback/get help' messaging when router is used

Prevents noisy messaging

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

* fix(types/utils.py): handle none logprobs

Fixes https://github.com/BerriAI/litellm/issues/328

* fix(exception_mapping_utils.py): fix error str unbound error

* refactor(azure_ai/): move to openai_like chat completion handler

allows for easy swapping of api base url's (e.g. ai.services.com)

Fixes https://github.com/BerriAI/litellm/issues/7275

* refactor(azure_ai/): move to base llm http handler

* fix(azure_ai/): handle differing api endpoints

* fix(azure_ai/): make sure all unit tests are passing

* fix: fix linting errors

* fix: fix linting errors

* fix: fix linting error

* fix: fix linting errors

* fix(azure_ai/transformation.py): handle extra body param

* fix(azure_ai/transformation.py): fix max retries param handling

* fix: fix test

* test(test_azure_o1.py): fix test

* fix(llm_http_handler.py): support handling azure ai unprocessable entity error

* fix(llm_http_handler.py): handle sync invalid param error for azure ai

* fix(azure_ai/): streaming support with base_llm_http_handler

* fix(llm_http_handler.py): working sync stream calls with unprocessable entity handling for azure ai

* fix: fix linting errors

* fix(llm_http_handler.py): fix linting error

* fix(azure_ai/): handle cohere tool call invalid index param error
2025-01-01 18:57:29 -08:00
Ishaan Jaff 0f1b298fe0 ci/cd run again 2025-01-01 18:50:22 -08:00
Ishaan Jaff 665fb59f48 doc update 2025-01-01 18:40:59 -08:00
Ishaan JaffandGitHub cf60444916 (Feat) Add support for reading secrets from Hashicorp vault (#7497)
* HashicorpSecretManager

* test_hashicorp_secret_managerv

* use 1 helper initialize_secret_manager

* add HASHICORP_VAULT

* working config

* hcorp read_secret

* HashicorpSecretManager

* add secret_manager_testing

* use 1 folder for secret manager testing

* test_hashicorp_secret_manager_get_secret

* HashicorpSecretManager

* docs HCP secrets

* update folder name

* docs hcorp secret manager

* remove unused imports

* add conftest.py

* fix tests

* docs document env vars
2025-01-01 18:35:05 -08:00
Ishaan JaffandGitHub e1fcd3ee43 (docs) Add docs on load testing benchmarks (#7499)
* docs benchmarks

* docs benchmarks
2025-01-01 18:33:20 -08:00
Ishaan JaffandGitHub 38bfefa6ef (Feat) - LiteLLM Use UsernamePasswordCredential for Azure OpenAI (#7496)
* add get_azure_ad_token_from_username_password

* docs azure use username / password for auth

* update doc

* get_azure_ad_token_from_username_password

* test test_get_azure_ad_token_from_username_password
2025-01-01 14:11:27 -08:00
Ishaan JaffandGitHub 2979b8301c (feat) POST /fine_tuning/jobs support passing vertex specific hyper params (#7490)
* update convert_openai_request_to_vertex

* test_create_vertex_fine_tune_jobs_mocked

* fix order of methods

* update LiteLLMFineTuningJobCreate

* update OpenAIFineTuningHyperparameters

* update vertex hyper params in response

* _transform_openai_hyperparameters_to_vertex_hyperparameters

* supervised_tuning_spec["hyperParameters"] fix

* fix mapping for ft params testing

* docs fine tuning apis

* fix test_convert_basic_openai_request_to_vertex_request

* update hyperparams for create fine tuning

* fix linting

* test_create_vertex_fine_tune_jobs_mocked_with_hyperparameters

* run ci/cd again

* test_convert_basic_openai_request_to_vertex_request
2025-01-01 07:44:48 -08:00
Krish DholakiaandGitHub d984a9281a Prometheus - custom metrics support + other improvements (#7489)
* fix(prometheus.py): refactor litellm_input_tokens_metric to use label factory

makes adding new metrics easier

* feat(prometheus.py): add 'request_model' to 'litellm_input_tokens_metric'

* refactor(prometheus.py): refactor 'litellm_output_tokens_metric' to use label factory

makes adding new metrics easier

* feat(prometheus.py): emit requested model in 'litellm_output_tokens_metric'

* feat(prometheus.py): support tracking success events with custom metrics

* refactor(prometheus.py): refactor '_set_latency_metrics' to just use the initially created enum values dictionary

reduces scope for missing values

* feat(prometheus.py): refactor all tags to support custom metadata tags

enables metadata tags to be used across for e2e tracking

* fix(prometheus.py): fix requested model on success event enum_values

* test: fix test

* test: fix test

* test: handle filenotfound error

* docs(prometheus.md): add new values to prometheus

* docs(prometheus.md): document adding custom metrics on prometheus

* bump: version 1.56.5 → 1.56.6
2025-01-01 07:41:50 -08:00
Krrish Dholakia 496422357c bump: version 1.56.5 → 1.56.6 v1.56.6 2025-01-01 07:40:37 -08:00
Ishaan JaffandGitHub 03b1db5a7d (Feat) - Add PagerDuty Alerting Integration (#7478)
* define basic types

* fix verbose_logger.exception statement

* fix basic alerting

* test pager duty alerting

* test_pagerduty_alerting_high_failure_rate

* PagerDutyAlerting

* async_log_failure_event

* use pre_call_hook

* add _request_is_completed helper util

* update AlertingConfig

* rename PagerDutyInternalEvent

* _send_alert_if_thresholds_crossed

* use pagerduty as _custom_logger_compatible_callbacks_literal

* fix slack alerting imports

* fix imports in slack alerting

* PagerDutyAlerting

* fix _load_alerting_settings

* test_pagerduty_hanging_request_alerting

* working pager duty alerting

* fix linting

* doc pager duty alerting

* update hanging_response_handler

* fix import location

* update failure_threshold

* update async_pre_call_hook

* docs pagerduty

* test - callback_class_str_to_classType

* fix linting errors

* fix linting + testing error

* PagerDutyAlerting

* test_pagerduty_hanging_request_alerting

* fix unused imports

* docs pager duty

* @pytest.mark.flaky(retries=6, delay=2)

* test_model_info_bedrock_converse_enforcement
2025-01-01 07:12:51 -08:00
Sven SeebergandGitHub 833bf1da22 fix ollama embedding model response #7451 (#7473) 2024-12-31 23:24:08 -08:00
Daniel KoandGitHub 01a108cf82 Added missing quote (#7481) 2024-12-31 23:23:49 -08:00
Krish DholakiaandGitHub 39cbd9d878 Litellm dev 12 31 2024 p1 (#7488)
* fix(internal_user_endpoints.py): fix team list sort - handle team_alias being set + None

* fix(key_management_endpoints.py): allow team admin to create key for member via admin ui

Fixes https://github.com/BerriAI/litellm/issues/7482

* fix(proxy_server.py): allow querying info on specific model group via `/model_group/info`

allows client-side user to get model info from proxy

* fix(proxy_server.py): add docstring on `/model_group/info` showing how to filter by model name

* test(test_proxy_utils.py): add unit test for returning model group info filtered

* fix(proxy_server.py): fix query param

* fix(test_Get_model_info.py): handle no whitelisted bedrock modells
2024-12-31 23:21:51 -08:00
Krish DholakiaandGitHub 080de89cfb Fix team-based logging to langfuse + allow custom tokenizer on /token_counter endpoint (#7493)
* fix(langfuse_prompt_management.py): migrate dynamic logging to langfuse custom logger compatible class

* fix(langfuse_prompt_management.py): support failure callback logging to langfuse as well

* feat(proxy_server.py): support setting custom tokenizer on config.yaml

Allows customizing value for `/utils/token_counter`

* fix(proxy_server.py): fix linting errors

* test: skip if file not found

* style: cleanup unused import

* docs(configs.md): add docs on setting custom tokenizer
2024-12-31 23:18:41 -08:00
Ishaan JaffandGitHub 6705e30d5d (docs) Add docs on using Vertex with Fine Tuning APIs (#7491)
* docs add Overview for vertex endpoints

* docs add vertex ft api to docs

* Advanced use case - Passing `adapter_size` to the Vertex AI API
2024-12-31 18:50:18 -08:00
Ishaan JaffandGitHub 859f6e1635 (fix) v1/fine_tuning/jobs with VertexAI (#7487)
* update convert_openai_request_to_vertex

* test_create_vertex_fine_tune_jobs_mocked
2024-12-31 15:09:56 -08:00
Krrish Dholakia b3d4ee903d bump: version 1.56.4 → 1.56.5 v1.56.5 2024-12-30 22:26:22 -08:00
Krish DholakiaandGitHub 41e5b3aa8d HumanLoop integration for Prompt Management (#7479)
* feat(humanloop.py): initial commit for humanloop prompt management integration

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

* feat(humanloop.py): working e2e humanloop prompt management integration

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

* fix(humanloop.py): fix linting errors

* fix: fix linting erro

* fix: fix test

* test: handle filenotfound error
2024-12-30 22:26:03 -08:00
Krish DholakiaandGitHub 347779b813 Litellm dev 12 30 2024 p1 (#7480)
* test(azure_openai_o1.py): initial commit with testing for azure openai o1 preview model

* fix(base_llm_unit_tests.py): handle azure o1 preview response format tests

skip as o1 on azure doesn't support tool calling yet

* fix: initial commit of azure o1 handler using openai caller

simplifies calling + allows fake streaming logic alr. implemented for openai to just work

* feat(azure/o1_handler.py): fake o1 streaming for azure o1 models

azure does not currently support streaming for o1

* feat(o1_transformation.py): support overriding 'should_fake_stream' on azure/o1 via 'supports_native_streaming' param on model info

enables user to toggle on when azure allows o1 streaming without needing to bump versions

* style(router.py): remove 'give feedback/get help' messaging when router is used

Prevents noisy messaging

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

* test: fix azure o1 test

* test: fix tests

* fix: fix test
2024-12-30 21:52:52 -08:00
Ishaan Jaff 60bdfb437f doc on streaming usage litellm proxy 2024-12-30 21:06:34 -08:00
Ishaan JaffandGitHub 83879d2a3d test_rerank_response_assertions (#7476) 2024-12-30 10:12:56 -08:00
Ishaan JaffandGitHub a003af6c04 (fix) litellm.amoderation - support using model=openai/omni-moderation-latest, model=omni-moderation-latest, model=None (#7475)
* test_moderation_endpoint

* fix litellm.amoderation
2024-12-30 09:42:51 -08:00
Ishaan Jaff 24dd6559a6 localeCompare 2024-12-28 20:32:49 -08:00
Krrish Dholakia 192c3b2848 docs(index.md): fix doc link 2024-12-28 20:28:50 -08:00
Krish DholakiaandGitHub 31ace870a2 Litellm dev 12 28 2024 p1 (#7463)
* refactor(utils.py): migrate amazon titan config to base config

* refactor(utils.py): refactor bedrock meta invoke model translation to use base config

* refactor(utils.py): move bedrock ai21 to base config

* refactor(utils.py): move bedrock cohere to base config

* refactor(utils.py): move bedrock mistral to use base config

* refactor(utils.py): move all provider optional param translations to using a config

* docs(clientside_auth.md): clarify how to pass vertex region to litellm proxy

* fix(utils.py): handle scenario where custom llm provider is none / empty

* fix: fix get config

* test(test_otel_load_tests.py): widen perf margin

* fix(utils.py): fix get provider config check to handle custom llm's

* fix(utils.py): fix check
2024-12-28 20:26:00 -08:00
Krrish Dholakia ec7fcc982d docs(index.md): add deepgram to release notes 2024-12-28 20:24:55 -08:00
Krrish Dholakia bbf46913fa docs(deepgram.md): add table clarifying supported openai endpoint 2024-12-28 20:21:31 -08:00
Ishaan Jaff cd59e62b40 doc update order 2024-12-28 20:20:12 -08:00
Krrish Dholakia e18143dcba docs(deepgram.md): add deepgram model support to docs 2024-12-28 20:19:12 -08:00
Ishaan Jaff 8c569899c0 update release note 2024-12-28 20:15:30 -08:00
Ishaan Jaff ea8f0913c2 test_e2e_batches_files v1.56.4 2024-12-28 19:54:04 -08:00
Krrish Dholakia ed1e3e9dc1 ci(reset_stable.yml): fix to run on release created events 2024-12-28 19:53:18 -08:00
Krrish Dholakia 24a3403655 docs(spending_monitoring.md): add section on disabling spend logs to db 2024-12-28 19:48:50 -08:00
Ishaan Jaff 32e8bdef6f update clean up jobs 2024-12-28 19:45:19 -08:00
Krrish Dholakia ab665dc7af docs(spend_monitoring.md): cleanup doc 2024-12-28 19:42:03 -08:00
Krish DholakiaandGitHub cfb6890b9f Litellm dev 12 28 2024 p2 (#7458)
* docs(sidebar.js): docs for support model access groups for wildcard routes

* feat(key_management_endpoints.py): add check if user is premium_user when adding model access group for wildcard route

* refactor(docs/): make control model access a root-level doc in proxy sidebar

easier to discover how to control model access on litellm

* docs: more cleanup

* feat(fireworks_ai/): add document inlining support

Enables user to call non-vision models with images/pdfs/etc.

* test(test_fireworks_ai_translation.py): add unit testing for fireworks ai transform inline helper util

* docs(docs/): add document inlining details to fireworks ai docs

* feat(fireworks_ai/): allow user to dynamically disable auto add transform inline

allows client-side disabling of this feature for proxy users

* feat(fireworks_ai/): return 'supports_vision' and 'supports_pdf_input' true on all fireworks ai models

now true as fireworks ai supports document inlining

* test: fix tests

* fix(router.py): add unit testing for _is_model_access_group_for_wildcard_route
2024-12-28 19:38:06 -08:00
Ishaan Jaff 3eb962c594 update - new test for test_text_completion_health_check 2024-12-28 19:36:23 -08:00
Ishaan Jaff 6409de6291 fix ft job test - add resource cleanup 2024-12-28 19:28:54 -08:00
Krish DholakiaandGitHub 5af438ed89 Litellm dev 12 28 2024 p3 (#7464)
* feat(deepgram/): initial e2e support for deepgram stt

Uses deepgram's `/listen` endpoint to transcribe speech to text

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

* fix: fix linting errors

* test: fix test
2024-12-28 19:18:58 -08:00
Ishaan Jaff 4d648ee335 fix ahealth_check 2024-12-28 19:16:28 -08:00
Ishaan Jaff f719743d4a cleanup_azure_ft_models 2024-12-28 19:10:23 -08:00
Ishaan Jaff a688967132 bump: version 1.56.3 → 1.56.4 2024-12-28 18:41:38 -08:00
Ishaan JaffandGitHub 1e06ee3162 (Refactor) - Re use litellm.completion/litellm.embedding etc for health checks (#7455)
* add mode: realtime

* add _realtime_health_check

* test_realtime_health_check

* azure _realtime_health_check

* _realtime_health_check

* Realtime Models

* fix code quality

* delete OAI / Azure custom health check code

* simplest version of ahealth check

* update tests

* working health check post refactor

* working aspeech health check

* fix realtime health checks

* test_audio_transcription_health_check

* use get_audio_file_for_health_check

* test_text_completion_health_check

* ahealth_check

* simplify health check code

* update ahealth_check

* fix import

* fix unused imports

* fix ahealth_check

* fix local testing

* test_async_realtime_health_check
2024-12-28 18:38:54 -08:00
Ishaan JaffandGitHub 4e65722a00 (Bug Fix) Add health check support for realtime models (#7453)
* add mode: realtime

* add _realtime_health_check

* test_realtime_health_check

* azure _realtime_health_check

* _realtime_health_check

* Realtime Models

* fix code quality
2024-12-28 18:15:00 -08:00
Ishaan Jaff 5c1e8b60d4 ui new build 2024-12-28 18:14:36 -08:00
paul-gauthierandGitHub 406b7f43a8 fix OR deepseek (#7425)
* fix OR deepseek

* updated context limits

* restore or deepseek-coder

* OR deepseek supports prompt caching
2024-12-28 17:08:43 -08:00
Ishaan JaffandGitHub 3158dcf88b (Security fix) - Upgrade to fastapi==0.115.5 (#7447)
* fix upgrade fast api

* bump fastapi

* update a proxy startup tests

* remove unused test file

* update tests

* bump fast api
2024-12-28 17:08:19 -08:00
Ishaan JaffandGitHub 978fc0e7a8 (Admin UI - 2) UI chat should render the output in markdown (#7460)
* chat ui improvement

* ui - handle md text
2024-12-28 16:47:08 -08:00