От текста до SQL: полный гид по GPT-4o и Python от freeCodeCamp.org

freeCodeCamp.org 77,7 тыс. 1 ч 42 мин 4 мин 03.09.2024
Главное

Современные технологии анализа данных перешли от обработки простых текстовых массивов к работе с мультимодальными структурами. В новом масштабном руководстве от freeCodeCamp.org Эмануэль Труммер, адъюнкт-профессор Корнелльского университета, демонстрирует, как возможности модели GPT-4o (Omni) и языка Python позволяют автоматизировать классификацию текстов, описание изображений, транскрибацию аудио и создание интеллектуальных интерфейсов для баз данных SQL.

🛠️ Подготовка окружения и первая настройка 0:00

Работа с мультимодальными данными требует интеграции с современными API. По словам Труммера, модель GPT-4 Omni совершила революцию, объединив обработку текста, кода, изображений и звука в рамках одного интерфейса . Для начала работы необходимо подготовить рабочую среду Python:

Автор подчеркивает, что использование переменных окружения является лучшей практикой, так как это избавляет от необходимости жестко прописывать (hardcode) чувствительные данные в коде, что повышает безопасность приложений .

📝 Анализ тональности текста: от слов к смыслу 5:49

Классификация текста по эмоциональной окраске (Sentiment Classification) — классическая задача, которую Труммер предлагает решать с помощью GPT-4o. Основная идея заключается в подаче текстового отзыва на вход модели и получении четкого ответа: «положительный» или «отрицательный» .

Процесс реализации включает создание объекта client и формирование эффективного промпта. По мнению Труммера, качественный промпт для классификации должен состоять из трех частей:

  1. Входной текст (непосредственно отзыв).
  2. Инструкция (что именно нужно сделать).
  3. Инструкция по форматированию (в каком виде выдать ответ, например, только одно слово) .

Для вызова модели используется метод client.chat.completions.create. Важной деталью является структура сообщений (messages), где каждому блоку присваивается роль: user (запрос пользователя), assistant (ответ модели) или system (глобальные установки поведения) .

Масштабирование через Pandas

При переходе от одного примера к анализу целых датасетов Труммер использует библиотеку Pandas. Это позволяет загружать файлы CSV и применять функцию классификации ко всей колонке данных одновременно . Автор отмечает, что хотя модель в большинстве случаев строго следует формату, иногда она может добавлять лишние пояснения, что требует дополнительной настройки параметров или уточнения промпта .

🖼️ Компьютерное зрение и анализ изображений 32:32

GPT-4o позволяет анализировать визуальный контент напрямую через API. Труммер демонстрирует создание системы «вопрос-ответ» для изображений. В отличие от чисто текстовых запросов, здесь структура сообщения становится сложнее: поле content превращается в список, содержащий как текстовый вопрос, так и URL-адрес изображения .

Возможности мультимодального анализа:

По результатам тестов, GPT-4o успешно выделяет категории для сравнения: тип фруктов, цвет, наличие листвы, фон и даже художественный стиль (фотография против иллюстрации) . Труммер утверждает, что модель крайне надежна при работе с сообщениями, содержащими смешанные типы данных .

🎙️ Транскрибация аудио с помощью Whisper 52:16

Несмотря на то что GPT-4o заявлена как полностью мультимодальная, на момент записи курса Труммер рекомендует использовать специализированную модель Whisper для преобразования речи в текст через Python API . Это необходимо для таких задач, как создание субтитров или анализ записей звонков.

Технический процесс транскрибации:

В качестве примера Труммер использует цитату из романа Пауло Коэльо «Алхимик». Модель безошибочно распознает текст: «Two years ago, right here on this spot, I had a recurrent dream too» .

📊 Интеллектуальный SQL-интерфейс для баз данных 1:00:25

Одной из самых сложных тем курса является анализ больших табличных данных. Труммер объясняет, что подавать огромные таблицы напрямую в LLM — плохая идея: это слишком дорого из-за лимитов токенов и не всегда эффективно .

Вместо этого предлагается использовать подход «Text-to-SQL»:

  1. Пользователь задает вопрос на естественном языке.
  2. LLM переводит его в SQL-запрос.
  3. Python выполняет запрос в базе данных (например, SQLite).
  4. Пользователь получает готовый ответ .

Автоматизация извлечения схемы

Чтобы модель могла составить корректный запрос, ей нужно знать структуру БД. Труммер создает функцию, которая автоматически извлекает команды CREATE TABLE из системной таблицы sqlite_master . Эти данные добавляются в промпт, предоставляя модели контекст о названиях колонок и типах данных .

Создание интерактивного чата с данными

Финальным этапом урока становится разработка полноценного цикла (loop), где пользователь может в режиме реального времени задавать вопросы к базе данных видеоигр . Система успешно справляется с запросами разной сложности:

Труммер заключает, что использование LLM в качестве «переводчика» между человеческим языком и формальными запросами открывает путь к созданию мощных инструментов анализа данных даже для тех, кто не владеет SQL .

💬 Цитаты

«Модели нового поколения, такие как GPT-4 Omni, являются мультимодальными, что позволяет им обрабатывать не только текст, но и изображения или звуковые файлы.»

Эмануэль Труммер 00:55

«Количество токенов определяет, сколько денег вы заплатите за обработку ваших данных.»

Эмануэль Труммер 24:18
👥 Спикер
📚 Упомянутые книги
🔗 Упомянутые сайты и проекты
📖 Термины
GPT-4o (Omni)
Мультимодальная модель OpenAI, способная одновременно понимать текст, аудио и видео.
Токен
Базовая единица текста, используемая LLM для обработки (примерно 3/4 слова в английском языке).
Text-to-SQL
Технология перевода запроса на естественном языке в формальный код SQL.
Whisper
Модель автоматического распознавания речи от OpenAI.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект GPT-4o OpenAI Python Whisper SQL