mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 11:14:04 +00:00
(feat) proxy key/generate pass metadata in requests
This commit is contained in:
parent
7ad21de441
commit
683a1ee979
1 changed files with 5 additions and 2 deletions
|
@ -616,7 +616,7 @@ def load_router_config(router: Optional[litellm.Router], config_file_path: str):
|
||||||
router = litellm.Router(**router_params) # type:ignore
|
router = litellm.Router(**router_params) # type:ignore
|
||||||
return router, model_list, general_settings
|
return router, model_list, general_settings
|
||||||
|
|
||||||
async def generate_key_helper_fn(duration: Optional[str], models: list, aliases: dict, config: dict, spend: float, token: Optional[str]=None, user_id: Optional[str]=None, max_parallel_requests: Optional[int]=None):
|
async def generate_key_helper_fn(duration: Optional[str], models: list, aliases: dict, config: dict, spend: float, token: Optional[str]=None, user_id: Optional[str]=None, max_parallel_requests: Optional[int]=None, metadata: Optional[dict] = {}):
|
||||||
global prisma_client
|
global prisma_client
|
||||||
|
|
||||||
if prisma_client is None:
|
if prisma_client is None:
|
||||||
|
@ -653,6 +653,7 @@ async def generate_key_helper_fn(duration: Optional[str], models: list, aliases:
|
||||||
|
|
||||||
aliases_json = json.dumps(aliases)
|
aliases_json = json.dumps(aliases)
|
||||||
config_json = json.dumps(config)
|
config_json = json.dumps(config)
|
||||||
|
metadata_json = json.dumps(metadata)
|
||||||
user_id = user_id or str(uuid.uuid4())
|
user_id = user_id or str(uuid.uuid4())
|
||||||
try:
|
try:
|
||||||
# Create a new verification token (you may want to enhance this logic based on your needs)
|
# Create a new verification token (you may want to enhance this logic based on your needs)
|
||||||
|
@ -664,7 +665,8 @@ async def generate_key_helper_fn(duration: Optional[str], models: list, aliases:
|
||||||
"config": config_json,
|
"config": config_json,
|
||||||
"spend": spend,
|
"spend": spend,
|
||||||
"user_id": user_id,
|
"user_id": user_id,
|
||||||
"max_parallel_requests": max_parallel_requests
|
"max_parallel_requests": max_parallel_requests,
|
||||||
|
"metadata": metadata_json
|
||||||
}
|
}
|
||||||
new_verification_token = await prisma_client.insert_data(data=verification_token_data)
|
new_verification_token = await prisma_client.insert_data(data=verification_token_data)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
@ -1141,6 +1143,7 @@ async def generate_key_fn(request: Request, data: GenerateKeyRequest, Authorizat
|
||||||
- config: Optional[dict] - any key-specific configs, overrides config in config.yaml
|
- config: Optional[dict] - any key-specific configs, overrides config in config.yaml
|
||||||
- spend: Optional[int] - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend
|
- spend: Optional[int] - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend
|
||||||
- max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x.
|
- max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x.
|
||||||
|
- metadata: Optional[dict] - Metadata for key, store information for key. Example metadata = {"team": "core-infra", "app": "app2", "email": "ishaan@berri.ai" }
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
- key: (str) The generated api key
|
- key: (str) The generated api key
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue