From 4bdeefd7e4bcec244b690570cda0d963c209284e Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Wed, 25 Sep 2024 15:46:13 -0700 Subject: [PATCH] docs service accounts (#5900) --- .../my-website/docs/proxy/service_accounts.md | 115 ++++++++++++++++++ .../my-website/img/create_service_account.png | Bin 0 -> 82457 bytes docs/my-website/sidebars.js | 2 +- litellm/proxy/proxy_config.yaml | 22 ++-- 4 files changed, 129 insertions(+), 10 deletions(-) create mode 100644 docs/my-website/docs/proxy/service_accounts.md create mode 100644 docs/my-website/img/create_service_account.png diff --git a/docs/my-website/docs/proxy/service_accounts.md b/docs/my-website/docs/proxy/service_accounts.md new file mode 100644 index 000000000..5825af4cb --- /dev/null +++ b/docs/my-website/docs/proxy/service_accounts.md @@ -0,0 +1,115 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import Image from '@theme/IdealImage'; + +# [Beta] Service Accounts + +Use this if you want to create Virtual Keys that are not owned by a specific user but instead created for production projects + +## Usage + +### 1. Set settings for Service Accounts + +Set `service_account_settings` if you want to create settings that only apply to service account keys + +```yaml +general_settings: + service_account_settings: + enforced_params: ["user"] # this means the "user" param is enforced for all requests made through any service account keys +``` + +### 2. Create Service Account Key on LiteLLM Proxy Admin UI + + + +### 3. Test Service Account Key + + + + + + +```shell +curl --location 'http://localhost:4000/chat/completions' \ + --header 'Authorization: Bearer ' \ + --header 'Content-Type: application/json' \ + --data '{ + "model": "gpt-3.5-turbo", + "messages": [ + { + "role": "user", + "content": "hello" + } + ] +}' +``` + +Expected Response + +```json +{ + "error": { + "message": "BadRequest please pass param=user in request body. This is a required param for service account", + "type": "bad_request_error", + "param": "user", + "code": "400" + } +} +``` + + + + + + +```shell +curl --location 'http://localhost:4000/chat/completions' \ + --header 'Authorization: Bearer ' \ + --header 'Content-Type: application/json' \ + --data '{ + "model": "gpt-3.5-turbo", + "messages": [ + { + "role": "user", + "content": "hello" + } + ], + "user": "test-user" +}' +``` + +Expected Response + +```json +{ + "id": "chatcmpl-ad9595c7e3784a6783b469218d92d95c", + "choices": [ + { + "finish_reason": "stop", + "index": 0, + "message": { + "content": "\n\nHello there, how may I assist you today?", + "role": "assistant", + "tool_calls": null, + "function_call": null + } + } + ], + "created": 1677652288, + "model": "gpt-3.5-turbo-0125", + "object": "chat.completion", + "system_fingerprint": "fp_44709d6fcb", + "usage": { + "completion_tokens": 12, + "prompt_tokens": 9, + "total_tokens": 21, + "completion_tokens_details": null + }, + "service_tier": null +} +``` + + + + + diff --git a/docs/my-website/img/create_service_account.png b/docs/my-website/img/create_service_account.png new file mode 100644 index 0000000000000000000000000000000000000000..6474028ffc2be3ad05bdad54f28a2ec27a23d494 GIT binary patch literal 82457 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 literal 0 HcmV?d00001 diff --git a/docs/my-website/sidebars.js b/docs/my-website/sidebars.js index e0512f080..a33e2b601 100644 --- a/docs/my-website/sidebars.js +++ b/docs/my-website/sidebars.js @@ -50,7 +50,7 @@ const sidebars = { { type: "category", label: "🔑 Authentication", - items: ["proxy/virtual_keys", "proxy/token_auth", "proxy/oauth2", "proxy/ip_address"], + items: ["proxy/virtual_keys", "proxy/token_auth", "proxy/service_accounts", "proxy/ip_address"], }, { type: "category", diff --git a/litellm/proxy/proxy_config.yaml b/litellm/proxy/proxy_config.yaml index 69e6b52a3..dda6f8274 100644 --- a/litellm/proxy/proxy_config.yaml +++ b/litellm/proxy/proxy_config.yaml @@ -2,26 +2,30 @@ model_list: - model_name: gpt-3.5-turbo litellm_params: model: openai/gpt-3.5-turbo - api_key: os.environ/OPENAI_API_KEY + api_key: fake-key + api_base: https://exampleopenaiendpoint-production.up.railway.app/ model_info: supported_environments: ["development", "production", "staging"] - - model_name: gpt-4 + - model_name: rerank-english-v3.0 litellm_params: - model: openai/gpt-4 - api_key: os.environ/OPENAI_API_KEY + model: cohere/rerank-english-v3.0 + api_key: os.environ/COHERE_API_KEY model_info: supported_environments: ["production", "staging"] - - model_name: gpt-4o + - model_name: llava-hf litellm_params: - model: openai/gpt-4o - api_key: os.environ/OPENAI_API_KEY + model: openai/llava-hf/llava-v1.6-vicuna-7b-hf + api_key: fake-key model_info: - supported_environments: ["production"] + supported_environments: ["production", "staging"] +general_settings: + service_account_settings: + enforced_params: ["user"] litellm_settings: cache: true - callbacks: ["otel"] + # callbacks: ["otel"] general_settings: