Versions et aliases"→"Versions et alias

Les prompts et les skills évoluent au fil du temps : un expert métier réécrit des instructions ; un skill reçoit un nouveau template. Les versions conservent chaque modification, et les alias permettent à votre code de suivre la version que vous choisissez. Vous pouvez ainsi tester une modification en staging, puis la faire passer en production sans déployer de nouvelle version de code.

Versions

Versions

Chaque modification du contenu d'un prompt ou d'un skill crée une nouvelle version numérotée : la version 1 à la création, puis 2, 3 et ainsi de suite. Une version ne change plus après sa création. Chaque version peut comporter des notes qui expliquent ce qui a changé.

  • Dans Studio, l'enregistrement d'une modification du contenu crée une version. Consultez Créer un prompt dans Studio et Créer un skill dans Studio.
  • Via l'API, create_version s'en charge. Si le contenu est identique à celui d'une version existante, aucune nouvelle version n'est créée, et la réponse définit deduplicated à true.

Modifier le titre, la description ou les paramètres de partage ne crée pas de version.

version = client.beta.prompts.create_version(
    prompt_id=prompt_id,
    definition={"content": "Summarize in three bullet points: {{text}}"},
    notes="Bullet points instead of a paragraph",
)
print(version.version)

for v in client.beta.prompts.list_versions(prompt_id=prompt_id).data:
    print(v.version, v.notes, v.aliases)
Alias

Alias

Un alias est un nom qui pointe vers une version donnée, comme staging ou production. Votre code récupère l'alias, pas un numéro de version. Pour modifier ce qu'utilise votre application, faites pointer l'alias vers une autre version : la récupération suivante renvoie cette version.

Un schéma courant :

  1. Faites pointer staging vers une nouvelle version et testez-la.
  2. Une fois les tests réussis, faites pointer production vers la même version.
  3. Pour revenir en arrière, refaites pointer production vers la version précédente.

Vous pouvez attribuer des alias lors de la création d'un prompt ou d'une version, ou plus tard sur une version existante. Définir les alias d'une version remplace la liste existante : passez une liste vide pour tous les supprimer.

client.beta.prompts.update_version_metadata(
    prompt_id=prompt_id,
    version=3,
    aliases={"values": ["staging"]},
)
Récupérer une version

Récupérer une version

Sans version ni alias, la récupération renvoie la version la plus récente. En production, récupérez via un alias ou une version fixe, pour que le comportement de votre application ne change que lorsque vous le décidez.

latest = client.beta.prompts.get(prompt_id=prompt_id)
pinned = client.beta.prompts.get(prompt_id=prompt_id, version=3)
production = client.beta.prompts.get(prompt_id=prompt_id, alias="production")
Skills

Skills

Les skills fonctionnent de la même manière, avec client.beta.skills et skill_id. Une version de skill contient sa description, ses instructions et ses fichiers.

PromptsSkills
Créer une versionPOST /v2/prompts/{prompt_id}/versionsPOST /v2/skills/{skill_id}/versions
Lister les versionsGET /v2/prompts/{prompt_id}/versionsGET /v2/skills/{skill_id}/versions
Récupérer par version ou par aliasGET /v2/prompts/{prompt_id}?version= ou ?alias=GET /v2/skills/{skill_id}?version= ou ?alias=
Définir les alias et les notesPATCH /v2/prompts/{prompt_id}/versions/{version}PATCH /v2/skills/{skill_id}/versions/{version}

Pour aller plus loin