enterprise_ai.llm.management
Source : sdks/python/src/enterprise_ai/llm/management/__init__.py. Retour à l'index de la référence du SDK Python.
Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.
Classe LlmManagementClient
Gestion des LLM. Projets LLM d'un tenant, leur quota et les clés virtuelles LiteLLM que les applications utilisent pour appeler les modèles.
Resource
LlmManagementClient.block_key
block_key(project_id: str, key_id: str) -> Any
Bloquer une clé de projet. Bloque la clé dans LiteLLM : les appels qui l'utilisent sont refusés jusqu'à son déblocage. Le statut devient blocked. Une clé révoquée répond 409 llm_key_revoked. Audité (llm_key.block). Demande tenant_admin ou platform_admin.
Route : /v1/llm/projects/{project_id}/keys/{key_id}/block (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. | |
key_id | str | oui | Identifiant (UUID) de la clé dans la plateforme. |
Retour : Any. Réponse JSON décodée de l'opération « Bloquer une clé de projet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.create_key
create_key(project_id: str, key: dict[str, Any] | None = None) -> Any
Générer une clé de projet. Génère une clé LiteLLM pour le projet et répond 201 avec l'enregistrement de la clé plus key (la clé en clair) et key_shown_once: true, avec Cache-Control: no-store. La clé en clair ne figure que dans cette réponse : elle n'est jamais enregistrée ni auditée. Demande tenant_admin ou platform_admin.
Route : /v1/llm/projects/{project_id}/keys (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. | |
key | dict[str, Any] | None | None | non | Paramètres de la nouvelle clé envoyés comme corps ; vides par défaut. |
Retour : Any. Réponse JSON décodée de l'opération « Générer une clé de projet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.create_project
create_project(project: dict[str, Any]) -> Any
Créer un projet LLM. Crée un projet LLM dans le tenant de l'appelant et répond 201 avec le projet. Demande tenant_admin ou platform_admin.
Route : /v1/llm/projects (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project | dict[str, Any] | oui | Identifiant du projet auquel les résultats sont limités. |
Retour : Any. Réponse JSON décodée de l'opération « Créer un projet LLM ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.delete_project
delete_project(project_id: str) -> Any
Supprimer un projet LLM. Supprime le projet, son équipe LiteLLM et ses quotas FinOps, et répond 204. Refusé avec 409 llm_project_has_keys tant que le projet a des clés non révoquées. Une erreur de LiteLLM pendant la suppression de l'équipe arrête la suppression. Audité (llm_project.delete). Demande tenant_admin ou platform_admin ; identifiant inconnu : 404 llm_project_not_found.
Route : /v1/llm/projects/{project_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. |
Retour : Any. Réponse JSON décodée de l'opération « Supprimer un projet LLM ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.get_project
get_project(project_id: str) -> Any
Lire un projet LLM. Un projet LLM avec ses modèles effectifs, son quota, son équipe LiteLLM, son état et son erreur de synchronisation, ses quotas FinOps et son nombre de clés. Demande tenant_admin ou platform_admin ; identifiant inconnu : 404 llm_project_not_found.
Route : /v1/llm/projects/{project_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. |
Retour : Any. Réponse JSON décodée de l'opération « Lire un projet LLM ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.list_keys
list_keys(project_id: str, refresh: bool | None = None) -> Any
Lister les clés d'un projet. Clés d'un projet, de la plus récente à la plus ancienne, avec leur alias, leur préfixe d'affichage, leurs modèles, leurs limites, leur statut, leur dépense et leur échéance ; jamais la clé en clair. Avec refresh, la dépense de 50 clés non révoquées au plus est relue dans LiteLLM et enregistrée ; usage_source vaut alors litellm, ou stored avec litellm_error si LiteLLM n'a pas répondu. Demande tenant_admin ou platform_admin.
Route : /v1/llm/projects/{project_id}/keys (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. | |
refresh | bool | None | None | non | Relit la dépense courante dans LiteLLM avant de répondre (vrai par défaut) ; faux renvoie seulement les valeurs enregistrées. |
Retour : Any. Réponse JSON décodée de l'opération « Lister les clés d'un projet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.list_projects
list_projects(status: str | None = None) -> Any
Lister les projets LLM. Projets LLM du tenant par nom, chacun avec ses modèles effectifs (identifiants explicites plus les modèles du registre de ses catégories), son quota, son équipe LiteLLM et son état de synchronisation, ses quotas FinOps et son nombre de clés non révoquées. Une seule page (next_cursor vaut toujours null). Demande tenant_admin ou platform_admin.
Route : /v1/llm/projects (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
status | str | None | None | non | Seulement les projets de ce statut : active, suspended ou archived. |
Retour : Any. Réponse JSON décodée de l'opération « Lister les projets LLM ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.revoke_key
revoke_key(project_id: str, key_id: str) -> Any
Révoquer une clé de projet. Révoque une clé : elle est supprimée dans LiteLLM et conservée ici au statut revoked avec sa date de révocation, pour l'historique. Une clé révoquée ne peut plus être modifiée (409 llm_key_revoked). Audité (llm_key.revoke). Demande tenant_admin ou platform_admin ; clé inconnue : 404 llm_key_not_found.
Route : /v1/llm/projects/{project_id}/keys/{key_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. | |
key_id | str | oui | Identifiant (UUID) de la clé dans la plateforme (pas le jeton LiteLLM). |
Retour : Any. Réponse JSON décodée de l'opération « Révoquer une clé de projet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.set_quota
set_quota(project_id: str, quota: dict[str, Any]) -> Any
Définir le quota d'un projet. Remplace tout le quota du projet (les champs omis prennent leur valeur par défaut), reconstruit ses quotas FinOps et l'envoie dans LiteLLM. Avec hard_stop à faux, LiteLLM ne reçoit aucun budget maximal (alerte seulement) et les quotas FinOps sont souples. Un quota invalide répond 422 invalid_quota. Audité (llm_project.quota). Demande tenant_admin ou platform_admin.
Route : /v1/llm/projects/{project_id}/quota (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. | |
quota | dict[str, Any] | oui | Quota initial du projet ; les valeurs par défaut du quota s'appliquent s'il est omis. |
Retour : Any. Réponse JSON décodée de l'opération « Définir le quota d'un projet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.status
status() -> Any
Vérifier la connexion d'administration LiteLLM. Configuration d'administration LiteLLM sans aucune valeur secrète : configurée ou non, adresse d'administration, présence de la clé maîtresse et origine de sa lecture (paramètre, référence d'environnement ou référence OpenBao), paramètres encore manquants, et sonde de vie (reachable) quand elle est configurée. error_code vaut litellm_not_configured, litellm_unreachable ou null. Demande tenant_admin ou platform_admin.
Route : /v1/llm/management/status (GET).
Cet élément ne prend aucun paramètre.
Retour : Any. Réponse JSON décodée de l'opération « Vérifier la connexion d'administration LiteLLM ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.sync_project
sync_project(project_id: str) -> Any
Renvoyer un projet dans LiteLLM. Renvoie le projet dans LiteLLM (équipe créée ou mise à jour) et répond le projet avec son nouveau sync_status. Contrairement aux autres modifications, un échec est renvoyé : 503 litellm_not_configured, 502 litellm_unreachable ou 502 litellm_rejected. Audité (llm_project.sync). Demande tenant_admin ou platform_admin.
Route : /v1/llm/projects/{project_id}/sync (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. |
Retour : Any. Réponse JSON décodée de l'opération « Renvoyer un projet dans LiteLLM ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.unblock_key
unblock_key(project_id: str, key_id: str) -> Any
Débloquer une clé de projet. Débloque la clé dans LiteLLM ; le statut redevient active. Une clé révoquée répond 409 llm_key_revoked. Audité (llm_key.unblock). Demande tenant_admin ou platform_admin.
Route : /v1/llm/projects/{project_id}/keys/{key_id}/unblock (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. | |
key_id | str | oui | Identifiant (UUID) de la clé dans la plateforme. |
Retour : Any. Réponse JSON décodée de l'opération « Débloquer une clé de projet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.update_key
update_key(project_id: str, key_id: str, changes: dict[str, Any]) -> Any
Modifier une clé de projet. Modifie le nom, les modèles et les limites d'une clé, d'abord dans LiteLLM puis ici. Les limites fusionnées sont contrôlées par rapport au projet : une limite plus large répond 422 llm_key_limit_exceeds_project, un modèle que le projet n'autorise pas 422 llm_key_model_not_allowed. Une clé révoquée répond 409 llm_key_revoked. Audité (llm_key.update). Demande tenant_admin ou platform_admin.
Route : /v1/llm/projects/{project_id}/keys/{key_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. | |
key_id | str | oui | Identifiant (UUID) de la clé dans la plateforme. | |
changes | dict[str, Any] | oui | Champs de la clé à modifier, envoyés comme corps du PATCH ; les limites ne peuvent jamais dépasser celles du projet. |
Retour : Any. Réponse JSON décodée de l'opération « Modifier une clé de projet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
LlmManagementClient.update_project
update_project(project_id: str, changes: dict[str, Any]) -> Any
Modifier un projet LLM. Modifie les champs fournis du projet, reconstruit ses quotas FinOps (supprimés quand le projet n'est plus actif ou plus lié) et le renvoie dans LiteLLM ; un échec de LiteLLM ne fait pas échouer la requête mais apparaît dans sync_status et sync_error. Un autre projet portant le nouveau nom répond 409 llm_project_exists ; un projet de tenant inconnu 404 tenant_project_not_found. Audité (llm_project.update). Demande tenant_admin ou platform_admin.
Route : /v1/llm/projects/{project_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) du projet LLM. | |
changes | dict[str, Any] | oui | Champs du projet à modifier, envoyés comme corps du PATCH. |
Retour : Any. Réponse JSON décodée de l'opération « Modifier un projet LLM ».
Erreurs levées : les erreurs typées du transport (Erreurs).