mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-25 10:44:24 +00:00
* Add date picker to usage tab + Add reasoning_content token tracking across all providers on streaming (#9722) * feat(new_usage.tsx): add date picker for new usage tab allow user to look back on their usage data * feat(anthropic/chat/transformation.py): report reasoning tokens in completion token details allows usage tracking on how many reasoning tokens are actually being used * feat(streaming_chunk_builder.py): return reasoning_tokens in anthropic/openai streaming response allows tracking reasoning_token usage across providers * Fix update team metadata + fix bulk adding models on Ui (#9721) * fix(handle_add_model_submit.tsx): fix bulk adding models * fix(team_info.tsx): fix team metadata update Fixes https://github.com/BerriAI/litellm/issues/9689 * (v0) Unified file id - allow calling multiple providers with same file id (#9718) * feat(files_endpoints.py): initial commit adding 'target_model_names' support allow developer to specify all the models they want to call with the file * feat(files_endpoints.py): return unified files endpoint * test(test_files_endpoints.py): add validation test - if invalid purpose submitted * feat: more updates * feat: initial working commit of unified file id translation * fix: additional fixes * fix(router.py): remove model replace logic in jsonl on acreate_file enables file upload to work for chat completion requests as well * fix(files_endpoints.py): remove whitespace around model name * fix(azure/handler.py): return acreate_file with correct response type * fix: fix linting errors * test: fix mock test to run on github actions * fix: fix ruff errors * fix: fix file too large error * fix(utils.py): remove redundant var * test: modify test to work on github actions * test: update tests * test: more debug logs to understand ci/cd issue * test: fix test for respx * test: skip mock respx test fails on ci/cd - not clear why * fix: fix ruff check * fix: fix test * fix(model_connection_test.tsx): fix linting error * test: update unit tests
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
from typing import Literal, Union
|
|
|
|
from . import *
|
|
from .cache_control_check import _PROXY_CacheControlCheck
|
|
from .managed_files import _PROXY_LiteLLMManagedFiles
|
|
from .max_budget_limiter import _PROXY_MaxBudgetLimiter
|
|
from .parallel_request_limiter import _PROXY_MaxParallelRequestsHandler
|
|
|
|
# List of all available hooks that can be enabled
|
|
PROXY_HOOKS = {
|
|
"max_budget_limiter": _PROXY_MaxBudgetLimiter,
|
|
"managed_files": _PROXY_LiteLLMManagedFiles,
|
|
"parallel_request_limiter": _PROXY_MaxParallelRequestsHandler,
|
|
"cache_control_check": _PROXY_CacheControlCheck,
|
|
}
|
|
|
|
|
|
def get_proxy_hook(
|
|
hook_name: Union[
|
|
Literal[
|
|
"max_budget_limiter",
|
|
"managed_files",
|
|
"parallel_request_limiter",
|
|
"cache_control_check",
|
|
],
|
|
str,
|
|
]
|
|
):
|
|
"""
|
|
Factory method to get a proxy hook instance by name
|
|
"""
|
|
if hook_name not in PROXY_HOOKS:
|
|
raise ValueError(
|
|
f"Unknown hook: {hook_name}. Available hooks: {list(PROXY_HOOKS.keys())}"
|
|
)
|
|
return PROXY_HOOKS[hook_name]
|