io.enterpriseai.resources.LlmManagementClient
Source : sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/LlmManagementClient.java. Retour à l'index de la référence du SDK Java.
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.
Constructeur LlmManagementClient
LlmManagementClient(Transport transport)
Crée le client sur le transport partagé ; EnterpriseAIClient le construit, on y accède par l'accesseur du même nom.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
transport | Transport | oui | Transport partagé par les sous-clients d'un même client. |
LlmManagementClient.blockKey
JsonNode blockKey(String projectId, String keyId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. | |
keyId | String | oui | Identifiant (UUID) de la clé dans la plateforme. |
Retour : JsonNode. 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.createKey
JsonNode createKey(String projectId, Object body)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. | |
body | Object | oui | Nom, alias, modèles et limites de la nouvelle clé. Les champs inconnus sont refusés. |
Retour : JsonNode. 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.createProject
JsonNode createProject(Object body)
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 |
|---|---|---|---|---|
body | Object | oui | Le nouveau projet LLM. Les champs inconnus sont refusés. |
Retour : JsonNode. 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.deleteProject
JsonNode deleteProject(String projectId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. |
Retour : JsonNode. 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.getProject
JsonNode getProject(String projectId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. |
Retour : JsonNode. 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.listKeys
JsonNode listKeys(String projectId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. |
Retour : JsonNode. 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.listProjects
JsonNode listProjects(Map<String, ?> query)
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 |
|---|---|---|---|---|
query | Map<String, ?> | oui | Paramètres de la chaîne de requête de la route. |
Retour : JsonNode. 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.revokeKey
JsonNode revokeKey(String projectId, String keyId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. | |
keyId | String | oui | Identifiant (UUID) de la clé dans la plateforme (pas le jeton LiteLLM). |
Retour : JsonNode. 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.setQuota
JsonNode setQuota(String projectId, Object body)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. | |
body | Object | oui | Le nouveau quota complet du projet. |
Retour : JsonNode. 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
JsonNode status()
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 : JsonNode. 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.syncProject
JsonNode syncProject(String projectId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. |
Retour : JsonNode. 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.unblockKey
JsonNode unblockKey(String projectId, String keyId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. | |
keyId | String | oui | Identifiant (UUID) de la clé dans la plateforme. |
Retour : JsonNode. 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.updateKey
JsonNode updateKey(String projectId, String keyId, Object body)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. | |
keyId | String | oui | Identifiant (UUID) de la clé dans la plateforme. | |
body | Object | oui | Champs à modifier ; les champs omis gardent leur valeur, une limite envoyée à null est supprimée. |
Retour : JsonNode. 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.updateProject
JsonNode updateProject(String projectId, Object body)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) du projet LLM. | |
body | Object | oui | Champs à modifier ; les champs omis gardent leur valeur. Le quota se modifie avec PUT .../quota. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Modifier un projet LLM ».
Erreurs levées : les erreurs typées du transport (Erreurs).