mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-25 18:54:30 +00:00
LiteLLM Minor Fixes & Improvements (10/08/2024) (#6119)
* refactor(cost_calculator.py): move error line to debug - https://github.com/BerriAI/litellm/issues/5683#issuecomment-2398599498 * fix(migrate-hidden-params-to-read-from-standard-logging-payload): Fixes https://github.com/BerriAI/litellm/issues/5546#issuecomment-2399994026 * fix(types/utils.py): mark weight as a litellm param Fixes https://github.com/BerriAI/litellm/issues/5781 * feat(internal_user_endpoints.py): fix /user/info + show user max budget as default max budget Fixes https://github.com/BerriAI/litellm/issues/6117 * feat: support returning team member budget in `/user/info` Sets user max budget in team as max budget on ui Closes https://github.com/BerriAI/litellm/issues/6117 * bug fix for optional parameter passing to replicate (#6067) Signed-off-by: Mandana Vaziri <mvaziri@us.ibm.com> * fix(o1_transformation.py): handle o1 temperature=0 o1 doesn't support temp=0, allow admin to drop this param * test: fix test --------- Signed-off-by: Mandana Vaziri <mvaziri@us.ibm.com> Co-authored-by: Mandana Vaziri <mvaziri@us.ibm.com>
This commit is contained in:
parent
d60d3e4628
commit
8c05043147
21 changed files with 260 additions and 86 deletions
|
@ -277,8 +277,9 @@ async def ui_get_available_role(
|
|||
|
||||
|
||||
def get_team_from_list(
|
||||
team_list: Optional[List[LiteLLM_TeamTable]], team_id: str
|
||||
) -> Optional[LiteLLM_TeamTable]:
|
||||
team_list: Optional[Union[List[LiteLLM_TeamTable], List[TeamListResponseObject]]],
|
||||
team_id: str,
|
||||
) -> Optional[Union[LiteLLM_TeamTable, LiteLLM_TeamMembership]]:
|
||||
if team_list is None:
|
||||
return None
|
||||
|
||||
|
@ -292,7 +293,7 @@ def get_team_from_list(
|
|||
"/user/info",
|
||||
tags=["Internal User management"],
|
||||
dependencies=[Depends(user_api_key_auth)],
|
||||
response_model=UserInfoResponse,
|
||||
# response_model=UserInfoResponse,
|
||||
)
|
||||
@management_endpoint_wrapper
|
||||
async def user_info(
|
||||
|
@ -334,8 +335,17 @@ async def user_info(
|
|||
team_list = []
|
||||
team_id_list = []
|
||||
# get all teams user belongs to
|
||||
teams_1 = await prisma_client.get_data(
|
||||
user_id=user_id, table_name="team", query_type="find_all"
|
||||
# teams_1 = await prisma_client.get_data(
|
||||
# user_id=user_id, table_name="team", query_type="find_all"
|
||||
# )
|
||||
from litellm.proxy.management_endpoints.team_endpoints import list_team
|
||||
|
||||
teams_1 = await list_team(
|
||||
http_request=Request(
|
||||
scope={"type": "http", "path": "/user/info"},
|
||||
),
|
||||
user_id=user_id,
|
||||
user_api_key_dict=user_api_key_dict,
|
||||
)
|
||||
|
||||
if teams_1 is not None and isinstance(teams_1, list):
|
||||
|
@ -355,6 +365,7 @@ async def user_info(
|
|||
if team.team_id not in team_id_list:
|
||||
team_list.append(team)
|
||||
team_id_list.append(team.team_id)
|
||||
|
||||
elif (
|
||||
user_api_key_dict.user_id is not None and user_id is None
|
||||
): # the key querying the endpoint is the one asking for it's teams
|
||||
|
@ -436,8 +447,11 @@ async def user_info(
|
|||
key["team_alias"] = "None"
|
||||
returned_keys.append(key)
|
||||
|
||||
_user_info = (
|
||||
user_info.model_dump() if isinstance(user_info, BaseModel) else user_info
|
||||
)
|
||||
response_data = UserInfoResponse(
|
||||
user_id=user_id, user_info=user_info, keys=returned_keys, teams=team_list
|
||||
user_id=user_id, user_info=_user_info, keys=returned_keys, teams=team_list
|
||||
)
|
||||
|
||||
return response_data
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue