Modellzugriff steuern
Modelle nach virtuellem SchlĂźssel einschränkenâ
Erlaubte Modelle fĂźr einen SchlĂźssel mit dem Parameter models festlegen
curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer <your-master-key>' \
--header 'Content-Type: application/json' \
--data-raw '{"models": ["gpt-3.5-turbo", "gpt-4"]}'
Dieser SchlĂźssel kann nur Anfragen an models stellen, die gpt-3.5-turbo oder gpt-4 sind
Verifizieren Sie, dass dies korrekt eingestellt ist durch
- Erlaubter Zugriff
- Verweigerter Zugriff
curl -i https://:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-1234" \
-d '{
"model": "gpt-4",
"messages": [
{"role": "user", "content": "Hello"}
]
}'
Erwarten Sie, dass dies fehlschlägt, da gpt-4o nicht in den models fßr den generierten Schlßssel enthalten ist
curl -i https://:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-1234" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "user", "content": "Hello"}
]
}'
API-Referenzâ
Modelle nach team_id einschränkenâ
litellm-dev kann nur auf azure-gpt-3.5 zugreifen
1. Erstellen Sie ein Team Ăźber /team/new
curl --location 'https://:4000/team/new' \
--header 'Authorization: Bearer <your-master-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"team_alias": "litellm-dev",
"models": ["azure-gpt-3.5"]
}'
# returns {...,"team_id": "my-unique-id"}
2. Erstellen Sie einen SchlĂźssel fĂźr das Team
curl --location 'https://:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{"team_id": "my-unique-id"}'
3. Testen
curl --location 'http://0.0.0.0:4000/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-qo992IjKOC2CHKZGRoJIGA' \
--data '{
"model": "BEDROCK_GROUP",
"messages": [
{
"role": "user",
"content": "hi"
}
]
}'
{"error":{"message":"Invalid model for team litellm-dev: BEDROCK_GROUP. Valid models for team are: ['azure-gpt-3.5']\n\n\nTraceback (most recent call last):\n File \"/Users/ishaanjaffer/Github/litellm/litellm/proxy/proxy_server.py\", line 2298, in chat_completion\n _is_valid_team_configs(\n File \"/Users/ishaanjaffer/Github/litellm/litellm/proxy/utils.py\", line 1296, in _is_valid_team_configs\n raise Exception(\nException: Invalid model for team litellm-dev: BEDROCK_GROUP. Valid models for team are: ['azure-gpt-3.5']\n\n","type":"None","param":"None","code":500}}%
API-Referenzâ
Modellzugriffsgruppenâ
Verwenden Sie Modellzugriffsgruppen, um Benutzern Zugriff auf ausgewählte Modelle zu gewähren und im Laufe der Zeit neue hinzuzufßgen (z. B. mistral, llama-2 usw.)
Schritt 1. Modell, Zugriffsgruppe in config.yaml zuweisen
model_list:
- model_name: gpt-4
litellm_params:
model: openai/fake
api_key: fake-key
api_base: https://exampleopenaiendpoint-production.up.railway.app/
model_info:
access_groups: ["beta-models"] # đ Model Access Group
- model_name: fireworks-llama-v3-70b-instruct
litellm_params:
model: fireworks_ai/accounts/fireworks/models/llama-v3-70b-instruct
api_key: "os.environ/FIREWORKS"
model_info:
access_groups: ["beta-models"] # đ Model Access Group
- SchlĂźssel-Zugriffsgruppen
- Team-Zugriffsgruppen
SchlĂźssel mit Zugriffsgruppe erstellen
curl --location 'https://:4000/key/generate' \
-H 'Authorization: Bearer <your-master-key>' \
-H 'Content-Type: application/json' \
-d '{"models": ["beta-models"], # đ Model Access Group
"max_budget": 0,}'
Test Key
- Erlaubter Zugriff
- Verweigerter Zugriff
curl -i https://:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-<key-from-previous-step>" \
-d '{
"model": "gpt-4",
"messages": [
{"role": "user", "content": "Hello"}
]
}'
Erwarten Sie, dass dies fehlschlägt, da gpt-4o nicht in der Zugriffsgruppe beta-models enthalten ist
curl -i https://:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-<key-from-previous-step>" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "user", "content": "Hello"}
]
}'
Team erstellen
curl --location 'https://:4000/team/new' \
-H 'Authorization: Bearer sk-<key-from-previous-step>' \
-H 'Content-Type: application/json' \
-d '{"models": ["beta-models"]}'
SchlĂźssel fĂźr Team erstellen
curl --location 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-<key-from-previous-step>' \
--header 'Content-Type: application/json' \
--data '{"team_id": "0ac97648-c194-4c90-8cd6-40af7b0d2d2a"}
Test Key
- Erlaubter Zugriff
- Verweigerter Zugriff
curl -i https://:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-<key-from-previous-step>" \
-d '{
"model": "gpt-4",
"messages": [
{"role": "user", "content": "Hello"}
]
}'
Erwarten Sie, dass dies fehlschlägt, da gpt-4o nicht in der Zugriffsgruppe beta-models enthalten ist
curl -i https://:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-<key-from-previous-step>" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "user", "content": "Hello"}
]
}'
⨠Zugriff auf Wildcard-Modelle steuernâ
Steuern Sie den Zugriff auf alle Modelle mit einem bestimmten Präfix (z. B. openai/*).
Verwenden Sie dies, um Benutzern auch Zugriff auf alle Modelle zu gewähren, mit Ausnahme einiger, die sie nicht verwenden sollen (z. B. openai/o1-*).
- Konfigurieren Sie config.yaml
model_list:
- model_name: openai/*
litellm_params:
model: openai/*
api_key: os.environ/OPENAI_API_KEY
model_info:
access_groups: ["default-models"]
- model_name: openai/o1-*
litellm_params:
model: openai/o1-*
api_key: os.environ/OPENAI_API_KEY
model_info:
access_groups: ["restricted-models"]
- SchlĂźssel mit Zugriff auf
default-modelsgenerieren
curl -L -X POST 'http://0.0.0.0:4000/key/generate' \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json' \
-d '{
"models": ["default-models"],
}'
- Testen Sie den SchlĂźssel
- Erfolgreiche Anfrage
- Abgelehnte Anfrage
curl -i https://:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-<key-from-previous-step>" \
-d '{
"model": "openai/gpt-4",
"messages": [
{"role": "user", "content": "Hello"}
]
}'
curl -i https://:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-<key-from-previous-step>" \
-d '{
"model": "openai/o1-mini",
"messages": [
{"role": "user", "content": "Hello"}
]
}'