Guía de inicio rápido de Vane (Perplexica 2.0) con Ollama y llama.cpp

Búsqueda de IA autoalojada con LLMs locales

Índice

Vane es una de las entradas más pragmáticas en el espacio de “búsqueda de IA con citas”: un motor de respuestas autoalojado que combina la recuperación en tiempo real de la web con LLMs locales o en la nube, manteniendo toda la pila bajo tu control.

El proyecto era conocido originalmente como Perplexica, y el cambio de nombre a Vane no es cosmético: refleja tanto una limpieza de marca como un cambio constante para alejarse de ser visto como “un clon” y posicionarse como un motor de respuestas generalista.

laptop-llama-server

Dado que la parte útil de la pila no es solo la interfaz de usuario, sino también dónde reside la inferencia y los datos, esta comparación del alojamiento de LLM en 2026 integra configuraciones locales, autoalojadas y en la nube para que puedas situar a Vane junto a otros runtime y opciones de despliegue.

Este artículo se centra en las partes que a los lectores técnicos realmente les importan: cómo funciona el sistema, un inicio rápido mínimo con Docker y cómo ejecutarlo con inferencia local a través de Ollama y llama.cpp (directamente o a través de LM Studio). Por el camino, cada tema de la FAQ se responde en contexto, sin dejarlo aparcado al final.

Vane es deliberadamente un motor de respuestas y no un sistema de investigación recursiva, y vale la pena ser preciso al respecto de esa distinción. Sistemas de Investigación Profunda Autoalojados: 12 Herramientas Comparadas alinea a Vane frente a doce arquitecturas de investigación autoalojadas y explica por qué “ejecutar múltiples búsquedas” no es lo mismo que “realizar Investigación Profunda”.

Qué es Vane y cómo funcionan los motores de búsqueda de IA

A un nivel general, Vane es una aplicación Next.js que combina una interfaz de chat con búsqueda y citas. Las piezas arquitectónicas clave son también exactamente las que uno esperaría de un motor de búsqueda de IA moderno: rutas de API para chat y búsqueda, orquestación que decide cuándo realizar la recuperación, y un redactor de respuestas consciente de las citas.

Cuando envías una consulta en la interfaz de usuario, Vane llama a POST /api/chat. Internamente, el flujo de trabajo está deliberadamente estructurado:

  • Primero clasifica la pregunta para decidir si se necesita investigación y qué auxiliares deben ejecutarse.
  • Ejecuta la investigación y los widgets en paralelo.
  • Genera la respuesta final e incluye citas.

Esa etiqueta de “motor de búsqueda de IA” importa, porque esto no es solo un frontend de chat. La diferencia clave es la generación aumentada por recuperación: en lugar de depender puramente de los parámetros del LLM, Vane obtiene contexto externo (resultados web y opcionalmente subidas de usuario) y utiliza ese material como sustrato de fundamentación para la respuesta final. Su documentación señala explícitamente la búsqueda web y “buscar en archivos subidos por el usuario” como parte de la investigación, utilizando embeddings para la búsqueda semántica sobre las subidas.

Las citas no son una ocurrencia tardía. Vane le indica al modelo que cite las referencias que utilizó, y luego la interfaz de usuario renderiza esas citas junto a la respuesta. En la práctica, esto es lo que separa a la búsqueda de IA “útil” de un generador de alucinaciones confiado que simplemente tiene un botón de búsqueda.

SearxNG se sitúa bajo la capa de recuperación web para la mayoría de las configuraciones. SearxNG es un motor de metabúsqueda gratuito que agrega resultados de muchos servicios de búsqueda y, por diseño, no realiza seguimiento ni crea perfiles de usuarios. Esa es una filosofía fundamentalmente diferente a las APIs de búsqueda pagadas, que suelen darte un índice de un solo proveedor y un contrato de datos comercial.

Historia y cambio de nombre de Perplexica a Vane

Perplexica comenzó como un motor de respuestas de código abierto y autoalojable, inspirado por Perplexity AI. Varias guías públicas todavía describen el proyecto como “anteriormente conocido como Perplexica” y tratan a Vane como la continuación en lugar de un fork hostil.

El cambio de nombre se implementó directamente en el repositorio upstream. En el historial de commits de la rama master, el commit titulado feat(app): rename to 'vane' aparece el 9 de marzo de 2026 (SHA 39c0f19).

El “cómo” es más interesante que el titular. Ese commit de cambio de nombre no es solo un ajuste en el README: actualiza los nombres de las imágenes de Docker de itzcrazykns1337/perplexica a itzcrazykns1337/vane, ajusta las rutas del sistema de archivos del contenedor de /home/perplexica a /home/vane, y actualiza el texto y los activos del proyecto en consecuencia.

Si te estás preguntando por qué los proyectos de IA de código abierto cambian de nombre, Vane es un ejemplo de manual de los impulsores habituales:

  • La proximidad del nombre a una marca comercial crea confusión (y a veces riesgo legal).
  • El alcance del proyecto se expande más allá del marco original (de “clon” a “motor de respuestas”).
  • Los artefactos de distribución necesitan una identidad coherente (imágenes de Docker, documentación, etiquetas de la interfaz de usuario).

