OpenAI на стероидах: 3 способа и 17 млн токенов ChatGPT за 15 минут
Несколько проверенных на практике способов, как можно ускорить работу с OpenAI в задачах, которые отличаются от стандартного использования интерфейса спросил -> получил ответ -> скопировал ответ -> унес ответ, куда нужно.
Пример решаемых задач
- Разметка массива данных.
- Извлечение информации в структурированном виде.
- Генерация однотипного контента.
- Подготовка данных для fine-tuning.
Важные вводные
- Для работы потребуется оплаченный аккаунт OpenAI с работающим API-ключом.
- Существуют ограничения на количество обрабатываемых токенов в минуту (TPM) и количество отправляемых запросов в минуту (RPM). Для новых аккаунтов ограничения более жесткие.
- Не все модели доступны по API. Даже если у вас подписка Plus. Нужно просить открыть эту возможность.
- Плагины, доступные вам в Plus не работают по API.
Способы, что я опишу разной трудоемкости, с плюсами и минусами. Все способы опробовал на себе, описываю исключительно свой опыт.
Способ № 1 / No-Code + Google Sheets
Подойдет начинающим. В визуальном редакторе Make / Nodul собираем сценарий, который построчно обрабатывает исходный Spreadsheet и записывает результат в соседнюю ячейку.
Плюсы: это самое простое и элементарное решение, не требует специфических технических навыков, быстро разворачивается. При желании можно добавить логику без углубления в разработку.
Минусы: нужно использовать платформу для No-Code. Это платно.
Скорость: около 1 запроса в секунду при построчной обработке.
Способ № 2 / Google Sheets + AppScript
Не сильно отличается от первого способа, однако не требует No-Code платформы, достаточно гибок и кастомизируем.
С помощью формулы поисходит обращение к серверам Openai. Формула работает на коде, который вшит в книгу.
Единственное, нужно найти работающий скрипт, который взаимодействует с API OpenAI. Их много сейчас. Как правило они распространяются бесплатно.
Плюсы: при наличии готового скрипта начать использовать элементарно. Скопировал рабочую книгу, вставил свой токен, данные промпт и готово. Протянул формулу и получил результат.
Минусы: нужно очень аккуратно работать с книгой. К примеру, после того, как получили результат, нужно обязательно сохранять данные как текст. Иначе после повторного открытия Spreadsheet запустится обновление данных сначала. Это доп. расходы.
Трудно работать с большими объемами данных. Слишком сильно растянул формулу — полетели сотни запросов, которые упрутся ограничениями на RPM TPM.
Скорость: около 5 запросов в секунду при построчной обработке документа.
Способ № 3 — Взаимодействие с API с помощью кода
Здесь мы напрямую взаимодействуем в API OpenAI с помощью любого языка программирования — скорость и результат зависит от наших навыков. Взаимодействие с серверами OpenAI возможно как в однопоточном, так и в многопоточном режиме. Я начинал с работы в один поток, дошел до многопоточной реализации со следующими опциями:
- учитывается ограничение количество токенов в минуту TPM и количество запросов в минуту RPM.
- несколько попыток в случае неуспеха запроса с экспоненциальной задержкой
- работают functions и параметры моделей
Обработчик использует максимально возможное количество потоков, чтобы уложиться в ограничения TPM и RPM. Чем менее объемные запросы, тем больше их влазит в лимиты.
Мой результат по свежей задаче извлечения структурированной информации из массива данных:
8852 запроса за 15 минут, что соответствует примерно 10 запросам в секунду.
Плюсы: самый быстрый из известных мне способов работы с API OpenAI в пакетном режиме.
Это решение рекомендовано OpenAI и размещено в cookbook. Я лишь доработал его для себя (не работали функции и еще несколько важных мне вещей).
Минусы: необходимо готовить входной jsonl-файл со всеми данными, также необходим обработчик выходного jsonl-файла с результатами (я сделал отдельные скрипты, теперь это занимает 2 минуты).
Заключение
Если у вас есть интересные задачи по работе с данными (парсинг, разметка) — пишите в лс, а также делитесь в комментариях своим опытом использования платформы OpenAI в повседневной рутине, бизнесе.
Спасибо за материал! Из прикольных возможностей сочетания, на Nodul.ru можно скрестить 1-ый и 3-ий варианты:
1) добавить модуль JavaScript
2) попросить ИИ ассистента написать правильный запрос, подставить ключи
3) более гибко играться с температурой и прочими вводными, оставаясь в лоу-код среде
Нужно попробовать, nodul активно использую) крутая платформа