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

Ejecutar proyectos de modelos de código abierto localmente

Usa esta página para ejecutar cualquiera de los proyectos extraídos de modelos de código abierto. Uno carga un modelo de Transformers.js en tu navegador; el otro ejecuta un servidor Express que llama a Ollama en tu computadora. Identifica qué proyecto tienes y sigue solo la configuración correspondiente.

Lo que necesitas primero

Instala una versión LTS compatible de Node.js. Se recomienda Node 24 e incluye npm. Si Node y npm son nuevos para ti, Ejecutar el código localmente te guía a través de la instalación y verificación de ambos.

El proyecto de Transformers.js necesita un navegador actual, una conexión a internet para la descarga inicial de la librería y el modelo, y suficiente almacenamiento y memoria en el navegador para el modelo. No necesita una clave API.

El proyecto de Ollama también necesita Ollama, suficiente espacio en disco y memoria para el modelo mistral, y su servicio Ollama local ejecutándose. No necesita una cuenta de proveedor ni clave API.

JunoLo que necesitas primero Instala Node.js LTS primero, luego elige tu camino: un navegador actual y una conexión a internet para Transformers.js, o la app Ollama con su servicio ejecutándose para la lección de Ollama. Ninguno necesita una clave API, y la primera vez que lo configuré pensé que era demasiado bueno para ser verdad. ¡Pero es verdad!
JunoLo que necesitas primero Ambos proyectos ejecutan el modelo en tu propio hardware, así que no hay clave de proveedor que configurar. Transformers.js trae el modelo a la pestaña del navegador; la lección de Ollama necesita el servicio Ollama separado instalado y ejecutándose antes de que su servidor pueda alcanzarlo. De cualquier forma, instala Node LTS, porque npm impulsa ambas configuraciones.
JunoLo que necesitas primero Dos rutas de computación local, dos presupuestos de recursos. La ruta del navegador se apoya en activos de librería y modelo remotos más caché, almacenamiento y memoria del navegador; la ruta de Ollama necesita el servicio nativo, pesos descargados y suficiente capacidad de máquina para la inferencia. Verifica el hardware antes de la lección, un hábito que adquirí después de cargar un modelo en una laptop que no podía sostenerlo.

Identifica el proyecto que extrajiste

Abre una terminal en la carpeta extraída que contiene package.json:

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

Si el nombre de la carpeta no te dice cuál lección extrajiste, abre index.js. Una importación de express significa la lección de Ollama, que necesita la reparación de paquete abajo; una importación de Transformers.js significa la app del navegador, que funciona tal como está.

JunoIdentifica el proyecto que extrajiste Abre tu terminal justo al lado de package.json, como te pararías en la cocina antes de empezar a cocinar. Un proyecto de modelo de navegador sigue la sección de Transformers.js; el servidor Express sigue la sección de Ollama. Una vez ejecuté toda una configuración una carpeta demasiado arriba, así que verifica dónde estás primero.
JunoIdentifica el proyecto que extrajiste Las dos descargas se ven parecidas desde afuera pero funcionan diferente: el proyecto de modelo de navegador comienza con Vite, mientras que el proyecto de Ollama es un servidor Node que también necesita el servicio Ollama separado. Elige la sección que coincide con la tuya y sigue solo esa, porque los pasos de configuración no se mezclan.
JunoIdentifica el proyecto que extrajiste Identifica el proyecto a partir de evidencia, no del nombre de la carpeta: abre index.js. Una importación de express significa la lección de Ollama y la reparación de paquete abajo; una importación de Transformers.js significa la app de navegador Vite funciona tal como está. Omití esa verificación exactamente una vez, y una vez fue más que suficiente.

Ejecuta el proyecto de Transformers.js

Usa estas instrucciones para AI Models In The Browser With Transformers.js. Este proyecto necesita Node y npm para Vite.

Instálalo e inicia:

bash
$ npm install
$ npm start

Abre la URL Local que Vite imprime, generalmente http://localhost:5173/. La página primero importa Transformers.js desde jsDelivr y luego descarga el modelo de detección de objetos Xenova/yolos-tiny. Espera hasta que su estado cambie de Loading model... a Ready antes de seleccionar Detect Objects.

La primera carga necesita una conexión a internet y puede tomar más tiempo que una página frontend ordinaria; las cargas posteriores provienen de la caché del navegador. Si el estado nunca llega a Ready, abre la pestaña Network de DevTools: una solicitud bloqueada de jsDelivr apunta a un problema de CDN o bloqueador de contenido, mientras que un archivo de modelo que crece lentamente significa que la descarga de pesos todavía está en progreso. Detén Vite con Ctrl+C.

No se necesita credencial de proveedor

El modelo se ejecuta en tu navegador en lugar de a través de una API de inferencia alojada. No hay archivo .env ni clave API que configurar para esta lección.

JunoEjecuta el proyecto de Transformers.js Ejecuta npm install, luego npm start, abre la URL Local y espera a que el estado llegue a Ready antes de seleccionar nada. La primera descarga de modelo es como una mudanza: lenta una vez, luego lista. Solía hacer clic temprano y asumir que lo había roto, así que dale un momento.
JunoEjecuta el proyecto de Transformers.js Tres cosas se cargan en orden: Vite sirve la página, jsDelivr proporciona la librería, y los pesos del modelo se descargan en el navegador para ejecutarse allí. Esa primera carga está limitada por la red, así que un estado lento generalmente significa una descarga en progreso, no un error. Espera a Ready, luego detecta.
JunoEjecuta el proyecto de Transformers.js La primera carga está limitada por la red; todas las cargas posteriores salen de la caché del navegador. Cuando Ready nunca llega, la pestaña Network de DevTools lo aclara: una solicitud bloqueada de jsDelivr es un problema de CDN o bloqueador de contenido, mientras que un archivo de modelo que avanza lentamente es un estancamiento de pesos. Verifico esa pestaña antes de culpar al modelo, una lección que una vez me costó una hora.

