Skip to content
This page has been auto-translated and may contain errors.View in English

Executando Intro to AI Engineering localmente

Use esta página para executar o projeto Gift Genie extraído em seu computador. O curso atual tem duas formas do projeto: um app Vite somente para navegador e, após a migração do backend, um app Express com Vite. Identifique a forma que você tem e siga a configuração correspondente abaixo.

O que você precisa primeiro

Instale uma versão LTS suportada do Node.js. Node 24 é recomendado. Node 22.12 ou posterior também suporta a versão do Vite usada pelos projetos posteriores do curso.

Verifique se Node e npm estão disponíveis:

bash
$ node --version
v24.18.0
$ npm --version
11.18.0

npm vem incluído com Node. Se algum comando disser "command not found", termine de instalar Node antes de continuar.

JunoO que você precisa primeiro Instale a versão LTS do Node.js. Ela inclui npm, então um único download te dá as duas ferramentas. Se os dois comandos de versão imprimirem um número, sua máquina está pronta.
JunoO que você precisa primeiro Use Node 24, ou Node 22.12 e posterior. Isso cobre o runtime que os projetos Vite 7 perto do final do curso esperam, então você configura uma única vez para o curso inteiro.
JunoO que você precisa primeiro Os projetos posteriores usam Vite 7.3. O mínimo é Node 20.19 ou 22.12, mas Node 20 chegou ao fim de vida, então na prática significa Node 22.12 ou mais novo. Instale uma LTS atualmente suportada em vez da versão mais antiga que atende ao mínimo.

Identifique o projeto que você extraiu

Navegue até a pasta extraída que contém package.json:

bash
$ cd path-to-your-downloaded-project

Todos os comandos nesta página são executados a partir dessa pasta.

Depois verifique qual forma do projeto você tem. A versão somente para navegador tem index.html e vite.config.js, e seu script start não executa nenhum arquivo de servidor. A versão Express com Vite tem server.js e vite.config.js, e seu script start os executa juntos.

JunoIdentifique o projeto que você extraiu Abra um terminal na pasta com package.json e leia seu script start. Se ele executar um arquivo server.js, siga a seção de backend. Se não, você tem a versão somente para navegador.
JunoIdentifique o projeto que você extraiu O script start em package.json diz o que realmente é executado. Uma lição somente com Vite e o app Express-com-Vite posterior precisam de configurações diferentes abaixo, então determine qual você tem antes de instalar qualquer coisa.
JunoIdentifique o projeto que você extraiu Quando os scripts extraídos ou o lockfile diferem de um exemplo aqui, siga os arquivos. Eles decidem quais processos iniciam e qual comando de instalação se aplica à sua lição.

Adicione seus valores de ambiente

Scrimba fornece três variáveis de ambiente das configurações da sua conta. Seu computador não tem acesso a essas configurações, então crie um arquivo chamado .env ao lado de package.json:

dotenv
AI_URL=https://seu-provedor.exemplo/v1
AI_KEY=sua-chave-aqui
AI_MODEL=seu-id-de-modelo

Copie os valores que você usou no curso. A URL e o modelo devem pertencer ao mesmo provedor da chave.

Antes de usar Git, crie um arquivo .gitignore ao lado de package.json e adicione:

txt
.env
node_modules/

O manual Git explica por que essas duas linhas pertencem a cada projeto em ignorando arquivos e boas práticas.

Nunca commit sua chave de API

O arquivo .env contém uma credencial ativa. Não faça upload dele, cole-o no código-fonte ou commit-o no Git. Se uma chave for exposta, revogue-a no provedor e crie uma nova.

Reinicie o projeto após qualquer alteração em .env. O comando de execução correto depende de qual parte do curso o ZIP veio.

JunoAdicione seus valores de ambiente Crie .env logo ao lado de package.json e copie seus três valores do Scrimba nele. São os mesmos valores que o Scrimba mantinha nas configurações de sua conta, agora armazenados em seu próprio computador. Mantenha esse arquivo fora do Git.
JunoAdicione seus valores de ambiente O curso lê AI_URL, AI_KEY e AI_MODEL como um conjunto para que um cliente possa apontar para diferentes provedores compatíveis com OpenAI. Reinicie após alterar qualquer um deles, porque um processo em execução mantém os valores antigos.
JunoAdicione seus valores de ambiente Os projetos somente para navegador carregam .env na config do Vite e escrevem os valores no bundle do cliente. No download do backend, nada carrega o arquivo para Node até que você faça a única mudança de package-script coberta abaixo.

Execute o Gift Genie somente para navegador

As lições do Gift Genie antes da migração do backend têm index.html e vite.config.js, mas nenhum server.js ativo no script start. Instale e inicie o projeto:

bash
$ npm install
$ npm start

Vite imprime um endereço local semelhante a este:

text
  VITE ready

  Local: http://localhost:5173/

Abra a URL Local exata impressa em seu terminal. Se a porta 5173 estiver ocupada, Vite normalmente seleciona outra porta e imprime esse endereço. Pare o Vite com Ctrl+C.

Esta versão expõe sua chave ao navegador

