12
respostas

executar o comando node chat.js

Olá na aula 5 copiei o codigo abaixo, tentei executar o comando node chat.js mais o mesmo nao teve nenhuma ação resultado apos enviar o comando node chat.js

import { GoogleGenerativeAI } from "@google/generative-ai";

const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);

async function run() {
  const model = genAI.getGenerativeModel({ model: "gemini-1.0-pro"});

  const chat = model.startChat({
    history: [
      {
        role: "user",
        parts: [{ text: "Oi, adoro viajar!" }],
      },
      {
        role: "model",
        parts: [{ text: "Ah, que legal. Para onde deseja viajar?" }],
      },
    ],
    generationConfig: {
      maxOutputTokens: 100,
    },
  });

  const msg = "Quero ir para o Canadá";

  const result = await chat.sendMessage(msg);
  const response = await result.response;
  const text = response.text();
  console.log(text);
}

run();
12 respostas

Olá Maks!

Certifique-se de que a variável de ambiente GEMINI_API_KEY está corretamente configurada. Você pode fazer isso adicionando a linha abaixo no início do seu código para verificar se a chave está sendo carregada corretamente:

console.log(process.env.GEMINI_API_KEY);

Se a chave não estiver sendo exibida, você precisará configurá-la corretamente. No Windows, você pode fazer isso no terminal antes de executar o script:

set GEMINI_API_KEY=YOUR_API_KEY
node chat.js

Por fim, tenta baixar o projeto da aula 2 completo, descompactar e rodar os comandos:

npm i 
npm start

e depois rodar o comando:

node chat.js

Verifique se nesse projeto há alguma saída, ou se acontece o mesmo.

Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

boa tarde, infelizmente nao consegui, estou fazendo alguma coisa de errado e nao sei o que, segui as informações do video mais como nao sou da area acho que está faltando fazer algo na linha abaixo coloco a minha chave onde?

const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);

poderia me informar onde colocaria a minha chave e se terei que alterar algum comando?

no segundo exemplo aparece o seguinte erro

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Olá Maks!

Peço desculpas pela demora em obter uma resposta!

Esse erro ocorre porque não há uma chave, nem na sua máquina, nem no seu código.

Para reparar isso devemos passar a sua chave, ela pode ser passada de dois modos:

Primeiramente obtenha a sua chave nesse link

Caso queira via terminal, você pode rodar esses códigos:

$env:GEMINI_API_KEY = "SUA CHAVE"
node chat.js

Desse modo:

No terminal do Vscode, setamos uma variável que recebe uma chave

Lembrando que o seu código tem que chamar essa chave na sua máquina, deve está assim como no código da aula:

const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);

Observe que este código contém o termo ".env", o que significa que ele obterá uma chave armazenada em uma variável de ambiente chamada GEMINI_API_KEY, que foi criada anteriormente no terminal.

Ou de forma mais simples, porém você deve tomar muito cuidado ao, compartilha seu código, por exemplo, no GitHub, você pode inserir sua chave de forma direta no código ficando assim:

const genAI = new GoogleGenerativeAI("Cole sua Chave");

Desse modo, dentro do seu app.js, nas primeiras linhas procure pela seguinte constante: Dentro do Vscode, temos uma contante que recebe uma chave api

Coloque sua chave dentro das aspas, e execute o comando no terminal:

node chat.js

Espero ter ajudado, abraços!

Estou tendo esse erro, poderia me ajudar:

$ node chat.js file:///Users/rsotolani/Library/Mobile%20Documents/comappleCloudDocs/0%20Rodrigo/Educac%CC%A7a%CC%83o/0.%20Cursos%20em%20andamento/Alura/3752-gemini-com-node-main/node_modules/@google/generative-ai/dist/index.mjs:279 return _makeRequestInternal(model, task, apiKey, stream, body, requestOptions, fetch); ^