Repara y ejecuta el proyecto de Ollama

Usa estas instrucciones para Download and Run AI Models on Your Computer with Ollama. El ZIP exportado contiene el código Node de la lección, pero su package.json generado todavía describe un proyecto Vite. No puede ejecutarse localmente sin una pequeña reparación de paquete.

Después de instalar Ollama, asegúrate de que su servicio local esté ejecutándose. Descarga el modelo nombrado por el código de la lección:

bash
$ ollama pull mistral
$ ollama ls

El segundo comando debería listar mistral. Dependiendo de tu sistema operativo, abrir la aplicación Ollama inicia el servicio automáticamente. Si no lo hace, ejecuta ollama serve en una terminal separada y déjalo ejecutándose.

En el proyecto extraído, agrega "type": "module" como una propiedad de nivel superior de package.json, hermana de "scripts":

json
{
  "type": "module",
  "scripts": {
    "start": "vite"
  }
}

Luego cambia el script de inicio de:

json
"start": "vite"

a:

json
"start": "node index.js"

Instala las dos dependencias importadas por index.js:

bash
$ npm install express ollama
$ npm start

El servidor imprime:

text
Server is running on port 3000

Prueba la ruta sin invocar un modelo:

text
http://localhost:3000/

Debería pedirte que suministres un parámetro question. Luego intenta una solicitud de modelo local real:

text
http://localhost:3000/?question=Why%20is%20the%20sky%20blue%3F

El servidor Express espera mientras Ollama carga el modelo y genera su respuesta. La primera respuesta puede ser notablemente más lenta. Detén Express con Ctrl+C. Detén un proceso ollama serve lanzado separadamente con Ctrl+C cuando ya no lo necesites.

No necesitas clave API de proveedor ni archivo .env para ninguno de los proyectos; los pesos del modelo y la inferencia permanecen en la máquina que ejecuta Ollama. Los proyectos de modelos alojados del curso funcionan diferente: Ejecutar Agents localmente muestra la configuración de clave y .env que necesitan.

JunoRepara y ejecuta el proyecto de Ollama Extrae el modelo mistral, mantén Ollama ejecutándose, luego arregla package.json: agrega el tipo de módulo y apunta el script de inicio a node index.js. Instala express y ollama, inicia el servidor y hazle una pregunta en el puerto 3000. Una respuesta lenta la primera vez significa que el modelo se está cargando, no que algo se rompió, lo cual desearía que alguien me hubiera dicho la primera vez.
JunoRepara y ejecuta el proyecto de Ollama Dos procesos cooperan aquí: Ollama sirve el modelo y Express expone la ruta de la lección. El ZIP envía metadatos de paquete con forma de Vite, así que agrega el tipo de módulo y reapunta el script de inicio para que coincida con el punto de entrada de Node, luego instala las dos importaciones. Si una solicitud se congela, verifica cuál de los dos procesos se detuvo.
JunoRepara y ejecuta el proyecto de Ollama La exportación describe el tipo de app equivocado, así que las ediciones del paquete son la reparación, no el pulido: tipo de módulo ESM más un script de inicio de Node. Incluso reparado, Express solo responde si Ollama se ejecuta separadamente con mistral ya extraído; el servidor nunca inicia el servicio de modelo para ti. Espera que la primera inferencia sea la más lenta mientras se cargan los pesos.

Solución de problemas

La página de Transformers.js se queda en Loading model...: Verifica la consola del navegador y la conexión a internet. Los bloqueadores de contenido o una red restringida pueden bloquear jsDelivr o la descarga del modelo. Intenta con un navegador actual con suficiente almacenamiento libre y memoria.

El proyecto de Ollama dice Cannot find package 'express' o 'ollama': Ejecuta npm install express ollama en la carpeta que contiene package.json.

Node dice Cannot use import statement outside a module: Agrega "type": "module" a package.json.

npm start lanza Vite o se queja sobre un index.html faltante: Cambia el script de inicio a node index.js. La lección de Ollama es un servidor Node, no una página Vite.

La ruta no puede conectarse a Ollama: Confirma que la aplicación Ollama o ollama serve está ejecutándose, luego usa ollama ls para confirmar que el modelo mistral está instalado.

El puerto 3000 ya está en uso: Detén el otro proceso o cambia la constante port en index.js, reinicia Express y abre la URL coincidente.

JunoSolución de problemas Haz coincidir la solución con el proyecto: para Transformers.js observa la actividad de red del navegador y la Consola, y para Ollama verifica la reparación del paquete, el modelo instalado, el servicio ejecutándose y el puerto. La mayoría de los errores aquí provienen de un paso que falta, no de una computadora rota. Lo digo como alguien que una vez reinstalé Node por un typo.
JunoSolución de problemas Determina qué runtime falló antes de cambiar nada: Vite y los activos del navegador pertenecen al proyecto de Transformers.js, mientras que Node, Express y el servicio de Ollama pertenecen al otro. Lee el error para saber qué mundo nombra, luego ejecuta la lista de verificación de ese proyecto. Las soluciones aplicadas al proyecto equivocado principalmente crean nuevos errores.
JunoSolución de problemas Para Transformers.js, la falla vive en las descargas o memoria del navegador. Para Ollama, recorre la cadena en orden: Node acepta la sintaxis del módulo, Express posee el puerto 3000, el servicio está ejecutándose, y mistral aparece en ollama ls. Los síntomas posteriores a menudo son una ruptura anterior disfrazada.