Carregando conteúdo...
Carregando conteúdo...
Carregando conteúdo...
Carregando conteúdo...
javascript
1import OpenAI from "openai";
2import fs from "fs/promises";
3
4const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });
5
6// Lista expandida de modelos para teste
7const models = [
8 "gpt-3.5-turbo",
9 "gpt-4o-mini",
10 "gpt-4o"
11];
12
13// Exemplos mais representativos e variados
14const testInputs = [
15 "Gostei muito do aplicativo, superou minhas expectativas!",
16 "O produto chegou no prazo estabelecido.",
17 "Extremamente decepcionado com o suporte ao cliente."
18];
19
20// Template de prompt mais detalhado
21const promptTemplate = `Tarefa: Classifique o sentimento do texto como Positivo, Neutro ou Negativo.
22
23Exemplo:
24Texto: "O atendimento foi péssimo e o produto veio com defeito."
25Sentimento: Negativo
26
27Texto: "{INPUT}"
28Sentimento:`;
29
30async function runBenchmark() {
31 const results = [];
32
33 for (const model of models) {
34 console.log(`Testando modelo: ${model}`);
35
36 for (const input of testInputs) {
37 const prompt = promptTemplate.replace("{INPUT}", input);
38 const startTime = Date.now();
39
40 try {
41 const response = await openai.chat.completions.create({
42 model,
43 messages: [{ role: "user", content: prompt }],
44 temperature: 0,
45 max_tokens: 10
46 });
47
48 const latency = Date.now() - startTime;
49 const output = response.choices[0].message.content.trim();
50
51 results.push({
52 model,
53 input,
54 output,
55 latency_ms: latency,
56 tokens_used: response.usage.total_tokens
57 });
58
59 console.log(`${model} -> "${input}" -> "${output}" (${latency}ms)`);
60 } catch (error) {
61 console.error(`Erro com ${model}:`, error.message);
62 results.push({
63 model,
64 input,
65 error: error.message
66 });
67 }
68 }
69 }
70
71 // Salvar resultados para análise
72 await fs.writeFile(
73 `one-shot-benchmark-${new Date().toISOString()}.json`,
74 JSON.stringify(results, null, 2)
75 );
76
77 return results;
78}
79
80runBenchmark().then(console.log).catch(console.error);
Carregando conteúdo...
Carregando conteúdo...
Carregando conteúdo...
Carregando conteúdo...

Referências bibliográficas

Gostou do conteúdo?

Confira outros artigos ou entre em contato para discutirmos seu próximo projeto.