Fichiers et artefacts publiés
Les fichiers sont stockés dans l’environnement de l’agent. Un artefact est une copie publiée d’un fichier provenant d’un environnement hébergé par OpenAI. Vous pouvez télécharger cette copie après l’expiration de l’environnement.
| Environnement | Comment récupérer les fichiers |
|---|---|
self_hosted | Utilisez l’API de fichiers ou le système de fichiers monté de votre fournisseur. |
openai_hosted | Utilisez l’API Artifacts de la session pour les fichiers situés dans /workspace/outputs. |
none | Aucun système de fichiers dans l’environnement. Consultez les résultats dans les éléments de la session. |
Importez des fichiers
Pour un environnement hébergé par OpenAI, fournissez les fichiers d’entrée dans environment.files lors de la création de la session. Choisissez la destination de chaque fichier dans /workspace.
Utilisez type: "file_id" avec un file_id provenant de l’API Files, ou type: "inline" avec des données data encodées en base64. Les deux formes nécessitent un path.
Pour ajouter des fichiers une fois l’environnement connecté, utilisez l’API Files de l’environnement.
Récupérez vos fichiers
Depuis votre propre environnement
Demandez à l’agent d’enregistrer ses résultats à un chemin connu. Une fois le tour terminé, récupérez le fichier via votre fournisseur ou votre infrastructure. Enregistrez-le dans le stockage de votre application avant l’expiration ou la suppression de l’environnement.
Les fichiers des environnements auto-hébergés ne sont pas publiés via l’API Artifacts, y compris ceux situés dans /workspace/outputs. Consultez la section Fournisseurs de bacs à sable pour connaître les modalités d’accès aux fichiers propres à chaque fournisseur.
Depuis un environnement hébergé par OpenAI
Demandez à l’agent d’enregistrer le fichier dans /workspace/outputs, par exemple à l’emplacement /workspace/outputs/report.pdf. OpenAI publie les résultats sous forme d’artefacts immuables une fois le tour terminé.
Transmettez à cette fonction votre client API, l’identifiant de la session, l’identifiant du tour terminé, le chemin de l’artefact et la destination locale. Elle répertorie les artefacts et télécharge le fichier correspondant à la fois au tour et au chemin indiqués :
# Pass the saved session ID, completed turn ID, artifact path, and local destination.
def download_artifact(client, session_id, turn_id, path, destination):
for artifact in client.beta.agents.sessions.artifacts.list(session_id):
if artifact.turn_id != turn_id or artifact.path != path:
continue
with client.beta.agents.sessions.artifacts.with_streaming_response.content(
artifact.id, session_id=session_id
) as response:
response.stream_to_file(destination)
return
raise FileNotFoundError(f"No artifact for {path!r} in turn {turn_id}")Consultez les pages de référence Lister les artefacts, Récupérer les métadonnées et Télécharger le contenu pour connaître les champs des requêtes et des réponses.
Téléchargez plusieurs fichiers
L’API permet de télécharger un artefact par requête ; elle ne propose pas de point de terminaison
pour le téléchargement par lots. Pour télécharger plusieurs fichiers, répertoriez les artefacts et demandez le
content de chaque fichier. Pour effectuer un seul téléchargement, demandez à l’agent de regrouper les résultats dans un fichier ZIP
situé dans /workspace/outputs, puis téléchargez cette archive sous forme d’un seul artefact.
Durée de vie des fichiers
Les artefacts publiés restent disponibles après l’expiration de l’environnement. Téléchargez tout ce que vous souhaitez conserver avant de supprimer la session.
Cette API ne permet ni d’importer ni de modifier des artefacts. Pour publier une nouvelle version, demandez à l’agent de mettre à jour le fichier et de terminer un nouveau tour. Utilisez l’identifiant du tour et le chemin pour distinguer les versions.
Supprimez un artefact lorsque vous n’avez plus besoin de la copie publiée. La suppression laisse intact le fichier présent dans l’environnement.
Limites des fichiers
| Opération sur les fichiers | Limite |
|---|---|
| Fichiers inclus lors de la création d’une session | 50 fichiers par requête. |
| Importation de contenu intégré | 5 MiB par fichier, mesurés avant l’encodage en base64. |
| Importations de contenu intégré dans une même requête de création | 10 MiB au total, mesurés avant l’encodage en base64. |
| Fichier copié depuis l’API Files | 50 MiB par fichier. |
| Artefact publié | 200 MiB par fichier. |
| Résultats publiés ensemble | 500 MiB au total. |