Zustand
Was Zustand ist, wie du ihn strukturierst und wie du einem System One-Modell den Kontext gibst, den es braucht.
Zustand ist der Inhalt, den du ein System One-Modell auswerten lässt. Das kann eine Support-Nachricht, ein Textabschnitt oder der aktuelle Zustand deiner Anwendung sein. Du übergibst ihn im Feld state einer API-Anfrage, zusammen mit den Fragen, die beantwortet werden sollen.
Jede Anfrage wertet einen Zustand gegen eine oder mehrere Fragen aus. Alle Fragen sehen denselben Zustand und werden unabhängig voneinander ausgewertet. Du kannst Choice-, Score- und Noul-Fragen in einer Anfrage mischen.
Zustand kann eine einfache Zeichenkette oder ein strukturierter JSON-Wert sein
Der einfachste Zustand ist eine gewöhnliche Zeichenkette:
state = "My card was charged twice."
Der Zustand kann auch ein JSON-Objekt oder -Array mit verwandtem Kontext, Beispielen und weiteren Informationen sein, die dem Modell helfen, die zugehörigen Fragen zu beantworten. Stell dir den Zustand als das Material vor, das du einem Expertengremium vorlegst, bevor du es um ein Urteil bittest. In Python übergibst du die entsprechende Zeichenkette, das Dictionary oder die Liste direkt an client.system_one(state=...).
| Format | Geeignet für | Beispiel |
|---|---|---|
| Zeichenkette | Eine Nachricht, ein Artikel oder ein Textabschnitt | "My card was charged twice." |
| Objekt | Benannte Felder, zugehörige Datensätze oder Anwendungszustand | {"message": "My card was charged twice.", "order_id": "A-104"} |
| Array | Eine Folge von Nachrichten oder Datensätzen | ["Hi", "My customer number is TS1337.", "My card was charged twice."] |
Verwende für die meisten Anfragen ein Objekt, damit jeder Teil des Zustands einen beschreibenden Namen hat und seine Beziehungen klar bleiben. Eine Zeichenkette eignet sich, wenn der Anwendungsfall einfach ist und nur ein Stück Text benötigt.
Eine Support-Konversation als Zustand
{
"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."
}
Dieses Objekt ist ein einziger Zustand, obwohl es eine Konversation, eine Bestellung und eine Richtlinie enthält. Fasse zusammengehörige Informationen zusammen, wenn die Entscheidung den Vergleich dieser Teile erfordert.
Inhalt und Fragen trennen
Der Zustand enthält den Inhalt und die stützenden Fakten. Fragen definieren die Urteile, die das Modell über dieses Material fällen soll. Behalte zum Beispiel die Erstattungsanfrage und die Richtlinie im Zustand und frage dann, ob der Kunde eine Erstattung verlangt hat und ob die Richtlinie sie stützt.
Siehe Primitive (Fragen) für Hinweise zu Anweisungen, Kriterien, Fragetypen und dazu, wie du mehrere Fragen zu einem Zustand stellst.
Siehe die API-Referenz für das Anfrageschema und die Client-SDKs für Installation, typisierte Eingaben und die Behandlung von Antworten.