Perplexica: un Perplexity auto-hospedado con tu LLM local
Perplexity ha popularizado una forma de uso: plantear una pregunta en lenguaje natural y recibir una respuesta resumida con sus fuentes citadas, en lugar de una lista de enlaces azules. Perplexica reproduce exactamente este funcionamiento, pero en tu propia infraestructura: un motor de búsqueda web de código abierto que consulta la web a través de SearXNG y luego encarga a tu LLM local, ejecutado con Ollama, que redacte la respuesta. Esta guía explica cómo montar el conjunto completo en Docker, describe los modos de búsqueda (los famosos «focus») y expone sin rodeos lo que se gana y lo que se pierde frente al original.
#¿Por qué Perplexica en lugar de Perplexity?
Perplexity es un excelente producto, pero es un servicio en la nube: tus consultas se envían a ellos, la versión gratuita está limitada y el modelo que redacta no está bajo tu control. Perplexica invierte la lógica. Es un proyecto de código abierto (licencia MIT, disponible en GitHub) que coordina tres componentes que tú mismo alojas. Ninguna consulta abandona tu red, no hay nada que pagar y tú eliges el modelo que responde.
El interés no es solo ideológico. Un motor de respuestas local puede consultar fuentes sin estar limitado por cuotas, ejecutarse en segundo plano en un homelab y servir como componente de búsqueda para otras herramientas a través de su interfaz. A cambio, la calidad depende directamente de tu modelo local y del buen funcionamiento de tu instancia de SearXNG: dos puntos en los que insiste esta guía.
#El stack Perplexica + SearXNG + Ollama
Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.
- Espacio en línea de por vida
- PDF + archivos
- Reembolsado 30 j
Tres módulos, cada uno con un papel claro. Entender qué hace cada uno facilita mucho la resolución de problemas cuando una respuesta es incorrecta: sabrás cuál de los tres examinar.
- SearXNG
- Un metabuscador libre que agrega los resultados de decenas de motores (Google, Bing, DuckDuckGo, Wikipedia…) sin rastreo. Es el que realmente realiza las búsquedas en la web. Perplexica no funciona sin él.
- Ollama
- El demonio que sirve tu LLM local en http://localhost:11434. Es el que redacta la respuesta final a partir de las fuentes. También proporciona un modelo de embeddings para clasificar la pertinencia de los fragmentos.
- Perplexica
- El director de orquesta y la interfaz web. Reformula la pregunta, controla SearXNG, extrae el contenido de las páginas, gestiona la reclasificación mediante embeddings y compone el prompt final enviado a Ollama.
#Prerrequisitos
Nada exótico, pero hay algunos aspectos del hardware y de las versiones que conviene vigilar.
- Docker + Docker Compose
- Toda la pila se despliega en contenedores. Basta con Docker Desktop (Windows/Mac) o con Docker Engine más el plugin compose (Linux). Es el modo de instalación oficial recomendado.
- Ollama instalado y arrancado
- El daemon debe estar en ejecución y ser accesible. Compruébalo con ollama list. Si Ollama se ejecuta en la máquina anfitriona y Perplexica en Docker, la dirección que debes usar es http://host.docker.internal:11434, no localhost.
- Un modelo de chat
- Un 7-8B en Q4_K_M (~5 GB de VRAM) es un mínimo razonable; un 14B (~9 GB) genera síntesis claramente más fiables. La calidad de la respuesta final depende directamente de esta elección.
- Un modelo de embeddings
- Ligero y rápido, por ejemplo nomic-embed-text. Se utiliza únicamente para la reclasificación interna, no para la redacción.
- ~5 GB de disco y un poco de RAM
- Para las imágenes de Docker (Perplexica + SearXNG) y la caché. Ollama gestiona los modelos por separado.
#Instalación con Docker en 10 minutos
La instalación oficial se realiza desde el repositorio Git del proyecto, que incluye un archivo docker-compose.yaml que preconfigura tanto Perplexica como una instancia dedicada de SearXNG. No necesitas instalar SearXNG por separado: el archivo de Compose se encarga de ello.
- 01Clonar el repositorioDescarga el proyecto Perplexica desde GitHub y sitúate en el directorio. Todo lo que sigue se hace allí.
- 02Crear el archivo de configuraciónEl repositorio proporciona una plantilla sample.config.toml. Cópiala como config.toml: este es el archivo que Perplexica lee al arrancar para conocer tus backends.
- 03Verificar el archivo ComposeEl archivo docker-compose.yaml define tres servicios: perplexica (la app), searxng y los elementos de red necesarios. Por defecto, la interfaz web está expuesta en el puerto 3000.
- 04Iniciar la pilaEl comando docker compose up construye las imágenes en el primer inicio y luego pone todo en marcha. Calcula unos minutos la primera vez, el tiempo necesario para descargar y construir las imágenes.
- 05Abrir la interfazVe a http://localhost:3000. Si aparece la página de chat, la mitad del trabajo ya está hecha; queda conectar los modelos.
#Conectar Ollama a Perplexica
Hay dos formas de configurar los modelos: mediante el archivo config.toml antes del inicio, o mediante la pantalla de ajustes de la interfaz web después. La interfaz es más sencilla para comenzar; el archivo es práctico para un despliegue reproducible.
El punto delicado es la dirección de Ollama. Perplexica se ejecuta dentro de un contenedor; para él, localhost designa el propio contenedor, no tu máquina. Si Ollama está instalado en el host, utiliza host.docker.internal (Windows/Mac, y Linux con la opción de host adecuada) en lugar de localhost.
- 01Abrir los ajustesEn la interfaz web, el icono de ajustes da acceso a la selección de proveedores de modelos. Elige Ollama como proveedor.
- 02Introducir la URL de OllamaIntroduce la dirección de la API (host.docker.internal:11434 desde Docker). Perplexica entonces consulta Ollama y lista automáticamente los modelos disponibles.
- 03Elegir el modelo de chatSelecciona el modelo que redactará las respuestas (por ejemplo, qwen3.5:9b). Es el factor n.º 1 para mejorar la calidad.
- 04Elegir el modelo de embeddingsElige nomic-embed-text (o equivalente) para el reordenamiento de los extractos. Sin embeddings válidos, el orden de las fuentes se degrada.
- 05Plantear una primera preguntaPrueba con una pregunta factual reciente. Si aparecen fuentes numeradas bajo la respuesta, la cadena completa funciona.
#Modos de enfoque: académico, videos, Reddit…
Es la función distintiva de Perplexica. En lugar de buscar por todas partes de la misma manera, eliges un «focus mode» que orienta SearXNG hacia un tipo de fuente y adapta la forma de redactar. Elegir el modo adecuado cambia radicalmente la pertinencia de los resultados.
- All Mode
- El modo predeterminado: búsqueda generalista en toda la web. Utilizar para preguntas abiertas sin un ámbito específico.
- Academic Search
- Orienta la búsqueda hacia fuentes científicas y artículos de investigación. Ideal para una revisión de la literatura o una pregunta técnica especializada.
- Writing Assistant
- Un modo sin búsqueda web: Perplexica utiliza solo el LLM para redactar o reformular. Útil cuando no necesitas fuentes externas.
- YouTube Search
- Se centra en los vídeos: la respuesta se basa en contenido pertinente de YouTube, con enlaces. Útil para tutoriales y demostraciones.
- Wolfram Alpha Search
- Para preguntas de cálculo, científicas y sobre datos factuales: la respuesta se basa en Wolfram Alpha.
- Reddit Search
- Busca en los hilos de Reddit: opiniones, experiencias de uso, debates comunitarios. Especialmente valioso para preguntas de opinión o sobre productos.
#Calidad real de las respuestas
Seamos honestos: con un pequeño modelo local, la síntesis es menos fluida y menos sutil que con los modelos de vanguardia que alimentan Perplexity. Pero el pipeline cuenta tanto como el modelo. Tres factores determinan el resultado final.
- Tamaño del modelo de chat
- Este es el factor dominante. Un modelo de 7-8B redacta respuestas correctas pero a veces superficiales; un modelo de 14B sigue mejor las instrucciones de cita y sintetiza de forma más clara. Por encima de ese tamaño, un modelo de 32B (~19 GB de VRAM) se acerca a una experiencia convincente.
- La salud de SearXNG
- Si algunos motores están bloqueados o sujetos a límites de solicitudes, SearXNG devuelve pocos resultados y la respuesta se empobrece en la misma medida. Una respuesta sin sustancia suele deberse a la falta de fuentes, no al LLM.
- El contexto disponible
- Perplexica inyecta fragmentos de varias páginas en el prompt. Un modelo con una ventana de contexto corta trunca las fuentes y pierde información. Prioriza un modelo con una ventana de contexto amplia (mínimo 8k, más si es posible).
#Frente a Perplexity: lo que perdemos, lo que ganamos
Perplexica no es un clon perfecto, y afirmarlo sería deshonesto. Aquí tienes una evaluación realista para decidir si merece la pena en tu caso.
- Se gana — confidencialidad
- Ninguna solicitud sale de tu red. Ni el tema de tus búsquedas ni las respuestas pasan por un tercero. Para el seguimiento de información sensible, esto es decisivo.
- Ventajas — coste y cuotas
- Nada que pagar, ningún límite de consultas. Puedes realizar tantas búsquedas como tu hardware soporte e integrarlo con otras herramientas sin pagar una factura de API.
- Se gana — control
- Tú eliges el modelo y los motores consultados a través de SearXNG, y puedes autoalojarlo todo en un homelab de forma duradera.
- Se pierde — la sutileza de la redacción
- Los modelos en la nube de Perplexity son más grandes y más refinados. Con hardware modesto, la síntesis local es más insípida y contiene más aproximaciones.
- Lo que se pierde: la robustez de una solución llave en mano
- Perplexity gestiona la infraestructura por ti. En tu entorno, si SearXNG alcanza el límite de solicitudes o si Ollama satura la VRAM, te corresponde diagnosticar el problema y solucionarlo.
- Se pierden — algunas funciones
- Sin una aplicación móvil pulida, sin un Pro Search de varios pasos tan desarrollado, sin integraciones propietarias. Perplexica cubre lo esencial, pero no todas las comodidades del producto comercial.
#Solución de problemas comunes
- Perplexica no ve Ollama
- Casi siempre es un problema con la dirección. Desde Docker, reemplaza localhost por host.docker.internal (y en Linux, añade extra_hosts con host-gateway). Comprueba que Ollama esté escuchando y permite las conexiones desde fuera de localhost si es necesario.
- Ninguna fuente en las respuestas
- SearXNG no devuelve nada. Abre directamente la interfaz de SearXNG para probar una búsqueda: si falla, algunos motores están bloqueados o sujetos a límites de solicitudes. Reduce el número de motores activos o espera.
- La lista de modelos está vacía
- Perplexica consulta Ollama al cargar los parámetros. Si la lista está vacía, la URL de la API es incorrecta o Ollama no tiene ningún modelo. Compruébalo con ollama list en el equipo anfitrión.
- Respuestas muy lentas
- El modelo de chat probablemente es demasiado grande para tu VRAM y parte de su ejecución pasa a la CPU. Cambia a una cuantización más ligera (Q4_K_M) o a un modelo más pequeño; comprueba que se esté utilizando la GPU.
- Errores de embeddings
- El modelo de embeddings no está seleccionado o no está descargado. Ejecuta ollama pull nomic-embed-text y selecciónalo explícitamente en los ajustes.
- El puerto 3000 ya está en uso
- Otro servicio ocupa el puerto. Cambia la asignación de puertos en docker-compose (por ejemplo, 3001:3000) y recarga la pila.
#Para ir más allá
Perplexica solo puede ser tan bueno como el modelo y la infraestructura que lo sustentan. Estas guías consolidan las bases sobre las que se apoya.
- Ollama, ¿qué es y cómo funciona?
- El daemon que sirve tu modelo de chat y tus embeddings en el puerto 11434: el componente del que depende toda la calidad de la redacción.
- Elegir tu cuantización
- Q4_K_M, Q5_K_M, Q8_0: entender el equilibrio entre VRAM y calidad para elegir el modelo de síntesis adecuado según tu tarjeta gráfica
- AnythingLLM: RAG listo para producción en local
- Para ir más allá de la búsqueda web y construir un RAG con tus propios documentos, con el mismo backend Ollama.
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.