September 6, 2023

Как использовать плагин ChatGPT Code Interpreter для эффективной работы с кодом

ChatGPT покорил весь мир своими замечательными способностями генерировать тексты. Сейчас он продолжает удивлять пользователей: благодаря недавно появившейся функции Интерпретатор кода чат-бот получил возможность рисовать графики, карты и преобразовывать изображения в видео. Эта функция была запущена OpenAI 6 июля и стала эксклюзивной для премиум-подписчиков ChatGPT Plus.

В этой статье на нескольких примерах показано, как можно использовать функцию интерпретатора кода в ChatGPT.

Плагины ChatGPT


Code Interpreter, или Интерпретатор кода – это один из множества плагинов ChatGPT для расширения возможностей бота. Так, плагины Kayak и Expedia позволяют отвечать на вопросы о путешествиях в режиме реального времени. Все дополнительные плагины и расширения можно найти в магазине ChatGPT.

Фактически Code Interpreter является одним из двух плагинов, официально опубликованных самим OpenAI. Плагины – это инструменты, разработанные специально для того, чтобы помочь ChatGPT получить доступ к актуальной информации, выполнить вычисления или использовать сторонние сервисы.

Другой плагин, опубликованный OpenAI до Code Interpreter, – Web browsing, предназначенный для оптимизированного поиска и просмотра веб-страниц. В настоящее время он недоступен, поскольку OpenAI решили прекратить поддержку плагина из-за проблем с безопасностью и конфиденциальностью.

Что такое интерпретатор кода ChatGPT?

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

Говоря простым языком, ChatGPT подключается к интерпретатору Python в среде песочницы (Sandbox environment), в ней же пишет и выполняет код и возвращает результаты. Если код не срабатывает (а это случается достаточно часто), ChatGPT может автоматически считать фидбек и войти в цикл, чтобы исправить ошибки и оптимизировать код.

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

Кроме того, в этот чат можно отправлять файлы. Так, если вашему коду нужно прочитать данные из файла, вы можете его отправить, и когда процесс обработки будет завершен, вы также получите ответ в виде готового файла. В настоящее время ограничение на размер входного файла составляет примерно 500 МБ.

Вот простой пример работы Code Interpreter из официальной документации OpenAI:

Начало работы с Интерпретатором кода


Начать работу с интерпретатором кода очень просто, но для доступа к этой функции необходимо иметь учетную запись с премиум подпиской на ChatGPT Plus. Однако даже если у вас есть подписка, по умолчанию эта функция недоступна, так как она находится в бета-версии, и ее необходимо включить в настройках.

Если у вас уже есть подписка, достаточно щелкнуть на значок настроек в левом углу крана и включить кнопку-тумблер для Code Interpreter:

Где чаще всего используется Code Interpreter


Наиболее распространенным вариантом использования плагина является анализ данных. Если вы попросите ChatGPT найти что-то интересное в ваших данных, он может изучить разные источники информации, например финансовые отчеты, данные о состоянии здоровья или о местоположении, и дать вам некоторые выводы. Специалисты, работающие в сфере экономики и финансов, находят его полезным для решения таких задач, как изучение котировок акций или планирование бюджета. Исследователи также используют этот инструмент для создания уникальных визуализаций данных и дашбордов. Например, этот интерактивный график численности населения мира был создан с помощью интерпретатора кода ChatGPT.

Source: https://towardsdatascience.com/chatgpt-code-interpreter-how-it-saved-me-hours-of-work-3c65a8dfa935

Несмотря на то, что сейчас интерпретатор кода в основном задействован в анализе данных, теоретически любая задача, требующая логики и вычислений, должна быть ему под силу. По результатам первых исследований пользовательского опыта OpenAI определил те области, где плагин был особенно полезен:

  • Решение математических задач (как количественных, так и качественных)
  • Анализ и визуализация данных
  • Конвертация файлов


Примеры использования интерпретатора кода ChatGPT


Пример 1. Анализ данных на игрушечном наборе данных


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

Я загружу csv-файл и попрошу ChatGPT проанализировать данные. Перед этим нам необходимо выбрать пункт Code Interpreter из выпадающего списка вверху (если у вас нет ChatGPT Plus, то вы даже не увидите выпадающего списка).

При выборе Code Interpreter в окне сообщений появится знак "плюс", с помощью которого можно загрузить файлы.

Я уточнил параметры и попросил ChatGPT проанализировать датасет и предоставить интерактивную визуализацию.

После ввода запроса интерпретатор кода ChatGPT начал обработку. Я не могу показать весь вывод, поскольку он довольно большой, но вот некоторые результаты, полученные благодаря плагину.

Я уже работал с этим набором данных и могу сказать, что это очень хороший результат, особенно учитывая высокую скорость обработки. Здесь также представлены выводы, которые мы запрашивали:

Это впечатляющий результат. Однако датасет относительно прост: 6 000 строк и 7 столбцов, еще и без выбросов – все чисто и понятно. Давайте попробуем провести такой же эксперимент на более реальном наборе данных.

Пример 2. Анализ данных большого датасета


В этом примере используется набор данных канадской инфляции CPI от StatsCan. Вот как выглядит реальный набор данных – он содержит сырые данные, имеет дубликаты, пропущенные значения, большое количество закодированной информации и географические координаты.

Посмотрим, какие выводы можно сделать на основе этого набора данных. Я попросил чат-бот проанализировать датасет и показать 2-3 интересные визуализации, предварительно уточнив технические детали.

1. Предобработка данных

На этом этапе ChatGPT просматривает столбцы, ищет нулевые или некорректные значения и выбросы. Он также делает предположения, почему эти данные попали в датасет и предлагает некоторые шаги по преобразованию или избавлению от них.

2. Очистка данных и исследовательский анализ

Здесь бот представляет первичные инсайты по этапу предобработки данных и предлагает шаги для очистки и дальнейшего исследовательского анализа и визуализации датасета.

3. Визуализация данных

Бот визуализирует график, на котором показаны уровни инфляции, и описывает выводы по нему.

4. Извлечение информации и получение выводов

А здесь бот представляет развернутый анализ результатов по разным параметрам.

Это впечатляет. ChatGPT проделал большую работу по анализу данных, их очистке, поиску подходящей визуализации, написанию кода на языке Python для создания этой визуализации и составлению выводов на ее основе. Результат получился не идеальным, но очень многообещающим по сравнению со всеми инструментами автоматизированного анализа, которые мы видели в прошлом.

Пример 3. Анимация изображений с помощью ChatGPT


В бот также можно также загрузить изображение и попросить ChatGPT отредактировать его. Например, я загружу изображение яблока и попрошу его анимировать.

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

Итоговая анимация с яблоком. Результат впечатляет!

Заключение


Интерпретатор кода ChatGPT от OpenAI – это принципиально новый инструмент, расширяющий возможности чат-бота, управляемого искусственным интеллектом. Включив интерпретатор кода, ChatGPT получает возможность писать и процессить компьютерный код, что позволяет ему выполнять такие сложные задачи, как вычисления, анализ данных и создание визуализаций.

Он не только повышает точность и аккуратность ответов ChatGPT, но и делает работу пользователей более интерактивной, удобной и быстрой. Интерпретатор кода открывает перед пользователями широкие возможности – от анализа данных до решения математических задач – и делает ChatGPT еще более мощным и универсальным инструментом для работы.