From a6cd068c49bc35bc67973be2b35443543fe3338f Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Wed, 17 Jan 2024 20:38:41 -0800 Subject: [PATCH] docs(virtual_keys.md): add model access groups to docs --- docs/my-website/docs/proxy/users.md | 42 ++++++++++++++++++++++ docs/my-website/docs/proxy/virtual_keys.md | 29 +++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/docs/my-website/docs/proxy/users.md b/docs/my-website/docs/proxy/users.md index bce596a5b..b0c64662a 100644 --- a/docs/my-website/docs/proxy/users.md +++ b/docs/my-website/docs/proxy/users.md @@ -39,4 +39,46 @@ curl --location 'http://0.0.0.0:8000/key/generate' \ --header 'Authorization: Bearer sk-1234' \ --header 'Content-Type: application/json' \ --data '{"duration": "20m", "max_parallel_requests": 1}' # 👈 max parallel requests = 1 +``` + +## Grant Access to new model + +Use model access groups to give users access to select models, and add new ones to it over time (e.g. mistral, llama-2, etc.). + +Difference between doing this with `/key/generate` vs. `/user/new`? If you do it on `/user/new` it'll persist across multiple keys generated for that user. + +**Step 1. Assign model, access group in config.yaml** + +```yaml +model_list: + - model_name: text-embedding-ada-002 + litellm_params: + model: azure/azure-embedding-model + api_base: "os.environ/AZURE_API_BASE" + api_key: "os.environ/AZURE_API_KEY" + api_version: "2023-07-01-preview" + model_info: + access_groups: ["beta-models"] # 👈 Model Access Group +``` + +**Step 2. Create key with access group** + +```bash +curl --location 'http://localhost:8000/user/new' \ +-H 'Authorization: Bearer ' \ +-H 'Content-Type: application/json' \ +-d '{"models": ["beta-models"], # 👈 Model Access Group + "max_budget": 0}' +``` + + +## Create new keys for existing user + +Just include user_id in the `/key/generate` request. + +```bash +curl --location 'http://0.0.0.0:8000/key/generate' \ +--header 'Authorization: Bearer ' \ +--header 'Content-Type: application/json' \ +--data '{"models": ["azure-models"], "user_id": "krrish@berri.ai"}' ``` \ No newline at end of file diff --git a/docs/my-website/docs/proxy/virtual_keys.md b/docs/my-website/docs/proxy/virtual_keys.md index 77b6a5e2e..ee8a99042 100644 --- a/docs/my-website/docs/proxy/virtual_keys.md +++ b/docs/my-website/docs/proxy/virtual_keys.md @@ -136,6 +136,35 @@ curl -X POST "https://0.0.0.0:8000/key/generate" \ - **How to upgrade / downgrade request?** Change the alias mapping - **How are routing between diff keys/api bases done?** litellm handles this by shuffling between different models in the model list with the same model_name. [**See Code**](https://github.com/BerriAI/litellm/blob/main/litellm/router.py) + +## Grant Access to new model + +Use model access groups to give users access to select models, and add new ones to it over time (e.g. mistral, llama-2, etc.) + +**Step 1. Assign model, access group in config.yaml** + +```yaml +model_list: + - model_name: text-embedding-ada-002 + litellm_params: + model: azure/azure-embedding-model + api_base: "os.environ/AZURE_API_BASE" + api_key: "os.environ/AZURE_API_KEY" + api_version: "2023-07-01-preview" + model_info: + access_groups: ["beta-models"] # 👈 Model Access Group +``` + +**Step 2. Create key with access group** + +```bash +curl --location 'http://localhost:8000/key/generate' \ +-H 'Authorization: Bearer ' \ +-H 'Content-Type: application/json' \ +-d '{"models": ["beta-models"], # 👈 Model Access Group + "max_budget": 0,}' +``` + ## Tracking Spend You can get spend for a key by using the `/key/info` endpoint.