Además, el ecosistema no cambia de nombre de la noche a la mañana. Docker Hub todavía muestra ambos repositorios bajo la cuenta del mantenedor, incluyendo itzcrazykns1337/vane y itzcrazykns1337/perplexica. Así que todavía verás blogs antiguos, archivos compose y referencias al registro que usan la nomenclatura de Perplexica incluso después del rebranding del repositorio.

Inicio rápido con Docker y configuración básica

El README oficial de Vane es refrescantemente directo: ejecuta un solo contenedor y obtienes Vane más un backend de búsqueda SearxNG integrado. El inicio rápido mínimo con Docker se ve así.

docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest

Esa imagen se posiciona como la ruta “solo funciona” porque incluye SearxNG ya, por lo que no necesitas un backend de búsqueda externo solo para probar la interfaz de usuario. La configuración sucede en la pantalla de configuración después de abrir la interfaz web en http://localhost:3000.

Si ya ejecutas SearxNG (común en homelabs), la imagen “slim” de Vane espera que la apuntes a una instancia externa de SearxNG usando SEARXNG_API_URL. El README también señala dos expectativas prácticas de configuración de SearxNG: salida JSON habilitada y el motor de Wolfram Alpha habilitado.

docker run -d -p 3000:3000 \
  -e SEARXNG_API_URL=http://your-searxng-url:8080 \
  -v vane-data:/home/vane/data \
  --name vane \
  itzcrazykns1337/vane:slim-latest

Mantener Vane actualizado también está documentado en el repositorio. El flujo de trabajo de actualización oficial es básicamente obtener la imagen más reciente y reiniciar con el mismo volumen, lo que preserva la configuración.

docker pull itzcrazykns1337/vane:latest
docker stop vane
docker rm vane
docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest

Una vez que lo tengas en ejecución, Vane puede usarse como un atajo de motor de búsqueda del navegador apuntando a un motor personalizado en http://localhost:3000/?q=%s. Esa es una característica pequeña con un impacto desproporcionado si quieres que la “búsqueda de IA” se sienta como una búsqueda y no como una aplicación a la que visitas.

Para automatización e integración, Vane expone una API. La documentación describe GET /api/providers para descubrir proveedores y modelos configurados, y POST /api/search para ejecutar una búsqueda con un modelo de chat elegido, un modelo de embeddings, fuentes y un optimizationMode (velocidad, equilibrado, calidad).

Configuración de LLM local con Ollama

Vane soporta LLMs locales a través de Ollama y proveedores en la nube en la misma interfaz de usuario, que es la abstracción correcta si piensas en términos de “conexiones” y “modelos” en lugar de “proveedores”.

Hojas de referencia de Ollama lista comandos CLI comunes y comprobaciones rápidas de API que se combinan bien con la selección de modelos y la verificación de Ollama antes de perseguir problemas de red de Docker.

El problema más común no es la elección del modelo, sino la red. Cuando Vane se ejecuta en Docker y Ollama en el host, “localhost” no significa lo que crees desde dentro del contenedor. Vane documenta URLs base específicas del sistema operativo para conectarse a Ollama desde un contenedor.

Problemas de conectividad con Docker

La sección de solución de problemas de Vane recomienda explícitamente:

  • Windows y macOS: http://host.docker.internal:11434
  • Linux: http://<ip_privada_del_host>:11434

Para Linux, Vane también señala que Ollama puede estar vinculado a 127.0.0.1 por defecto y necesita ser expuesto. El README sugiere configurar OLLAMA_HOST=0.0.0.0:11434 en el servicio de systemd y reiniciar el servicio.

Esto se alinea con las propias variables de entorno de serve de Ollama, donde OLLAMA_HOST controla la dirección de vinculación del servidor y tiene un valor predeterminado de 127.0.0.1:11434.

Mantén los modelos calientes y elige modelos

Si ejecutas inferencia local, sentirás los arranques en frío. Ollama tiene dos mecanismos relacionados para mantener los modelos cargados:

  • OLLAMA_KEEP_ALIVE como configuración del servidor.
  • keep_alive como un parámetro por solicitud para /api/generate y /api/chat, que sobrescribe el valor predeterminado del servidor.

Vane añadió su propio soporte para keep_alive para modelos de Ollama (para que la aplicación pueda influir en cuánto tiempo un modelo permanece en memoria). Esa función aparece en las notas de versión de Vane v1.10.0.

La selección de modelos es la parte que se sobrecomplica en internet. Para el trabajo de estilo Vane, la división más práctica es:

  • Un modelo de chat afinado para instrucciones (para resumen y síntesis).
  • Un modelo de embeddings para la búsqueda de similitud sobre subidas y texto recuperado. La documentación de la API de Vane muestra que la solicitud de búsqueda elige explícitamente tanto un modelo de chat como un modelo de embeddings.

