View a markdown version of this page

Projets (OpenAI-compatible) - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Projets (OpenAI-compatible)

L'API Amazon Bedrock Projects fournit une isolation au niveau de l'application pour vos charges de travail d'IA génératives à l'aide d'API. OpenAI-compatible Les projets vous permettent d'organiser et de gérer vos applications d'IA en améliorant le contrôle d'accès, le suivi des coûts et l'observabilité au sein de votre organisation.

Astuce

Pour les nouvelles applications, nous recommandons le bedrock-runtime terminal. Si vous n'avez pas besoin de l'API Projects, utilisez des profils d'inférence pour l'isolation, le balisage et le suivi des coûts. bedrock-runtime

Note

Les projets ne peuvent être utilisés qu'avec des modèles qui utilisent les OpenAI-compatible API par rapport au point de terminaison du manteau rocheux. Si vous utilisez le point de terminaison Bedrock-Runtime, veuillez utiliser des profils d'inférence au lieu du balisage et de l'observabilité.

Qu'est-ce qu'un projet ?

Un projet est une limite logique utilisée pour isoler les charges de travail telles que les applications, les environnements ou les expériences au sein d'Amazon Bedrock. Les projets fournissent :

Les projets vous permettent de gérer plusieurs charges de travail d'IA génératives en production sans créer de AWS comptes ou d'organisations distincts, ce qui réduit la complexité opérationnelle tout en préservant la sécurité et la gouvernance.

Chaque AWS compte possède un projet par défaut auquel toutes les demandes d'inférence sont associées. Vous pouvez créer d'autres projets dans votre compte à l'aide de l'API Projects.

Note

La prise en charge des projets varie selon le point de terminaison. Sur le bedrock-mantle terminal, vous pouvez créer et gérer vos propres projets à l'aide de l'API Projects. Sur le bedrock-runtime terminal, seul le projet par défaut est disponible. Vous ne pouvez pas encore y créer de projets. Les demandes à bedrock-runtime résoudre concernent le projet par défaut de votre compte, dont l'ARN estarn:aws:bedrock:region:account-id:project/default. Le projet par défaut ne peut être ni balisé ni supprimé, son paramètre de conservation des données est toujours hérité du compte et il ne constitue jamais le point d'ancrage de facturation : l'utilisation activée bedrock-runtime est attribuée à la cible d'inférence, exactement comme c'est le cas aujourd'hui. Pour les autorisations qui font référence au projet par défaut, consultezConditions préalables à l’exécution de l’inférence de modèle.

Quand utiliser les projets

Vous devez utiliser l'API Projects lorsque vous devez :

  • Organisation par structure d'entreprise  : gérez l'utilisation de Bedrock en fonction de votre taxonomie organisationnelle, telle que les unités commerciales, les équipes, les applications ou les centres de coûts

  • Suivez les coûts avec précision  : surveillez et allouez les dépenses liées à l'IA à des équipes, des projets ou des environnements spécifiques

  • Appliquez des politiques d'accès  : appliquez des autorisations IAM granulaires pour contrôler qui peut accéder à des charges de travail d'IA spécifiques

  • Augmentez les charges de travail de production  : exécutez plusieurs applications de production avec des limites opérationnelles et une surveillance claires

Projets et profils d'inférence

L'API Projects et les profils d'inférence fournissent des fonctionnalités d'isolation, de balisage et de contrôle d'accès dans Amazon Bedrock, mais elles diffèrent en fonction du point de terminaison que vous utilisez. Si vous utilisez des OpenAI-compatible API dont le point de terminaison est le socle, utilisez l'API Projects. Si vous utilisez le point de terminaison Bedrock-Runtime (recommandé pour les nouvelles applications), utilisez des profils d'inférence. L'API Chat Completions est disponible sur les deux terminaux ; l'API Projects n'est disponible que sur. bedrock-mantle

Fonctionnalité API de projets Profils d'inférence
API prises en charge OpenAI-compatible API (réponses, complétion des discussions) API Bedrock natives (Invoke, Converse), OpenAI-compatible API (complétion des discussions)
Endpoint bedrock-mantle.{region}.api.aws bedrock-runtime.{region}.amazonaws.com
Cas d’utilisation Applications utilisant des points de OpenAI-compatible terminaison Applications utilisant des API Bedrock natives
Contrôle d’accès Le projet en tant que ressource dans les politiques IAM Politiques IAM relatives à l'ARN du profil d'inférence
Suivi des coûts AWS tags sur les projets AWS balises sur les profils d'inférence

Projets vs. AWS comptes