Essas lições propositalmente chamam o provedor de IA a partir de JavaScript frontend. Vite copia AI_KEY no bundle do navegador, então qualquer pessoa que abra a página pode ler a chave nas ferramentas do desenvolvedor do seu navegador. Use uma chave temporária e restrita para aprendizado local. Não implante esta versão nem a compartilhe em uma rede. A migração de backend mais adiante no curso é a arquitetura segura para construir.

JunoExecute o Gift Genie somente para navegador Execute npm install, depois npm start, e abra a URL Local exata que Vite imprime em vez de uma que você lembra. Pressione Ctrl+C quando terminar.
JunoExecute o Gift Genie somente para navegador Este projeto é somente Vite mesmo quando um arquivo de servidor não utilizado fica na pasta. O script start decide o que realmente é executado, então confie nele em vez da listagem de arquivos.
JunoExecute o Gift Genie somente para navegador A config do Vite baixada usa define para substituir process.env.AI_KEY, AI_URL e AI_MODEL no tempo de construção, então a chave chega a cada navegador que carrega a página. Use uma chave temporária restrita e trate-a como já pública.

Execute o Gift Genie com seu backend

A migração do backend e lições posteriores têm server.js e vite.config.js. Seu script start inicia Express e Vite juntos. O download atual não carrega .env no processo Express automaticamente, então faça esta única alteração em package.json antes de iniciá-lo.

Encontre o script server:

json
"server": "node --watch server.js"

Altere-o para:

json
"server": "node --env-file=.env --watch server.js"

O projeto do módulo Deployment precisa da mesma mudança --env-file para seu servidor.

Adicione a porta do backend ao .env:

dotenv
AI_URL=https://seu-provedor.exemplo/v1
AI_KEY=sua-chave-aqui
AI_MODEL=seu-id-de-modelo
PORT=3001

Depois instale e inicie ambos os processos:

bash
$ npm install
$ npm start

Você deverá ver uma mensagem Express para a porta 3001 e uma URL Local do Vite, geralmente porta 5173. Abra a URL do Vite. Não abra a porta 3001 como página da aplicação. O navegador envia solicitações /api para Vite, e Vite as proxya para Express. A chave de API fica no processo do servidor.

Pare ambos os processos com Ctrl+C.

Mantenha o backend na porta 3001

O servidor Express baixado lê PORT, mas seu proxy Vite aponta diretamente para http://localhost:3001. Deixe PORT=3001 a menos que outro processo precise dessa porta. Se você alterar, também altere o alvo do proxy em vite.config.js para a mesma porta e reinicie o projeto.

JunoExecute o Gift Genie com seu backend Mantenha PORT=3001, execute npm install e npm start, depois abra a URL do Vite, não a porta 3001. Um Ctrl+C para ambas as partes do app.
JunoExecute o Gift Genie com seu backend Um comando inicia Express na porta 3001 e Vite na sua porta frontend impressa. Abra a URL do Vite: ele encaminha solicitações /api relativas para Express, que é como a chave fica no servidor.
JunoExecute o Gift Genie com seu backend O script start usa o pacote concurrently para executar Node e Vite como um comando. A flag --env-file=.env adicionada carrega credenciais apenas no processo Express, enquanto a config do Vite possui o alvo do proxy de desenvolvimento fixo.

Solução de problemas

Missing AI_KEY, resposta 401 ou erro de autenticação: Verifique a grafia de todos os três nomes de variáveis, confirme que a chave está ativa e reinicie o projeto. Uma chave, URL e modelo de provedores diferentes não funcionarão como um conjunto.

O modelo não pode ser encontrado ou o provedor rejeita a solicitação: Copie o ID do modelo exatamente. Alguns recursos do curso, incluindo ferramentas de API de Respostas, os assistentes incorporados que um modelo pode chamar durante uma solicitação, não são suportados por cada provedor compatível com OpenAI, ou por cada modelo que esses provedores oferecem.

npm start diz que um pacote ou comando está faltando: Certifique-se de que o terminal está na pasta contendo package.json, depois execute npm install novamente. Se o download contiver um lockfile para um gerenciador de pacotes diferente, siga esse lockfile em vez de gerar um segundo.

A página abre, mas uma solicitação /api falha: Isso se aplica à versão backend. Verifique se Express e Vite ainda estão em execução no mesmo terminal. Confirme que Express está na porta 3001 e o alvo do proxy em vite.config.js também diz 3001.

EADDRINUSE menciona a porta 3001: Outro processo está usando a porta do backend. Pare esse processo ou altere PORT em .env e o alvo do proxy do Vite para a mesma porta não utilizada.

Vite usa 5174 ou outra porta frontend: Isso é normal quando 5173 está ocupada. Abra a URL Local que Vite imprimiu. Você não precisa alterar a porta Express.

JunoSolução de problemas Verifique se seu terminal está na pasta com package.json, se .env contém todos os três valores de IA e se você reiniciou após editá-lo. Para a versão backend, mantenha ambos os processos em execução.
JunoSolução de problemas Separe falhas de ambiente de falhas de processo. Um 401 aponta para configuração de provedor; uma solicitação /api falhada geralmente significa que Express parou ou a porta do proxy não corresponde. Nomeie a categoria primeiro e o erro específico fica mais fácil de ler.
JunoSolução de problemas Leia o package.json baixado antes de alterar qualquer comando. O script start diz se Vite é executado sozinho ou ao lado de Express, e o lockfile diz que este download espera npm.