Ollama en sí mismo soporta flujos de trabajo de embeddings, e incluso la documentación de la CLI incluye un ejemplo que usa nomic-embed-text para embeddings.

Esta también es la respuesta a la FAQ sobre ejecutar búsqueda de IA localmente sin APIs de nube: con Vane en Docker, SearxNG local y Ollama en tu hardware, puedes mantener tanto tus consultas de búsqueda como tus subidas de documentos privados dentro de tu propia frontera de red. (Si decides conectarte a un proveedor en la nube en cambio, la conexión obviamente cambia la ruta de los datos.)

Configuración de LLM local con llama.cpp

Hay dos formas realistas de emparejar Vane con llama.cpp:

  • Usar LM Studio como la capa de servidor (y dejar que Vane hable con ella).
  • Ejecutar el propio servidor HTTP de llama.cpp (llama-server) y conectarse a través de un punto final compatible con OpenAI.

Vane soporta explícitamente “Servidores Compatibles con OpenAI-API Locales” y señala los requisitos habituales: vincular a 0.0.0.0 en lugar de 127.0.0.1, usar el puerto correcto, configurar un nombre de modelo que exista en el servidor, y no dejar el campo de la clave de API vacío incluso si el servidor no fuerza la autenticación.

LM Studio es relevante aquí porque se sitúa sobre backends locales (a menudo llama.cpp) mientras expone una API compatible con OpenAI. Vane v1.12.1 señala específicamente la adición de un proveedor de LM Studio.

La documentación de LM Studio lista los puntos finales compatibles con OpenAI soportados y muestra un ejemplo de URL base usando http://localhost:1234/v1 (asumiendo el puerto 1234). Eso importa porque, desde la perspectiva de Vane, es “solo otro servidor de estilo OpenAI”.

Si prefieres ejecutar llama.cpp directamente, Inicio rápido de llama.cpp con CLI y Servidor cubre la instalación, llama-cli y llama-server. El servidor HTTP oficial de llama.cpp soporta rutas completas de chat, respuestas y embeddings compatibles con la API de OpenAI, junto con una larga lista de funciones del servidor (lote de trabajo, monitoreo, uso de herramientas).

Incluso si no memorizas las banderas, las partes importantes son:

  • El servidor existe y está documentado activamente.
  • La superficie de la API es suficientemente compatible para que los clientes de estilo OpenAI puedan hablar con ella, que es exactamente lo que Vane necesita para su patrón de conexión “compatible con OpenAI”.

Lo que se ha lanzado recientemente y lo que está cambiando ahora

Si quieres entender en qué se ha convertido Vane durante el último año, sigue las notas de versión y el historial de la rama master en lugar del hype.

A partir del 10 de abril de 2026 (Australia/Melbourne), la última liberación de GitHub con etiqueta visible en la página de releases es v1.12.1 (31 de diciembre de 2025). Esa versión señala la adición de un proveedor de LM Studio y correcciones alrededor de la llamada a funciones con proveedores compatibles con OpenAI y el análisis de JSON.

Las versiones anteriores delinean los cambios más grandes:

  • v1.11.0 (21 de octubre de 2025) introdujo un nuevo asistente de configuración y un sistema de configuración rediseñado, junto con un soporte más amplio de proveedores y una ruta de instalación de Docker de un solo comando. También menciona la obtención dinámica de modelos y diversas mejoras en la interfaz de usuario y la experiencia del desarrollador.
  • v1.12.0 (27 de diciembre de 2025) es un reinicio arquitectónico: elimina LangChain en favor de una implementación personalizada para la transmisión, la generación y el comportamiento específico del proveedor. También cambia el nombre de “providers” a “connections”, añade mejoras en la interfaz de usuario y la renderización de código, y mueve más capacidad hacia las propias abstracciones del proyecto (incluyendo una mejor llamada a funciones frente a los enfoques de análisis anteriores).
  • Anteriormente, v1.10.0 (20 de marzo de 2025) añadió subidas de archivos (PDF, TXT, DOCX), añadió un parámetro de keep_alive para Ollama, añadió una clase de agente de metabúsqueda para mejorar la mantenibilidad y la creación de modo de enfoque, y añadió la funcionalidad de búsqueda automática de imágenes y videos.

En el lado de la marca, el cambio de nombre a Vane llegó el 9 de marzo de 2026 en master (feat(app): rename to 'vane'), actualizando tanto la nomenclatura de la base de código como los artefactos de Docker.

Y el proyecto no se detuvo en su evolución después de la versión de diciembre de 2025. Los commits de la rama master del 8 al 9 de abril de 2026 incluyen trabajo descrito como “modo de investigación profunda actualizado, gestión de contexto” y nuevos cambios en la ejecución de la búsqueda y relacionados con el scraping. En otras palabras, la parte de “motor de búsqueda de IA” aún se está iterando activamente, no está congelada detrás de las etiquetas de versión.

Algunas Referencias

Suscribirse

Recibe nuevas publicaciones sobre sistemas, infraestructura e ingeniería de IA.