изображение в блоге

Chat GPT внутри Google Sheets

Интегрируем Chat GPT в пользовательскую фукнцию Google Sheets и кайфуем

Я нашел отличный способ решать мелкие задачи по генерации контента не выходя из таблиц и теперь это мой основной инструмент автоматизации работы с таблицами. Самое классное в этом способе полное отсутствие необходимости подключаться к VPN

GigaChat А это художесто GigaChat от сбера

Для работы пользовательской функции потребуется найти где-то api ключ чата.

Код

Такая небольшая функция Google Scripts получилась в итоге:

const API_KEY = "";
const API_URL = "https://api.openai.com/v1/chat/completions";
const GPT_MODEL = "gpt-3.5-turbo-16k-0613"

function GPT(prompt, system) {
  const messages = system ? [
    {
      "role": "system",
      "content": system
    },
    {
      "role": "user",
      "content": prompt
    }
  ] : [
    {
      "role": "user",
      "content": prompt
    }
  ];

  const response = UrlFetchApp.fetch(API_URL, {
    contentType: "application/json",
    headers: {
      "Authorization": "Bearer " + API_KEY,
    },
    payload: JSON.stringify({
      "model": GPT_MODEL,
      "messages": messages
    })
  });
  const result = JSON.parse(response.getContentText());
  Logger.log(result);
  return result.choices[0].message.content || 'Осшибка, черт!'
}

Как использовать

  • Создай таблицу
  • Перейди в раздел apps scrips (Расширения - Apps Scripts)
  • Вставляй код
  • Сохрани изменения
  • В любой ячейке пропиши =GPT(prompt; system)
  • Готово

Сложные propt

Чтобы совместить несколько ячеек в один запрос используй функцию СЦЕПИТЬ()

Я добавил возможность передать system информацию для генерации. В этот раздел запроса можно убрать, например, правила оформления, количество символов, описать ожидаемый результат.

Ограничения

Поскольку экшены могут работать только 30 секунд, я использую модель 3.5, но для коротких запросов можно взять и модель 4

Дока