Ejecutar Intro to AI Engineering en tu máquina
Usa esta página para ejecutar el proyecto Gift Genie extraído de Intro to AI Engineering en tu computadora con tu propio proveedor de IA. El proyecto viene en dos formas: una app Vite solo para navegador en las lecciones antes de la migración del backend, y una app Express y Vite desde la migración del backend en adelante. Una línea en package.json te dice cuál tienes; la instalación y el archivo .env son iguales para ambas, y el inicio es diferente.
Lo que necesitas primero
Instala una versión LTS compatible de Node.js. Se recomienda Node 24 e incluye npm.
Verifica que ambos comandos funcionen. Tus números de versión pueden ser diferentes:
$ node --version
v24.18.0
$ npm --version
11.18.0También necesitas los tres valores que configuraste en las variables de entorno de Scrimba durante el curso: la URL de tu proveedor, tu clave API y el ID del modelo. Si ya no tienes la clave, crea una nueva en el mismo proveedor.
node --version y npm --version muestren una versión. Luego ten lista la URL de tu proveedor, tu clave API y tu ID de modelo. Pegarás los tres en un archivo en unos minutos.
Averigua qué proyecto tienes
Abre package.json en la carpeta extraída y encuentra la línea start. Si solo dice vite, tienes el proyecto solo para navegador:
"start": "vite"Si dice concurrently, con un script server debajo, tienes el proyecto con backend. Su carpeta también contiene server.js:
"start": "concurrently \"npm run client\" \"npm run server\" ",
"server": "node --watch server.js",package.json y lee la línea start. Si dice vite y nada más, tienes el proyecto solo para navegador. Si dice concurrently, tienes el proyecto con backend. Recuerda cuál es: las últimas dos secciones cubren una de ellas.
Instala los paquetes
Abre una terminal en la carpeta extraída, la que contiene package.json. Todos los comandos en esta página se ejecutan desde ahí:
$ cd path-to-your-extracted-projectInstala los paquetes que el proyecto lista. Esto es igual para ambas formas:
$ npm installnpm termina reportando cuántos paquetes agregó. También puede reportar vulnerabilidades, o advertencias de allow-scripts sobre esbuild y fsevents. Ninguna de ellas impide que el proyecto se ejecute.
npm install en la carpeta con package.json. Termina diciendo cuántos paquetes agregó. Si npm dice que no puede encontrar package.json, estás en la carpeta incorrecta.
Agrega tus valores a .env
En Scrimba, el editor completa tus tres variables de entorno por ti. En tu computadora, vienen de un archivo. Crea .env junto a package.json e introduce tus valores bajo exactamente estos nombres:
AI_URL=https://api.openai.com/v1
AI_KEY=your-key-here
AI_MODEL=your-model-idEste ejemplo usa la URL de OpenAI. Si usaste otro proveedor en el curso, como Groq u OpenRouter, usa su URL en su lugar. El ID del modelo debe ser uno que ese proveedor ofrezca.
Crea .gitignore junto a package.json y agrega:
.env
node_modules/Una clave que llega a un repositorio Git permanece en su historial incluso después de que elimines el archivo. El manual de Git cubre el hábito en ignorar archivos y buenas prácticas.
Nunca hagas commit de tu clave API
.env contiene una clave funcionando. No la subas, pegues la clave en tu código, ni hagas commit del archivo. Si una clave alguna vez se expone, elimínala en tu proveedor y crea una nueva.
.env junto a package.json con tus tres valores, uno por línea, luego lista .env en .gitignore para que Git nunca lo guarde. Ejecuta el proyecto solo para navegador
Esta versión pone tu clave en el navegador
Estas lecciones llaman al proveedor de IA directamente desde la página, así que Vite escribe AI_KEY en el código que envía al navegador, y cualquiera que abra la página puede leerlo. Usa una clave que eliminarás cuando termines, mantén esta versión en tu propia computadora, y nunca la implementes ni la compartas. La migración del backend más adelante en el curso mueve la clave a un servidor.
Inicia el proyecto:
$ npm startVite imprime la dirección para abrir:
VITE v7.3.0 ready in 176 ms
➜ Local: http://localhost:5173/Abre la dirección exacta de Local. Si el puerto 5173 está ocupado, Vite elige el siguiente e imprime eso en su lugar.
En las primeras lecciones, como Setting Up Your AI Client, la página está en blanco a propósito: el trabajo ocurre en la consola del navegador. Abre las herramientas de desarrollo de tu navegador (F12, o Cmd+Opción+J en Chrome en una Mac) y lee la pestaña Console. Debería mostrar tus valores:
AI provider URL: https://api.openai.com/v1
AI model: your-model-idLas lecciones que construyen la página Gift Genie muestran esa página en su lugar. Detén el proyecto con Ctrl+C.
npm start y abre la dirección Local. Si la página está en blanco, abre la Consola: las dos líneas con tu URL de proveedor y modelo significan que .env fue leído. Un Missing AI_URL rojo ahí significa que no fue así.
Ejecuta el proyecto con backend
En Scrimba, el servidor obtuvo tus variables de entorno automáticamente. En tu computadora, Node lee .env solo cuando le dices que lo haga, y el script del servidor en la descarga no lo hace. Así que haz un cambio en package.json antes de que inicies. Cambia el script server de:
"server": "node --watch server.js",a:
"server": "node --env-file=.env --watch server.js",Luego inicia ambas partes de la app:
$ npm startLas líneas [1] vienen del servidor Express y las líneas [0] de Vite:
[1] Server running at http://localhost:3001
[0]
[0] VITE v7.3.1 ready in 1526 ms
[0]
[0] ➜ Local: http://localhost:5173/Abre la dirección Local de Vite, no el puerto 3001: el servidor solo responde las peticiones /api de la app, así que el puerto 3001 por sí solo muestra Cannot GET /. Escribe para quién es el regalo y haz clic en Rub the Lamp. El botón cambia a Summoning Gift Ideas..., y unos segundos después aparecen ideas de regalos debajo. Eso significa que tu clave, URL y modelo funcionan.
Si la página dice Sorry, I can't access what I need right now, la razón está en la terminal, en una línea [1] del servidor. La solución de problemas abajo coincide con cada mensaje.
Detén ambas partes con un Ctrl+C. Cuando guardas .env mientras la app se ejecuta, ambas partes se reinician por sí solas y usan los nuevos valores.
El proyecto de implementación necesita el mismo cambio --env-file para su servidor.
--env-file=.env al script server, ejecuta npm start, y abre la dirección Local de Vite. Haz clic en Rub the Lamp y espera las ideas de regalos. Si la página se disculpa en su lugar, lee las líneas [1] más recientes en la terminal.
Solución de problemas
Solo para navegador: una página en blanco, y la consola dice Missing AI_URL, Missing AI_MODEL o Missing AI_KEY: Vite no encontró ese valor. Verifica que .env esté junto a package.json y que los nombres estén deletreados exactamente como arriba, luego guárdalo. Vite se reinicia por sí solo (.env changed, restarting server...); recarga la página.
Con backend: la terminal dice Missing credentials, luego Failed running 'server.js': El servidor se inició sin tu .env. Verifica que el script server contenga --env-file=.env y que .env deletree AI_KEY exactamente, luego detén el proyecto con Ctrl+C y ejecuta npm start de nuevo.
Con backend: la terminal dice node: .env: not found: La bandera está en su lugar, pero no hay .env junto a package.json. Créalo ahí, o verifica que tu editor no lo guardó como .env.txt. El servidor ya se ha detenido, así que detén el proyecto con Ctrl+C y ejecuta npm start de nuevo.
Con backend: la página dice Sorry, I can't access what I need right now, y la terminal muestra 401 con Incorrect API key provided: La petición llegó a tu proveedor, que no aceptó la clave. Copia la clave de nuevo, y verifica que la URL en AI_URL pertenezca al mismo proveedor.
Tu proveedor dice que el modelo no existe o no está disponible: El mensaje se muestra en una línea [1] en la terminal para el proyecto con backend, o en la consola del navegador para una lección solo para navegador que envía una petición. Copia el ID del modelo de nuevo exactamente como tu proveedor lo lista, y verifica que pertenezca al proveedor en AI_URL.
Con backend: la terminal muestra http proxy error: /api/gift con ECONNREFUSED: Vite no puede alcanzar Express en el puerto 3001. Desplázate hacia arriba a las primeras líneas [1]. Si muestran un error, el servidor se detuvo ahí, usualmente por una de las razones arriba. Si dicen Server running at un puerto que no es 3001, tu terminal ya configura PORT, que gana sobre .env: cambia el destino del proxy en vite.config.js a ese puerto.
Con backend: EADDRINUSE menciona el puerto 3001: Otro programa está usando el puerto del servidor. Detenlo, o configura PORT en .env y cambia el destino del proxy en vite.config.js al mismo puerto.
npm start dice concurrently: command not found o vite: command not found: Los paquetes no están instalados en esta carpeta. Ejecuta npm install en la carpeta que contiene package.json.

