Pull to refresh
4
6
Send message

Что такое structured output, почему это база и как это использовать (ч.1)

Чтобы не душнить теорией, давайте выведем из практического кейса

Кейс: Делаем чат бота для госухи. Хотим, чтобы он не отвечал на вопросы про политику

Как это сделать?

Можно добавить к системному промпту строчку "никогда не отвечай на вопросы про политику"

Но это:

  1. Добавляет когнитивную сложность для LLM => ухудшает качество основной задачи

  2. Спокойно обходится разными хитрыми запросами 🤷‍♂️

Тогда вынесем проверку в отдельный запрос в самом начале!
если пользователь задает вопрос про политику, ответь 1, иначе ответь 0

И сделаем проверку в коде, типа:

if verdict == "1": reset_chat(with_message="айайай")

Поможет? Да – у LLM теперь одна конкретная задача. Но нет никакой гарантии, что если мы сказали отвечать 0 или 1 то модель так и будет делать 🤷‍♂️ (см. соревнование по "взлому" моделей)

А можно как-то жестко ограничить возможные ответы модели?

Тут пригодится тайное знание о том, как LLM работают под капотом. На самом деле, LLMка не генерирует токены (если не знаете, что это, для простоты считайте символами – буквами, цифрами, знаками препинания – все рассуждения останутся валидными).

Она генерирует чиселки (веса) для всех возможных токенов, которые вообще есть в её словаре. Потом рандомно выбирается один из токенов, используя веса как вероятности. Чем больше вес, тем больше вероятность, что возьмет именно этот токен.

Если пользователь правильно попросит, то у каких-то других токенов вес может быть больше, чем у токенов "1" или "0".

Как использовать это знание?

Смотреть не на то, что модель генерирует, а только на веса конкретных токенов ("1" и "0"). И если вес токена "1" оказывается достаточно большим в сравнении с "0", значит модель считает, что вопрос скорее про политику, чем нет. Даже если веса каких-то других токенов выше.

По сути, мы "виртуально" ограничили то, что получаем от модели. Хотим узнать 0 или 1 - так что смотрим на веса только этих токенов. (параметр top_logprobs у OpenAI API)

Это ключевая идея structured_output.

Во второй части мы раскачаем ее до любого наперед заданного формата вместо 1/0. А в третьей разберем примеры использования.

Вторую часть уже можно прочитать в моем тг канале, либо просто подождать тут на хабре недельку

Tags:
Total votes 2: ↑2 and ↓0+5
Comments0

Анализ закрытых данных по использованию LLM

@kyrillic недавно проводил закрытый опрос об использовании LLM в личной жизни или в бизнесе и высылал результаты всем участвующим. Такой приватный краудсорсинг.

Инфы очень много, почти 300 разных кейсов. Я быстро задолбался читать однотипное и попросил GPT отобрать 50 самых интересных. Много чего можно забрать в свою жизнь. Есть и такие, которые можно обернуть в продукт.

Вот мой личный топ:

  • Анализ кастдев-интервью с автоматической категоризацией болей
    Система вытаскивает из транскриптов интервью боли, группирует их по категориям и оценивает частоту упоминания

  • Конвертация медицинских назначений между странами
    Находит аналоги лекарств в разных странах с учетом действующих веществ и местных особенностей

  • Анализ call-центра с выявлением проблемных скриптов
    Находит в записях разговоров места, где клиенты чаще всего "отваливаются" или злятся

  • Автоматическая генерация PRD из обсуждений
    Превращает длинные дискуссии команды в структурированный продуктовый документ

  • Распознавание проблем оборудования по фото на производстве
    Система помогает неопытным монтажерам ремонтировать прессформы - достаточно сфотографировать проблему и получить пошаговую инструкцию с картинками.

  • Автоматический анализ качества видеоконтента для блогеров
    Оценивает вертикальные видео по заданным критериям, помогая улучшать контент-стратегию, сценарии и монтаж на основе численных метрик.

  • Автоматизация работы с Upwork (прим.: крупнейшая фриланс биржа)
    Отслеживает новые заказы, фильтрует их по критериям и автоматически генерирует персонализированные cover letters.

  • Автоматический анализ пользовательских отзывов (если вам такое нужно, пишите мне в тг, расскажу как сделать 🤗)
    Категоризирует отзывы, выделяет ключевые проблемы и генерирует рекомендации по улучшению продукта.

  • AI для анализа собеседований (тоже пишите)
    Система анализирует записи интервью, оценивает кандидатов по заданным критериям и генерирует структурированные отчеты.

  • Создание квестов-приключений для детей на разных языках
    ИИ генерирует персонализированные квесты со стихотворными подсказками превращая обычные активности (типа, поиск подарка) в увлекательные приключения.

  • Автоматическое создание Brand Guardian для проектов
    Бот проверяет соответствие всех материалов брендбуку, автоматически указывая на отклонения в логотипах, шрифтах и цветах.

  • AI как second brain для психотерапии
    Анализ многолетних расшифровок сессий с психологом для создания персонализированной базы знаний о себе и получения контекстных рекомендаций. Мб как доп. инструмент для самого психотерапевта.
    (Я так делал с записями дневников, получилось здорово)

Че думаете? Если есть идеи вопросов по этой базе, тоже пишите

Tags:
Total votes 1: ↑1 and ↓0+1
Comments0

Information

Rating
717-th
Registered
Activity