llm_management.go (package eai)
Source : sdks/go/llm_management.go. Retour à l'index de la référence du SDK Go.
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 LLMManagementService
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.
LLMManagementService.BlockKey
BlockKey(ctx context.Context, projectID string, keyID string, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
keyID | string | oui | Identifiant (UUID) de la clé dans la plateforme. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Bloquer une clé de projet ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.CreateKey
CreateKey(ctx context.Context, projectID string, body any, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
body | any | oui | Nom, alias, modèles et limites de la nouvelle clé. Les champs inconnus sont refusés. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Générer une clé de projet ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.CreateProject
CreateProject(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le nouveau projet LLM. Les champs inconnus sont refusés. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un projet LLM ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.DeleteProject
DeleteProject(ctx context.Context, projectID string, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un projet LLM ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.GetProject
GetProject(ctx context.Context, projectID string, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un projet LLM ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.ListKeys
ListKeys(ctx context.Context, projectID string, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les clés d'un projet ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.ListProjects
ListProjects(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les projets LLM ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.RevokeKey
RevokeKey(ctx context.Context, projectID string, keyID string, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
keyID | string | oui | Identifiant (UUID) de la clé dans la plateforme (pas le jeton LiteLLM). | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer une clé de projet ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.SetQuota
SetQuota(ctx context.Context, projectID string, body any, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
body | any | oui | Le nouveau quota complet du projet. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Définir le quota d'un projet ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.Status
Status(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier la connexion d'administration LiteLLM ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.SyncProject
SyncProject(ctx context.Context, projectID string, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Renvoyer un projet dans LiteLLM ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.UnblockKey
UnblockKey(ctx context.Context, projectID string, keyID string, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
keyID | string | oui | Identifiant (UUID) de la clé dans la plateforme. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Débloquer une clé de projet ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.UpdateKey
UpdateKey(ctx context.Context, projectID string, keyID string, body any, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
keyID | string | oui | Identifiant (UUID) de la clé dans la plateforme. | |
body | any | oui | Champs à modifier ; les champs omis gardent leur valeur, une limite envoyée à null est supprimée. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier une clé de projet ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LLMManagementService.UpdateProject
UpdateProject(ctx context.Context, projectID string, body any, opts ...CallOption) (json.RawMessage, error)
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 |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
projectID | string | oui | Identifiant (UUID) du projet LLM. | |
body | any | oui | Champs à modifier ; les champs omis gardent leur valeur. Le quota se modifie avec PUT .../quota. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un projet LLM ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).