Как подключить ChatGPT к Google Таблицам напрямую

Как подключить ChatGPT к Google Таблицам напрямую

Недавно я наткнулся на инструкцию, где предлагали подключить ChatGPT к Google Таблицам через надстройку GPT for Sheets and Docs. На первый взгляд удобно: поставил, ввёл команду — и всё работает. Но есть несколько моментов, которые меня в этом подходе смутили.

В статье автор не объясняет, что подписка GPT Plus и доступ к API — разные вещи. После таких инструкций люди оплачивают GPT Plus, но API всё равно не работает. Также автор вообще не затронул тему оплаты API — в интернете много советов, как заплатить за GPT Plus, но почти никто не рассказывает, как пополнить именно API-баланс.

И ещё один момент: GPT for Sheets and Docs в полной версии тоже платный. Бесплатный тариф ограничен, а если подключать свой API-ключ, придётся платить и OpenAI, и разработчику надстройки. Я решил, что это лишние расходы с просил у нейронки, можно ли для подключения гугл таблиц не использовать сторонние сервисы, и она помогла мне это сделать - я подключил ChatGPT напрямую. При этом я не разработчик, в коде не разбираюсь, а сам скрипт для Google Таблиц мне написал ChatGPT — быстро и без лишних заморочек.

Чтобы API заработал, сначала нужно зарегистрироваться на platform.openai.com (или воспользоваться своим логином от chatGPT), добавить способ оплаты (подойдут карты иностранных банков или виртуальные карты с пополнением в долларах) и пополнить баланс от $5. Эти деньги автоматически превращаются в токены, которыми оплачиваются запросы. Важно учитывать, что расход токенов зависит от выбранной языковой модели — более «умные» модели вроде GPT-4o стоят дороже и используют их быстрее, чем лёгкие варианты вроде gpt-3.5-turbo.

После пополнения в меню профиля выбирается пункт View API keys, создаётся новый ключ, и его нужно сохранить.

Дальше всё просто. Открываете Google Таблицы, заходите в Расширения → Apps Script, удаляете содержимое и вставляете этот код:

/** * Return a ChatGPT response from OpenAI for a given prompt * @constructor * @param {string} prompt - The request prompt to be processed by ChatGPT * @param {number} temperature [OPTIONAL] - Controls randomness (0 to 2, default: 0.7) * @param {integer} maxLength [OPTIONAL] - Max tokens in response (default: 256) * @param {number} topP [OPTIONAL] - Controls sampling (0 to 1, default: 1) * @param {number} frequencyPenalty [OPTIONAL] - Penalizes repetition (-2 to 2, default: 0) * @param {number} presencePenalty [OPTIONAL] - Encourages topic diversity (-2 to 2, default: 0) * @customfunction */ function chatGPT(prompt = "Hello!", temperature = 0.7, maxLength = 1600, topP = 1, frequencyPenalty = 0, presencePenalty = 0) { try { // Получаем API-ключ из свойств скрипта (Google Apps Script Properties) const apiKey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY'); if (!apiKey) throw new Error("API Key не найден. Установите ключ в свойствах скрипта."); // API URL OpenAI const url = 'https://api.openai.com/v1/chat/completions'; const model = 'gpt-4o'; // Используем gpt-3.5-turbo или gpt-4o // Формируем запрос const request = { model: model, messages: [{"role": "user", "content": prompt}], temperature: temperature, top_p: topP, max_tokens: maxLength, frequency_penalty: frequencyPenalty, presence_penalty: presencePenalty }; // Указываем заголовки запроса const options = { method: "post", contentType: "application/json", headers: { "Authorization": "Bearer " + apiKey }, payload: JSON.stringify(request), muteHttpExceptions: true // Не выбрасывает исключения на ошибочные HTTP-ответы }; // Отправляем запрос к API OpenAI const response = UrlFetchApp.fetch(url, options); const jsonResponse = JSON.parse(response.getContentText()); // Проверяем, есть ли ошибки в ответе if (response.getResponseCode() !== 200) { throw new Error(jsonResponse.error ? jsonResponse.error.message : "Неизвестная ошибка API"); } // Возвращаем текст из ответа ChatGPT return jsonResponse.choices[0].message.content; } catch (error) { return "Ошибка: " + error.message; } }

После вставки кода ключ API нужно прописать в свойствах скрипта: Настройки проекта → Свойства скрипта создайте переменную OPENAI_API_KEY и вставьте туда свой ключ API.
Возможно что то забыл упомянуть, что то типа нажать кнопку "начать развертывание" (за давностью уже не вспомню).

С этого момента можно вызывать ChatGPT прямо в ячейках Google Таблиц. Например:

=chatGPT("Напиши план контент-стратегии для интернет-магазина электроники")

Ответ появится в той же ячейке.

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

Начать дискуссию