Answer Public

Получение генеративных ответов.

https://supportgpt.api.cloud.yandex.net/api/v1/answer

Метод: POST.

Схема запроса (Request Body schema: application/json):

  • service — Строковый идентификатор сервиса (строка, обязательное).
  • product — Строковый идентификатор продукта (строка, обязательное).
  • dialog — Диалог пользователя и оператора (обязательное):
    • role — Тип сообщения (строка, обязательное).
    • text — Текст сообщения (строка, обязательное).
    • id — Идентификатор сообщения в свободном виде (число, опциональное).
    • created — Дата и время создания сообщения в ISO-формате YYYY-mm-ddTHH:MM:SS (строка, опциональное).
  • meta_features — Дополнительные метаданные. Подробнее см. раздел Гибкая фильтрация по метаданным (опциональное).
  • index_name — Имя индекса, на основании которого нужно сгенерировать ответ. В случае отсутствия будет взято имя по умолчанию, которое зависит от service/product (строка, опциональное).
  • options — Дополнительные параметры процессинга (опциональное):
    • filter_settings — Общие параметры для фильтрации документов (опциональное):
      • filter_by_meta — Параметры для фильтрации по метаданным документов (опциональное):
        • property name — Массив строк или чисел (опциональное).
      • document_ids — Id документов, среди которых будет выполняться поиск. Если список пустой, поиск будет по всем ids (массив строк, опциональное).
  • scoring — Провести скоринг сгенерированного ответа (логическое значение, опциональное).
  • candidates_top_k — Количество чанков, которые передаются в модель. Значение по умолчению 10 (опциональное).

Схема ответа:

  • answers — Список ответов модели (обязательное):
    • answer — Текст ответа (строка, обязательное).
    • meta — Дополнительные данные по ответу (объект, обязательное):
      • rag_docs — Опционально: данные по релевантным документам из индекса (обязательное):
        • source_id — Id источника документа в базе клиента (число, опциональное).
      • answer_annotations — Аннотации к ответам (обязательное):
        • label — Идентификатор аннотации (строка, обязательное).
        • title — Заголовок аннотации (строка, обязательное).
        • type — Тип аннотации. Сейчас только source_annotation (строка, обязательное).
        • text — Текст аннотации (строка, обязательное).
        • answer_position — Положение аннотации в тексте (объект, обязательное):
          • begin — Позиция начала фрагмента текста (число, обязательное).
          • end — Позиция конца фрагмента текста (число, обязательное).
        • url — Ссылка на источник (строка, опциональное).
      • source_documents — Опционально: источники документов, из которых был выбран ответ (обязательное):
        • source_id — Id источника документа в базе клиента (строка, обязательное).
        • title — Заголовок документа (строка, опциональное).
      • request_id — Идентификатор запроса x-request-id из хедера (строка, опциональное).
      • scoring — Скоринг сгенерированного ответа (число, опциональное).

Пример запроса:

{
  "service": "your_service",
  "product": "your_product",
  "dialog": [
    {
      "role": "operator",
      "text": "Добрый день, чем я могу помочь?"
    },
    {
      "role": "client",
      "text": "Помогите решить такую-то техническую проблему"
    }
  ],
  "index_name": "your_index_name",
  "scoring": true
}

Пример ответа:

{
  "answers": [
    {
      "answer": "Чтобы решить техническую проблему по вашему вопросу, надо выполнить такие-то действия",
      "meta": {
        "rag_docs": [
          {
            "source_id": 42
          },
          {
            "source_id": 43
          }
        ],
        "answer_annotations": [
          {
            "label": "1",
            "title": "Например, имя документа",
            "type": "source_annotation",
            "text": "Фрагмент из инструкции, как сделать что-то",
            "answer_position": {
              "begin": 42,
              "end": 78
            },
            "url": "https://example.com"
          }
        ],
        "source_documents": [
          {
            "source_id": "12345daaeaee11efb64d2e8712812345_0",
            "title": "Название документа"
          }
        ],
        "request_id": "string",
        "scoring": 4
      }
    }
  ]
}