Документация

Состояние

Что такое состояние, как его структурировать и как дать модели System One нужный ей контекст.

Состояние — это содержимое, которое вы просите модель System One оценить. Это может быть сообщение в поддержку, фрагмент текста или текущее состояние вашего приложения. Вы передаёте его в поле state запроса к API вместе с вопросами, ответы на которые хотите получить.

Каждый запрос оценивает одно состояние относительно одного или нескольких вопросов. Все вопросы видят одно и то же состояние и оцениваются независимо друг от друга. Вы можете смешивать вопросы Choice, Score и Noul в одном запросе.

Состояние может быть простой строкой или структурированным значением JSON

Простейшее состояние — это обычная строка:

state = "My card was charged twice."

Состояние также может быть объектом или массивом JSON со связанным контекстом, примерами и другой информацией, которая помогает модели ответить на связанные вопросы. Представьте состояние как материал, который вы показали бы группе экспертов, прежде чем попросить их вынести суждение. В Python передайте соответствующую строку, словарь или список напрямую в client.system_one(state=...).

Формат Для чего подходит Пример
Строка Сообщение, статья или фрагмент "My card was charged twice."
Объект Именованные поля, связанные записи или состояние приложения {"message": "My card was charged twice.", "order_id": "A-104"}
Массив Последовательность сообщений или записей ["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 для установки, типизированных входных данных и обработки ответов.