Les comptes et AWS les organisations AWS représentent les limites de facturation et de propriété au niveau de l'infrastructure. Les projets représentent la charge de travail et les limites des applications au sein d'un seul compte.

L'utilisation de Projects au lieu de AWS comptes séparés permet de :

  • Configuration plus rapide  : créez des projets en quelques secondes grâce à des appels d'API.

  • Complexité réduite  : gérez plusieurs charges de travail sans multiplier les comptes

  • Simplification des opérations  : gestion centralisée au sein d'un seul compte

  • Frais généraux réduits  : pas besoin de rôles IAM entre comptes ni de partage de ressources

Démarrer avec Projects

Cette page vous explique comment créer votre premier projet, l'associer à des demandes d'inférence et gérer les ressources du projet.

Conditions préalables

Avant de commencer, assurez-vous d'avoir :

  • Un AWS compte avec accès à Amazon Bedrock

  • Autorisations IAM pour créer et gérer des projets Bedrock

  • Python 3.7 ou version ultérieure installé

  • Le SDK OpenAI Python installé : pip install openai boto3

  • Une clé d'API pour l'authentification Amazon Bedrock

Étape 1 : Configuration de votre environnement

Configurez vos variables d'environnement avec vos informations d'identification Amazon Bedrock :

export OPENAI_API_KEY="<your-bedrock-key>" export OPENAI_BASE_URL="https://bedrock-mantle.<your-region>.api.aws/v1"

Remplacez <your-region> par votre AWS région (par exemple, us-east-1, us-west-2).

Note

Amazon Bedrock propose deux types de clés  : à court terme et à long terme. Bien que vous puissiez utiliser des clés d'API à long terme pour explorer Amazon Bedrock, nous recommandons des clés à court terme pour les applications présentant des exigences de sécurité plus strictes. Si vous utilisez des clés à long terme avec Projects, notez que la politique par défaut associée aux clés à long terme vous permet uniquement d'obtenir et de répertorier des projets, mais pas de create/update les archiver. Si vous souhaitez que votre clé à long terme gère des projets, vous devrez attribuer des politiques IAM supplémentaires à vos clés pour permettre ces opérations.

Étape 2 : Découvrez les modèles disponibles

Utilisez l'list()API pour récupérer la liste des modèles compatibles avec l'API Projects :

curl -X GET $OPENAI_BASE_URL/models \ -H "Authorization: Bearer $OPENAI_API_KEY"

Étape 3 : Créez votre premier projet

Créez un projet à l'aide de l'API Create Project avec des balises pour le suivi des coûts et l'observabilité. Notez qu'à l'heure actuelle, seul cURL est pris en charge dans le SDK.

curl -X POST $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Project ABC", "tags": { "Project": "CustomerChatbot", "Environment": "Production", "Owner": "TeamAlpha", "CostCenter": "21524" } }' -v

Réponse :

{ "arn": "arn:aws:bedrock-mantle:ap-northeast-1:673693429514:project/proj_5d5ykleja6cwpirysbb7", "created_at": 1772135628, "id": "proj_5d5ykleja6cwpirysbb7", "name": "Project ABC", "object": "organization.project", "status": "active", "tags": { "Owner": "TeamAlpha", "Project": "CustomerChatbot", "Environment": "Production", "CostCenter": "21524" } }

Remarques importantes :

  • Le paramètre de géographie de la spécification de l'API OpenAI est ignoré par Amazon Bedrock.

  • La région est déterminée par la configuration de votre terminal.

  • Le champ arn est spécifique à Amazon Bedrock et fournit l'ARN pour la pièce jointe à la politique IAM.

  • Les balises peuvent être spécifiées lors de la création du projet et sont renvoyées dans toutes les réponses au projet.

Étape 4 : Associez les demandes d'inférence à votre projet

Pour associer votre projet aux demandes d'inférence, indiquez l'ID du projet lors de la création du client :

cURL
curl -X POST $OPENAI_BASE_URL/responses \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -H "OpenAI-Project: proj_5d5ykleja6cwpirysbb7" \ -d '{ "model": "openai.gpt-oss-120b", "input": "Explain the benefits of using projects in Amazon Bedrock" }'
Python
from openai import OpenAI client = OpenAI(project="proj_5d5ykleja6cwpirysbb7")

Toutes les demandes d'inférence effectuées auprès de ce client seront associées au projet spécifié, garantissant ainsi une isolation, un suivi des coûts et un contrôle d'accès appropriés.

Étape 5 : Vérifiez la configuration de votre projet

Répertoriez tous les projets pour vérifier que votre projet a été créé correctement :

curl -X GET $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY"

Réponse :

