

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)
<a name="projects"></a>

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 ](bedrock-mantle.md) 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 ](inference-profiles-create.md) 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. ](bedrock-mantle.md) 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 ?
<a name="projects-what-is"></a>

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 :
+ **Isolation des accès ** : contrôlez qui peut accéder à des ressources de projet spécifiques à l'aide des politiques [ IAM pour Amazon Bedrock Projects ](security-iam-projects.md)
+ **Surveillance des coûts ** : suivez les dépenses au niveau du projet à l'aide des balises [ AWS ](whitepapers/latest/tagging-best-practices/what-are-tags.html) et d'[AWS Cost Explorer ](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html)

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 est`arn: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, consultez[Conditions préalables à l’exécution de l’inférence de modèle](inference-prereq.md).

## Quand utiliser les projets
<a name="projects-when-to-use"></a>

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
<a name="projects-vs-inference-profiles"></a>

L'API Projects et les profils d'[inférence ](inference-profiles-create.md) 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 ](endpoints.md) le socle, utilisez l'API Projects. Si vous utilisez le point de [ terminaison ](endpoints.md) 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
<a name="projects-vs-aws-accounts"></a>

[Les comptes ](https://docs.aws.amazon.com/accounts/latest/reference/accounts-welcome.html) et [AWS les organisations AWS ](https://docs.aws.amazon.com/controltower/latest/userguide/organizations.html) 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
<a name="projects-getting-started"></a>

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
<a name="projects-prerequisites"></a>

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 ](api-keys.md) pour l'authentification Amazon Bedrock

### Étape 1 : Configuration de votre environnement
<a name="projects-setup-environment"></a>

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 ](bedrock/latest/userguide/api-keys-how.html) : à 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
<a name="projects-discover-models"></a>

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
<a name="projects-create-first"></a>

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
<a name="projects-associate-inference"></a>

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
<a name="projects-verify-setup"></a>

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
<a name="projects-next-steps"></a>

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
<a name="projects-working-with"></a>

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
<a name="projects-creating"></a>

#### Création de projets de base
<a name="projects-basic-creation"></a>

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
<a name="projects-naming-conventions"></a>

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
<a name="projects-listing"></a>

#### Liste de tous les projets
<a name="projects-list-all"></a>

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
<a name="projects-retrieving-details"></a>

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
<a name="projects-updating"></a>

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
<a name="projects-managing-tags"></a>

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
<a name="projects-archiving"></a>

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
<a name="projects-using-apis"></a>

------
#### [ 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
<a name="projects-best-practices"></a>

#### Structure de projet recommandée
<a name="projects-recommended-structure"></a>

**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
<a name="projects-lifecycle-management"></a>
+ **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