-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathopenai-api.js
More file actions
34 lines (26 loc) · 1.25 KB
/
openai-api.js
File metadata and controls
34 lines (26 loc) · 1.25 KB
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
const OpenAI = require('openai');
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY, // Certifique-se de definir a variável de ambiente OPENAI_API_KEY
});
async function getConfiguration(description) {
const prompt = `Eu tenho 3 luzes na minha sala, elas são RGB e têm intensidade de 0 a 99, além de um ar-condicionado com controle de temperatura de 16°C a 30°C e função de ligar/desligar.
Qual deve ser a configuração deles para o que foi descrito aqui: ${description}
Você deve me responder no seguinte formato sempre (sem mais nada acrescentado a essa resposta):
[
{"luz principal": {"intensidade": x, "código rgb": y}},
{"luz esquerda": {"intensidade": x, "código rgb": y}},
{"luz direita": {"intensidade": x, "código rgb": y}},
{"ar condicionado": {"estado": "ligado/desligado", "temperatura": z}}
]`;
try {
const chatCompletion = await openai.chat.completions.create({
messages: [{ role: "user", content: prompt }],
model: "gpt-4o-mini",
});
return chatCompletion.choices[0].message.content.trim();
} catch (error) {
console.error('Error:', error);
throw new Error(`API request failed: ${error.message}`);
}
}
module.exports = { getConfiguration };