{ "data": [ { "arn": "arn:aws:bedrock-mantle:ap-northeast-1:673693429514:project/default", "created_at": 1764460800, "id": "default", "name": "default", "object": "organization.project", "status": "active", "tags": {} }, { "arn": "arn:aws:bedrock-mantle:ap-northeast-1:673693429514:project/proj_2z766pfxmkij5vwubv75", "created_at": 1771823259, "id": "proj_2z766pfxmkij5vwubv75", "name": "Project ABC", "object": "organization.project", "status": "active", "tags": {} } ], "first_id": "default", "has_more": false, "last_id": "proj_znaruqn723npmjqnxqfd", "object": "list" }

Étapes suivantes

Maintenant que vous avez créé votre premier projet, vous pouvez :

  • Configuration du contrôle d'accès  : associez des politiques IAM pour restreindre l'accès aux projets

  • Configurer le suivi des coûts  : ajouter des AWS balises pour la répartition des coûts

  • Activez la surveillance  : configurez CloudWatch les mesures et les alarmes

  • Créez des projets supplémentaires  : organisez les charges de travail par équipe, environnement ou application

Utilisation des projets

Cette page fournit des informations détaillées sur la gestion des projets tout au long de leur cycle de vie.

Création de projets

Création de projets de base

Créez un projet avec un nom, une description et des balises :

curl -X POST $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Development Environment", "tags": { "Project": "InternalTools", "Environment": "Development", "Owner": "TeamAlpha", "CostCenter": "30156" } }'

Vous pouvez avoir jusqu'à 1 000 projets par compte.

Conventions de dénomination recommandées

Utilisez des noms clairs et descriptifs qui reflètent la structure de votre organisation :

  • Par demande  : CustomerChatbot-Prod InternalSearch-Dev

  • Par équipe  : TeamAlpha-Production, DataScience-Experiments

  • Par environnement  : Production-WebApp, Staging-MobileApp

  • Par centre de coûts  : CostCenter-2152-Production

Lister les projets

Liste de tous les projets

Retrouvez tous les projets de votre compte :

curl -X GET $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY"

Récupération des détails du projet

Obtenez des informations détaillées sur un projet spécifique :

curl -X GET $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY"

Mise à jour des projets

Modifiez les propriétés du projet, telles que le nom :

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Production Chatbot v2" }'

Gestion des balises de projet

Ajoutez de nouvelles balises ou mettez à jour les valeurs de balises existantes :

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "add_tags": { "Application": "WebApp", "Version": "2.0", "Team": "Engineering" } }'

Supprimez des tags spécifiques à l'aide de leurs touches :

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "remove_tag_keys": ["Version", "OldTagKey"] }'
Remarques importantes
  • Pas de remplacement complet  : aucune opération ne permet de remplacer l'ensemble d'étiquettes en une seule fois. Vous devez spécifier explicitement les balises à ajouter et celles à supprimer.

  • Gestion des erreurs  : mettre en œuvre une gestion et une vérification des erreurs appropriées

Projets d'archivage

Archivez les projets qui ne sont plus utilisés :

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_abc123/archive \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json"
Important

Les projets archivés ne peuvent pas être utilisés pour de nouvelles demandes d'inférence, mais les données historiques et les mesures restent accessibles pendant 30 jours maximum.

Utilisation de projets avec différentes API

Responses API
from openai import OpenAI client = OpenAI(project="proj_abc123") response = client.responses.create( model="openai.gpt-oss-120b", input="What are the key features of Amazon Bedrock?" ) print(response)
Chat Completions API
from openai import OpenAI client = OpenAI(project="proj_abc123") response = client.chat.completions.create( model="openai.gpt-oss-120b", messages=[ {"role": "user", "content": "Explain how projects improve security"} ] ) print(response.choices[0].message.content)

Bonnes pratiques

Un projet par application  : créez des projets distincts pour chaque application ou service distinct.

├── CustomerChatbot-Production ├── CustomerChatbot-Staging ├── CustomerChatbot-Development ├── InternalSearch-Production └── InternalSearch-Development
  • Environnements distincts  : utilisez des projets différents pour les environnements de développement, de préparation et de production.

  • Isolation des expériences  : créez des projets dédiés aux expériences et à la validation de concepts.

Gestion du cycle de vie des projets

  • Créez des projets à l'avance  : configurez des projets avant de déployer des applications

  • Utilisez une dénomination cohérente  : respectez les conventions de dénomination de l'organisation

  • Objectif du projet de documentation  : inclure des descriptions claires

  • Audits réguliers  : examiner et archiver périodiquement les projets non utilisés

  • Surveillez l'utilisation  : suivez les indicateurs du projet pour identifier les opportunités d'optimisation