OpenAI на стероидах: 3 способа и 17 млн токенов ChatGPT за 15 минут

Когда решил разметить данные в одном окне chat.openai.com
Когда решил разметить данные в одном окне chat.openai.com

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

Пример решаемых задач

  • Разметка массива данных.
  • Извлечение информации в структурированном виде.
  • Генерация однотипного контента.
  • Подготовка данных для fine-tuning.

Важные вводные

  • Для работы потребуется оплаченный аккаунт OpenAI с работающим API-ключом.
  • Существуют ограничения на количество обрабатываемых токенов в минуту (TPM) и количество отправляемых запросов в минуту (RPM). Для новых аккаунтов ограничения более жесткие.
  • Не все модели доступны по API. Даже если у вас подписка Plus. Нужно просить открыть эту возможность.
  • Плагины, доступные вам в Plus не работают по API.

Способы, что я опишу разной трудоемкости, с плюсами и минусами. Все способы опробовал на себе, описываю исключительно свой опыт.

Способ № 1 / No-Code + Google Sheets

Подойдет начинающим. В визуальном редакторе Make / Nodul собираем сценарий, который построчно обрабатывает исходный Spreadsheet и записывает результат в соседнюю ячейку.

Пример сценария в Make за 2 минуты
Пример сценария в Make за 2 минуты

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

Минусы: нужно использовать платформу для No-Code. Это платно.

Скорость: около 1 запроса в секунду при построчной обработке.

Способ № 2 / Google Sheets + AppScript

Не сильно отличается от первого способа, однако не требует No-Code платформы, достаточно гибок и кастомизируем.

Пример Spreadsheet c формулой, которая ходит в OpenAI
Пример Spreadsheet c формулой, которая ходит в OpenAI

С помощью формулы поисходит обращение к серверам Openai. Формула работает на коде, который вшит в книгу.

Единственное, нужно найти работающий скрипт, который взаимодействует с API OpenAI. Их много сейчас. Как правило они распространяются бесплатно.

Собственно, внутренности этого волшебного Spreadsheet
Собственно, внутренности этого волшебного Spreadsheet

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

Минусы: нужно очень аккуратно работать с книгой. К примеру, после того, как получили результат, нужно обязательно сохранять данные как текст. Иначе после повторного открытия Spreadsheet запустится обновление данных сначала. Это доп. расходы.

Трудно работать с большими объемами данных. Слишком сильно растянул формулу — полетели сотни запросов, которые упрутся ограничениями на RPM TPM.

Скорость: около 5 запросов в секунду при построчной обработке документа.

Способ № 3 — Взаимодействие с API с помощью кода

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

  • учитывается ограничение количество токенов в минуту TPM и количество запросов в минуту RPM.
  • несколько попыток в случае неуспеха запроса с экспоненциальной задержкой
  • работают functions и параметры моделей

Обработчик использует максимально возможное количество потоков, чтобы уложиться в ограничения TPM и RPM. Чем менее объемные запросы, тем больше их влазит в лимиты.

Скриншот из моего аккаунта
Скриншот из моего аккаунта

Мой результат по свежей задаче извлечения структурированной информации из массива данных:

Боевая задача
Боевая задача

8852 запроса за 15 минут, что соответствует примерно 10 запросам в секунду.

Плюсы: самый быстрый из известных мне способов работы с API OpenAI в пакетном режиме.

Это решение рекомендовано OpenAI и размещено в cookbook. Я лишь доработал его для себя (не работали функции и еще несколько важных мне вещей).

Минусы: необходимо готовить входной jsonl-файл со всеми данными, также необходим обработчик выходного jsonl-файла с результатами (я сделал отдельные скрипты, теперь это занимает 2 минуты).

Пример одной строки из входного jsonl-фалйа
Пример одной строки из входного jsonl-фалйа

Заключение

Если у вас есть интересные задачи по работе с данными (парсинг, разметка) — пишите в лс, а также делитесь в комментариях своим опытом использования платформы OpenAI в повседневной рутине, бизнесе.

11
2 комментария

Спасибо за материал! Из прикольных возможностей сочетания, на Nodul.ru можно скрестить 1-ый и 3-ий варианты:
1) добавить модуль JavaScript
2) попросить ИИ ассистента написать правильный запрос, подставить ключи
3) более гибко играться с температурой и прочими вводными, оставаясь в лоу-код среде

1
Ответить

Нужно попробовать, nodul активно использую) крутая платформа

1
Ответить