first commit

This commit is contained in:
2026-06-27 09:32:54 -03:00
commit 029adfafc3
23 changed files with 1205 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
from __future__ import annotations
import httpx
from settings import Env, load_config
def main() -> None:
env = Env()
cfg = load_config(env.config_file)
headers = {'Authorization': f'Bearer {env.litellm_master_key}'}
with httpx.Client(timeout=30) as client:
for api in cfg.apis:
payload = {
'key': api.virtual_key,
'aliases': {cfg.model.alias: cfg.model.alias},
'models': [cfg.model.alias],
'metadata': {'api_id': api.id, 'api_name': api.name, 'owner': api.owner},
'team_id': api.owner or api.id,
'user_id': api.id,
}
r = client.post(f'{env.litellm_base_url.replace("/v1", "")}/key/generate', headers=headers, json=payload)
if r.status_code in (200, 201):
print(f'OK key criada/registrada: {api.id}')
elif r.status_code == 400 and 'already' in r.text.lower():
print(f'OK key já existe: {api.id}')
else:
print(f'ERRO {api.id}: {r.status_code} {r.text}')
if __name__ == '__main__':
main()