Получить доступ

Структурированный вывод

Основа с Junior

JSON по схеме вместо свободного текста — для интеграции модели с кодом.

Чтобы результат модели обрабатывал код, нужен строгий формат. Надёжный способ — структурированный вывод по JSON-схеме: провайдер ограничивает генерацию так, что ответ гарантированно соответствует схеме.

class Ticket(BaseModel):
    category: Literal["оплата", "доставка", "возврат", "другое"]
    urgent: bool
    summary: str

# SDK провайдеров принимают Pydantic-модель как схему ответа
ticket: Ticket = await llm.parse(messages, schema=Ticket)

Что важно знать

  • Просьба «ответь в JSON» в промпте работает не всегда; схема на стороне провайдера — надёжнее.
  • Валидировать результат всё равно: модель может заполнить поля правдоподобной ерундой.
  • Перечисления (Literal, enum) вместо свободных строк для категорий.
  • Поле с рассуждением перед ответом иногда повышает качество, но увеличивает расход токенов.
  • Для открытых моделей — ограниченная генерация (grammar, Outlines, режимы vLLM).

Критерии освоения

Junior ≈ 4 ч

  • Получает ответ модели в виде JSON по Pydantic-схеме и валидирует его

Практика. Извлечь из 20 писем клиентов категорию, срочность и номер заказа в JSON по схеме.

Middle ≈ 4 ч

  • Проектирует схему с перечислениями и обязательными полями так, чтобы снизить ошибки
  • Измеряет точность извлечения по полям на размеченном наборе

Практика. Довести точность извлечения на 100 размеченных письмах до заданного порога, сравнив 2 варианта схемы и промпта.

Вопросы с собеседований

← Вся карта «ИИ-инженер»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем