État
Ce qu’est l’état, comment le structurer et comment donner à un modèle System One le contexte dont il a besoin.
L’état est le contenu que tu demandes à un modèle System One d’évaluer. Cela peut être un message de support, un passage de texte ou l’état actuel de ton application. Tu le passes dans le champ state d’une requête API, avec les questions auxquelles tu veux qu’il réponde.
Chaque requête évalue un état par rapport à une ou plusieurs questions. Toutes les questions voient le même état et sont évaluées indépendamment. Tu peux mélanger des questions Choice, Score et Noul dans une même requête.
L’état peut être une simple chaîne ou une valeur JSON structurée
L’état le plus simple est une simple chaîne :
state = "My card was charged twice."
L’état peut aussi être un objet ou un tableau JSON contenant du contexte associé, des exemples et d’autres informations qui aident le modèle à répondre aux questions correspondantes. Vois l’état comme le matériau que tu présenterais à un panel d’experts avant de leur demander de porter un jugement. En Python, passe la chaîne, le dictionnaire ou la liste correspondant directement à client.system_one(state=...).
| Format | Utile pour | Exemple |
|---|---|---|
| Chaîne | Un message, un article ou un passage | "My card was charged twice." |
| Objet | Des champs nommés, des enregistrements liés ou l’état de l’application | {"message": "My card was charged twice.", "order_id": "A-104"} |
| Tableau | Une séquence de messages ou d’enregistrements | ["Hi", "My customer number is TS1337.", "My card was charged twice."] |
Utilise un objet pour la plupart des requêtes, afin que chaque partie de l’état ait un nom descriptif et que ses relations restent claires. Une chaîne convient lorsque le cas d’usage est simple et ne nécessite qu’un seul morceau de texte.
Une conversation de support comme état
{
"ticket": {
"subject": "Duplicate charge",
"messages": [
{"from": "customer", "text": "I was charged twice for order A-104. Please refund the duplicate."},
{"from": "support", "text": "We are checking the charges."}
]
},
"order": {
"id": "A-104",
"charges": [
{"amount_usd": 49, "status": "captured"},
{"amount_usd": 49, "status": "captured"}
]
},
"refund_policy": "Duplicate charges are eligible for a refund."
}
Cet objet est un seul état, même s’il contient une conversation, une commande et une politique. Regroupe les informations liées lorsque la décision exige de comparer ces parties.
Séparer le contenu des questions
L’état contient le contenu et les faits qui l’étayent. Les questions définissent les jugements que le modèle doit porter sur ce matériau. Par exemple, garde la demande de remboursement et la politique dans l’état, puis demande si le client a réclamé un remboursement et si la politique le soutient.
Voir Primitives (questions) pour des conseils sur les instructions, les critères, les types de questions et la façon de poser plusieurs questions sur un même état.
Voir la référence de l’API pour le schéma de requête et les SDK clients pour l’installation, les entrées typées et le traitement des réponses.