Я нашел отличный способ решать мелкие задачи по генерации контента не выходя из таблиц и теперь это мой основной инструмент автоматизации работы с таблицами. Самое классное в этом способе полное отсутствие необходимости подключаться к VPN
А это художесто 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