ReferenceError: fetch is not defined at makeRequest (file:///Users/rsotolani/Library/Mobile%20Documents/comappleCloudDocs/0%20Rodrigo/Educac%CC%A7a%CC%83o/0.%20Cursos%20em%20andamento/Alura/3752-gemini-com-node-main/node_modules/@google/generative-ai/dist/index.mjs:279:84) at generateContent (file:///Users/rsotolani/Library/Mobile%20Documents/comappleCloudDocs/0%20Rodrigo/Educac%CC%A7a%CC%83o/0.%20Cursos%20em%20andamento/Alura/3752-gemini-com-node-main/node_modules/@google/generative-ai/dist/index.mjs:690:28) at file:///Users/rsotolani/Library/Mobile%20Documents/comappleCloudDocs/0%20Rodrigo/Educac%CC%A7a%CC%83o/0.%20Cursos%20em%20andamento/Alura/3752-gemini-com-node-main/node_modules/@google/generative-ai/dist/index.mjs:932:25 at async ChatSession.sendMessage (file:///Users/rsotolani/Library/Mobile%20Documents/comappleCloudDocs/0%20Rodrigo/Educac%CC%A7a%CC%83o/0.%20Cursos%20em%20andamento/Alura/3752-gemini-com-node-main/node_modules/@google/generative-ai/dist/index.mjs:951:9) at async run (file:///Users/rsotolani/Library/Mobile%20Documents/comappleCloudDocs/0%20Rodrigo/Educac%CC%A7a%CC%83o/0.%20Cursos%20em%20andamento/Alura/3752-gemini-com-node-main/chat.js:26:18)

Olá Rodrigo!

Por gentileza me envie o seu código por completo ou compare com o código da aula 1 completa, e veja se está tudo correto.

Segundo o terminal o erro acontece no fetch, veja se está correto e se acontece algo do tipo no seu código.

Fico no aguardo!

O código está (eu acho) exatamente igual ao do site. Eu copiei de lá:

import { GoogleGenerativeAI } from "@google/generative-ai";

const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);

async function run() { const model = genAI.getGenerativeModel({ model: "gemini-1.0-pro"});

const chat = model.startChat({ history: [ { role: "user", parts: [{ text: "Oi, adoro viajar!" }], }, { role: "model", parts: [{ text: "Ah, que legal. Para onde deseja viajar?" }], }, ], generationConfig: { maxOutputTokens: 100, }, });

const msg = "Quero ir para o Canadá";

const result = await chat.sendMessage(msg); const response = await result.response; const text = response.text(); console.log(text); }

run();

Oi Novamente Rodrigo, realmente o seu código está idêntico, por favor, me encaminhe o seu projeto completo seja ele via github ou drive, vai ser mais tranquilo reparar esse erro.

Victor, eu simplesmente baixei o arquivo zip que está no site e não fiz alterações.

Olá Rodrigo!

Peço desculpas, pelo mal-entendido, achei que o erro surgiu a partir de certas modificações no seu código.

Esse erro normalmente acontece quando a chave não foi inserida corretamente.

Vamos rever alguns passos, para sanar algumas possíveis dúvidas, com o projeto baixado desta aula aqui, realize a descompactação do mesmo, abra o terminal dentro da pasta e execute o npm install.

Depois gere a sua chave, se já gerou basta copiar a mesma, tanto para gerar como para copiar o caminho é esse link

No seu código, no arquivo chat.js, localize a linha de código para inserir a chave para a API, nesse primeiro momento apenas cole a sua chave, na seguinte linha:

const genAI = new GoogleGenerativeAI('COLE SUA CHAVE AQUI');

Importante: sua chave deve estar envolta de aspas, simples ou duplas. Execute o comando node chat.js no terminal para rodar o programa.

Se tudo deu certo uma mensagem assim deve aparecer: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Novamente peço desculpa pelo meu mal-entendido e espero ter ajudado!

Victor, isso não resolveu. Entretanto, resolvi de outra forma. O problema é que o npm estava na versão 16 apesar de eu ter atualizado para a versão 20. Depois que reiniciei o computador, voltou na versão 16. O comando que utilizei para atualizar foi esse:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash nvm install 20

Atualiza e dai não dá mais o erro de fetch. Entretanto, a atualização não persiste. Você sabe o que fazer para que isso se resolva? Estou usando Mac.

Olã Rodrigo!

Fico muito feliz que tenha resolvido essa questão.

Um das formas de salvar, é definir a versão desejada do node como a padrão :

nvm alias default 20

Teste e veja se funciona por favor!