ABCDEFGHIJKLMNOPQRSTUVWXYZAA
1
A função =GPT(prompt, val, Temp, Tokens)
2
prompt: A string com a pergunta. [Obrigatório]
3
val: A parte da pergunta com o valor de referência. [Opcional]
4
Temp: Ajuste da temperatura entre 0 e 2. (Por omissão: 0.7) [Opcional]
5
Tokens: Máximo de tokens permitido. (Por omissão: 700) [Opcional]
6
7
O código explicado
8
//Colocar aqui a sua chave API, entre " "
9
const apiKey = "a minha chave API secreta";
10
11
//Valor de tokens se não for especificado
12
const Tokens = 700;
13
// Temperature inicial. Determina a aleatoriedade do resultado.
14
const Temp = 0.7;
15
16
// Cria o menu em cima
17
const onOpen = () => {
18
const ui = SpreadsheetApp.getUi();
19
ui.createMenu("GPT")
20
.addItem("Lock results as text", "Lock")
21
.addToUi();
22
};
23
24
// Guarda as formulas como texto ASCII
25
function Lock() {
26
var ss = SpreadsheetApp.getActiveSheet()
27
var data = ss.getDataRange().getValues()
28
ss.getRange(1, 1, data.length, data[0].length).setValues(data)
29
}
30
31
// Gera o texto baseado na entrada do utilizador
32
function GPT(prompt, val, Temp, Tokens) {
33
var ss = SpreadsheetApp.getActiveSheet()
34
var data = {
35
"messages": [
36
{"role": "user", "content": prompt + val},
37
],
38
"model": "gpt-3.5-turbo",
39
"temperature": Temp,
40
"max_tokens": Tokens,
41
};
42
var options = {
43
method' : 'post',
44
contentType': 'application/json',
45
payload' : JSON.stringify(data),
46
headers': {
47
Authorization: 'Bearer ' + apiKey,
48
},
49
};
50
51
// Envia o pedido API para o ChatGPT
52
var response = UrlFetchApp.fetch(
53
https://api.openai.com/v1/chat/completions',
54
options
55
);
56
Logger.log(response.getContentText());
57
58
// Analisa a resposta para extrair o texto gerado
59
var result = JSON.parse(response.getContentText())['choices'][0]['message']['content'];
60
Logger.log(result);
61
return result;
62
}
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100