-
Notifications
You must be signed in to change notification settings - Fork 239
/
Copy pathsetup.js
72 lines (66 loc) · 2.08 KB
/
setup.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import inquirer from 'inquirer';
import fs from 'fs';
import dotenv from 'dotenv';
dotenv.config();
const mainQuestion = [
{
type: 'list',
name: 'AI_SELECTED',
message: 'Escolha a IA que deseja usar:',
choices: ['GPT', 'GEMINI'],
},
];
const geminiQuestion = [
{
type: 'input',
name: 'GEMINI_KEY',
message:
'Informe a sua GEMINI_KEY (https://aistudio.google.com/app/apikey):',
validate: (input) =>
!!input ||
'A GEMINI_KEY não pode ser vazia. Por favor, informe um valor válido.',
},
{
type: 'input',
name: 'GEMINI_PROMPT',
message: 'Informe o prompt para o Gemini:',
validate: (input) =>
!!input ||
'A GEMINI_PROMPT não pode ser vazia. Por favor, informe um valor válido.',
},
];
const gptQuestions = [
{
type: 'input',
name: 'OPENAI_KEY',
message: 'Informe a sua OPENAI_KEY (https://platform.openai.com/api-keys):',
validate: (input) =>
!!input ||
'A OPENAI_KEY não pode ser vazia. Por favor, informe um valor válido.',
},
{
type: 'input',
name: 'OPENAI_ASSISTANT',
message:
'Informe o seu OPENAI_ASSISTANT (https://platform.openai.com/assistants):',
validate: (input) =>
!!input ||
'O OPENAI_ASSISTANT não pode ser vazio. Por favor, informe um valor válido.',
},
];
inquirer.prompt(mainQuestion).then((answers) => {
let envConfig = `AI_SELECTED=${answers.AI_SELECTED}\n`;
if (answers.AI_SELECTED === 'GEMINI') {
inquirer.prompt(geminiQuestion).then((geminiAnswer) => {
envConfig += `GEMINI_KEY=${geminiAnswer.GEMINI_KEY}\nGEMINI_PROMPT=${geminiAnswer.GEMINI_PROMPT}\n`;
fs.writeFileSync('.env', envConfig, { encoding: 'utf8' });
console.log('Configuração para GEMINI salva com sucesso! 🎉');
});
} else {
inquirer.prompt(gptQuestions).then((gptAnswers) => {
envConfig += `OPENAI_KEY=${gptAnswers.OPENAI_KEY}\nOPENAI_ASSISTANT=${gptAnswers.OPENAI_ASSISTANT}\n`;
fs.writeFileSync('.env', envConfig, { encoding: 'utf8' });
console.log('Configuração para GPT salva com sucesso! 🎉');
});
}
});