{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

СhatGPT в Google таблицах бесплатно и без лимитов

Совсем недавно разработчик под ником xtekky разработал эксплойт GPT4Free для обмана API OpenAI методом реверс-инжениринга, когда искал, какие сервисы работают с чат-ботом. Он подобрал запросы к сторонним сервисам, у которых есть доступ к API cahtGPT. Т.е. c помощью его библиотеки можно пользоваться API cahtGPT бесплатно.

Я недавно писал, про подключение chatGPT к Google таблице, но в последнее время на бесплатном тарифе официальный API стал работать очень нестабильно, очень много ошибок. И с ограничением по количеству запросов в секунду очень удобно растягивать формулу. Поэтому я решил немного упростить себе жизнь с помощью подключения таблиц через GPT4Free.

Я потестил его код. Сейчас есть возможность подключиться к API chatGPT через 4 сервиса: chatbot.theb.ai, forefront.ai, poe.com, you.com. У меня заработал способ с chatbot.theb.ai и он самый простой, т.к. вообще ничего не требует от пользователя. Поэтому решил, что скрипт для Google таблиц буду делать через этот сервис. Код xtekky написан на python, поэтому мне пришлось его переписать на JS и добавить туда методы Apps Script Google, чтобы все заработало. В результате у меня получился такой код.

Чтобы добавить свою формулу в Google spreadsheets, нужно использовать Apps script:

  • Откройте Google spreadsheets и создайте новый документ или откройте уже существующий
  • Нажмите на кнопку "Расширения" в верхней панели и выберите "Apps script"
  • Вставьте код , который найдете по ссылке
  • Нажимаем сохранить. Теперь можем использовать функцию freeGPT в своей таблице
  • В формуле пишите ваш запрос, потом ставите символ & и ссылку на ячейку. Вот пример
  • Не забываем сохранять полученный результат. Копируем ячейки, где использовали формулу и вставляем с помощью специальной вставки. Иначе формула будет выполняться при каждой загрузке таблицы

Сравнения официального и неофициального API

Для исследования я взял 30 текстов на английском языке и попросил сhatGPT перевести их на русский. Затем я сравнил количество запросов, которые завершились с ошибкой. FreeGPT не выполнил 11 запросов из 30, так как тексты в этих запросах были объемными, а Google ограничивает время выполнения формулы 30 секундами. Однако официальный API не выполнил 24 запроса из 30 из-за ошибки, связанной с лимитом запросов, а также из-за перегрузки сервера. Поэтому, если у вас простые запросы, то неофициальный API подойдет вам лучше.

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

Моральная сторона использования GPT4Free

Разработчик проекта GPT4Free говорит, что рекомендует использовать эксплоит только в экспериментальных и образовательных целях для доступа к чат-боту на базе GPT-4 и его предшественнику GPT-3.5. Я с ним согласен: если у вас много задач для ChatGPT, лучше оплатить запросы, это не слишком дорого. Однако мне кажется, что этот скрипт может быть полезен обычным людям, которые периодически хотят стабильно пользоваться ChatGPT и не заморачиваться с оплатой и лимитами. Поэтому я буду следить за xtekky и поддерживать скрипт для Apps Scripts.

Спасибо за прочтение! Буду благодарен за подписку на мой ТГ-канал. В нем я делюсь кейсами использования chatGPT, SEO-кейсами и аналитикой, которые меня заинтересовали.

0
15 комментариев
Написать комментарий...
phlora

phind тоже реверснули

Ответить
Развернуть ветку
mir grm

Я бы немного подправил функцию:

function freeGPT(prompt) {
<...>
const res = UrlFetchApp.fetch(url, options).getContentText().replaceAll('\\"', '#');

const matches = Array.from(
res.matchAll(/"text":"([^"]+)"/g),
(match) => match[1].replaceAll('#', '\\"')
);
<...>
C экранизацией кавычек проблемы

Ответить
Развернуть ветку
Мимо проходил

спасибо за мануал и код, все работает отлично, на телегу подписался

Ответить
Развернуть ветку
Антон

Автор, спасибо за годноту! Просто, понятно, работает. Все статьи здесь были бы такими)) На ТГ-канал подписался

Ответить
Развернуть ветку
arisha39

Видел что Вы обновили код и перешли на chat.getgpt.world, но он либо стал настолько забитым, либо код перестал работать.

Ответить
Развернуть ветку
Александр Рахманин
Автор

Починил код. Переехал на другой сервис

Ответить
Развернуть ветку
arisha39

Премного благодарен Вашей работе, огромнейшее спасибо!

Ответить
Развернуть ветку
Александр Рахманин
Автор

Да, пришлось перейти на chat.getgpt.world, потому что странный сервис закрыл доступ. В браузере chat.getgpt.world тоже не работает. Мб сегодня починят или придется переходить на другой сервис(

Ответить
Развернуть ветку
Rex Mundy
Кстати, перевод текстов отличный пример задачи, которую можно решить с помощью сhatGPT и Google таблиц

Переводчики - уже зашквар?

Ответить
Развернуть ветку
Александр Рахманин
Автор

Нет)

Ответить
Развернуть ветку
Филипп Новиков

Если серьезно, машинный перевод + GPT > машинный перевод (причем намного)

Ответить
Развернуть ветку
Евгения Прохорова

А еще нужно без смс и регистрации

Ответить
Развернуть ветку
Александр Рахманин
Автор

Ну так правда же способ без смс и регистрации)

Ответить
Развернуть ветку
Снежана Хлебутина

Скажите пожалуйста, этот метод устарел? Делаю все по инструкции, но гугл таблица пишет ошибку - #NAME? такой функции нет

Ответить
Развернуть ветку
Александр Рахманин
Автор

У меня работает https://w6p.ru/NDY4YTM.mp4. Может быть вы не сохранили скрипт? https://w6p.ru/YWVkMDg.png

Ответить
Развернуть ветку
12 комментариев
Раскрывать всегда