Состояние (State)
What state is, how to structure it, and how to give a System One model the context it needs.
Что такое состояние, как его структурировать и как предоставить модели System One необходимый контекст.
Состояние (State) — это контент, который вы передаете модели System One для оценки. Им может быть сообщение службы поддержки, фрагмент текста или текущее состояние вашего приложения. Вы передаете его в поле state API-запроса вместе с вопросами, на которые хотите получить ответы.
Каждый запрос оценивает одно состояние относительно одного или нескольких вопросов. Все вопросы видят одно и то же состояние и оцениваются независимо. В одном запросе можно комбинировать вопросы Choice, Score и Noul.
Состояние может быть простой строкой или структурированным значением JSON
Самое простое состояние — обычная строка:
state = "My card was charged twice."
Состояние также может быть объектом или массивом JSON, содержащим связанный контекст, примеры и другую информацию, помогающую модели ответить на сопутствующие вопросы. Представьте состояние как материалы, которые вы предоставили бы коллегии экспертов перед тем, как попросить их вынести суждение. В Python передавайте соответствующую строку, словарь или список напрямую в client.system_one(state=...).
| Формат | Подходит для | Пример |
|---|---|---|
| Строка (String) | Сообщения, статьи или отрывка текста | "My card was charged twice." |
| Объект (Object) | Именованных полей, связанных записей или состояния приложения | {"message": "My card was charged twice.", "order_id": "A-104"} |
| Массив (Array) | Последовательности сообщений или записей | ["Hi", "My customer number is TS1337.", "My card was charged twice."] |
Для большинства запросов используйте объект, чтобы каждая часть состояния имела описательное имя, а связи между ними оставались понятными. Строка подходит в тех случаях, когда сценарий использования прост и требует только одного фрагмента текста.
{
"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."
}
Этот объект представляет собой единое состояние, даже несмотря на то, что содержит переписку, заказ и правила сервиса. Объединяйте связанную информацию вместе, когда решение требует сопоставления этих частей.
Отделяйте контент от вопросов
Состояние содержит контент и подтверждающие факты. Вопросы определяют суждения, которые модель должна вынести относительно этих материалов. Например, храните текст запроса на возврат и правила сервиса в состоянии, а затем спросите модель, запросил ли клиент возврат и соответствует ли это правилам.
Рекомендации по инструкциям, критериям, типам вопросов и отправке нескольких вопросов к одному состоянию см. в разделе Примитивы (Вопросы).
Схему запросов см. в справочнике API, а сведения об установке, типизированных входных данных и обработке ответов — в разделе клиентские SDK.