JustPaste.it

GPT-3 x Google Sheets (code by GPT-3)

User avatar
@anonymous · Sep 21, 2022
// 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);
}