// This code sends the content of the marked cell to OpenAI's GPT-3
// API and returns the response in the next cell.
var API_KEY = 'YOUR-OPENAI-API-KEY-HERE';
function onOpen() {
var spreadsheet = SpreadsheetApp.getActive();
var menuItems = [
{name: 'Run GPT-3', functionName: 'gpt3run'},
];
spreadsheet.addMenu('GPT3', menuItems);
}
function _callAPI(prompt) {
var data = {
'prompt': prompt,
'max_tokens': 100,
'temperature': 0,
};
var options = {
'method' : 'post',
'contentType': 'application/json',
'payload' : JSON.stringify(data),
'headers': {
Authorization: 'Bearer ' + API_KEY,
},
};
response = UrlFetchApp.fetch(
'https://api.openai.com/v1/engines/davinci/completions',
options,
);
return JSON.parse(response.getContentText())['choices'][0]['text']
}
function gpt3run() {
var spreadsheet = SpreadsheetApp.getActive();
var range = spreadsheet.getActiveRange();
prompt = range.getCell(1, 1).getValue();
response = _callAPI(prompt);
range.offset(1, 0, 1, 1).setValue(response);
}