Sketch: AI код-пишущий помощник для pandas
Sketch представляет собой AI код-пишущий помощник, специально разработанный для пользователей pandas. Он обладает уникальной способностью понимать контекст ваших данных, что значительно повышает релевантность предлагаемых советов.
Особенности
Быстрая интеграция
Sketch можно использовать всего за несколько секунд, и для этого не требуется добавлять плагин в вашу интегрированную среду разработки (IDE). Все, что нужно - это выполнить простую команду установки: pip install sketch
.
Различные типы промптов
- .sketch.ask: Это базовая система вопрос-ответ на Sketch. Она возвращает ответ в текстовом виде, основанный на сводных статистиках и описании данных. Например, можно спросить:
df.sketch.ask("Which columns are integer type?")
для определения столбцов с целочисленным типом. - .sketch.howto: Основной "код-пишущий" промпт в Sketch. Он возвращает блок кода, который можно скопировать и использовать в качестве начальной (или конечной) точки для решения любых задач с данными. Например, можно запросить:
df.sketch.howto("Plot the sales versus time")
для построения графика продаж по времени. - .sketch.apply: Более продвинутый промпт, полезный для генерации данных. Например, можно использовать его для разбора полей, генерации новых признаков и т.д. Для использования этого промпта необходимо настроить бесплатный аккаунт в OpenAI и установить переменную окружения с ключом API.
Использование
Стандартный рабочий процесс
Вот пример "стандартного" (гипотетического) рабочего процесса анализа данных с использованием Sketch:
- Каталогизация данных: Общее маркирование (например, идентификация персональных идентификационных данных - PII), генерация метаданных (названия и описания).
- Инженерия данных: Очистка и маскирование данных (соблюдение требований), создание и извлечение производных признаков.
- Анализ данных: Задавать вопросы о данных, визуализировать данные.
Работа с промптами
Как уже упоминалось, для работы с разными типами промптов есть свои способы. После установки Sketch и импорта его в проект, можно обращаться к соответствующим методам на основе типа задачи.
Работа в локальном режиме
Sketch также позволяет работать в чисто локальном режиме. Для этого можно использовать несколько предварительно построенных моделей от Hugging Face (в настоящее время MPT-7B и StarCoder). Для этого необходимо выполнить настройку трех переменных окружения:
os.environ['LAMBDAPROMPT_BACKEND'] = 'StarCoder'
os.environ['SKETCH_USE_REMOTE_LAMBDAPROMPT'] = 'False'
os.environ['HF_ACCESS_TOKEN'] = 'your_hugging_face_token'
Как работает Sketch
Sketch использует эффективные алгоритмы приближения (data sketches) для быстрого суммирования ваших данных и подачи этой информации в языковые модели. В настоящее время он делает это путем суммирования столбцов и записи этих сводных статистик в качестве дополнительного контекста для использования в код-пишущем промпте.
В будущем планируется подавать эти "скетчи" непосредственно в специально разработанные "данные + язык" фундаментальные модели для получения более точных результатов.
Sketch - это полезный инструмент для всех, кто работает с данными в Python и использует pandas. Он упрощает процесс написания кода и работы с данными, делая его более эффективным и информативным.