ДокументацияКонцепции TypeSafeСостояние (State)

Состояние (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

Самое простое состояние — обычная строка:

PYTHON THEME={NULL} api.wedstack.ru/v1
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."]

Для большинства запросов используйте объект, чтобы каждая часть состояния имела описательное имя, а связи между ними оставались понятными. Строка подходит в тех случаях, когда сценарий использования прост и требует только одного фрагмента текста.

Jev принимает только текст. Состояние должно быть строкой, JSON-объектом или массивом текстовых значений. Изображения, аудио и видео пока не поддерживаются. Основной язык обучения Jev — английский; другие языки принимаются, но в настоящее время имеют более низкую точность — см. [Модели](/docs/models#language-support).
JSON TITLE="ДИАЛОГ СО СЛУЖБОЙ ПОДДЕРЖКИ В КАЧЕСТВЕ СОСТОЯНИЯ" THEME={NULL} api.wedstack.ru/v1
{
  "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.