Chatbot Manual Chatbot que responde sobre tus PDF: RAG con FAISS en español

FastAPI · FAISS · intfloat/multilingual-e5-large · CrossEncoder · Groq (Llama 3.1) · SQLite SaaS · Laravel
Chatbot Manual

Transforma cualquier manual o documentación PDF en un asistente conversacional entrenado exclusivamente sobre ese contenido. Utilizando RAG (Retrieval-Augmented Generation) con búsqueda híbrida semántica y por palabras clave, el sistema localiza la información exacta dentro de documentos de cientos de páginas y la presenta en lenguaje natural.

¿Por qué Chatbot Manual?

  • Precisión sin alucinaciones: el sistema responde únicamente desde la documentación oficial. Sin inventos, sin suposiciones.
  • Búsqueda híbrida: combina embeddings semánticos multilingües (FAISS) con keyword matching para no perder ninguna sección relevante.
  • Personalizable: el cliente configura la actitud y el rol del asistente antes de subir su documento.
  • Multilingüe: lee PDFs en cualquier idioma y responde en la lengua del usuario.
  • Implementación inmediata: sube el PDF, el sistema lo indexa en minutos y el asistente está operativo.
  • SaaS multi-tenant nativo: gestión de múltiples clientes desde un único servidor — cada cliente con su API key, su plan y su cuota de tokens diaria. Panel de administración incluido.

Integración, datos y licencia

  • Integración: API REST propia (FastAPI) con 10 endpoints documentados en el repositorio; se puede consumir desde cualquier lenguaje o plataforma, con especificación OpenAPI autogenerada.
  • Tratamiento de datos: la demo pública envía a Groq (LLaMA) únicamente el contenido necesario para generar la respuesta. No se almacenan las conversaciones en base de datos ni se asocian a ninguna identidad. En un despliegue propio decides tú el proveedor — incluido un modelo local, con el que ningún dato sale de tu infraestructura.
  • Nota: Incluye modo SaaS multi-cliente con API key, cuotas por plan y subida dinámica de PDF. La búsqueda semántica (FAISS + reranking) se ejecuta en el propio servidor.
  • Licencia: MIT — uso libre, incluido comercial, manteniendo el aviso de copyright. El repositorio contiene la aplicación completa y puede desplegarse en infraestructura propia. El código es gratuito; los costes de motor de IA, infraestructura, implantación y mantenimiento corren por cuenta de quien lo despliega (no se ofrece soporte ni consultoría).

¿Cómo lo integro?

Disponible ahora: API REST con autenticación por X-API-Key, cuotas por plan y subida de documentos en caliente. Un cliente = una clave: el aislamiento entre organizaciones ya está resuelto. Widget web embebible con un solo <script>.

Integraciones habituales en este sector (valoradas como vía recomendada; salvo que se indique lo contrario, no vienen implementadas — el código está preparado para añadirlas):

  • Slack / Microsoft Teams: el caso de uso más habitual: convertirlo en el bot que responde dudas sobre documentación interna. Slack Events API o Bot Framework llamando a /query; la sesión de Slack se mapea a session_id.
  • WhatsApp Business Cloud API: atención al cliente sobre manuales de producto. El webhook de Meta reenvía el mensaje a /query y devuelve la respuesta.
  • Zendesk / Freshdesk: como app lateral que sugiere respuesta al agente a partir de la documentación, sin responder automáticamente al cliente.
  • SharePoint / Google Drive: ingesta automática: un job periódico detecta documentos nuevos y los envía a /upload, manteniendo la base al día sin intervención.
Mapa del bucleDisparador: Tengo un manual en PDF y necesito que la gente pueda preguntarle en vez de leerlo.. Acción: Trocea el PDF, genera los embeddings multiidioma, los indexa en FAISS y responde con un reranker sobre lo recuperado.. Medición: La respuesta en el idioma de la pregunta, construida solo con los fragmentos recuperados del manual.. Decisión: Decido si el asistente ya está listo para publicarlo o si tengo que ajustar su rol..EL BUCLE QUE CIERRAPara quien atiende dudas sobre ladocumentación de un producto1DISPARADORTengo un manual en PDF ynecesito que la gente puedapreguntarle en vez deleerlo.2ACCIÓNTrocea el PDF, genera losembeddings multiidioma, losindexa en FAISS y respondecon un reranker sobre lorecuperado.3MEDICIÓNLa respuesta en el idioma dela pregunta, construida solocon los fragmentosrecuperados del manual.4DECISIÓNDecido si el asistente yaestá listo para publicarlo osi tengo que ajustar su rol.Cada vez que llega un manual nuevolo hace una personalo hace el software

Descargar el diagrama (SVG)

Resultados

< 3 s
tiempo de respuesta medio
incluyendo búsqueda, reranking y generación
0 €
coste de infraestructura de búsqueda
la búsqueda semántica corre en local
4 niveles
de uso multi-cliente
Free · Basic · Pro · Enterprise
n+1
clientes simultáneos posibles
sin coste adicional por cliente nuevo

Comparativa de mercado

Solución Coste mensual Modelo de cobro Datos propios Personalización
Esta arquitectura (RAG + Groq) ~tokens LLM únicamente Pay-as-you-go API ✅ Solo tus PDFs ✅ Total
Intercom Fin AI 390 €+ / mes + 0,99 €/conv. Por conversación resuelta ⚠️ Sus servidores ⚠️ Limitada
Zendesk AI Agents 250–600 € / mes Por agente / seat ⚠️ Sus servidores ⚠️ Limitada
ChatGPT Enterprise 3.750 € / mes (mín. 150 users) Por usuario/mes ⚠️ OpenAI infra ❌ Muy limitada
Notion AI / Confluence AI 10–20 € / user / mes Por usuario/mes ⚠️ Atado a su app ❌ Ninguna

Precios de referencia públicos. Pueden variar según plan y negociación.

Funcionalidades implementadas

  • Los documentos no salen del servidor. El PDF se indexa y se busca en local. Solo los fragmentos relevantes ya seleccionados llegan al modelo de lenguaje, no el documento completo.
  • Responde en el idioma del usuario. Detecta automáticamente el idioma de la pregunta y responde en el mismo, aunque el documento fuente esté en otro idioma.
  • Múltiples clientes, datos separados. Un mismo servidor puede alojar chatbots para varias empresas, cada una con sus propios documentos y configuración, sin que se mezclen.
  • Personalizable por sector. El tono, el idioma y el tipo de respuestas se ajustan según el sector: legal, médico, soporte técnico, atención al cliente...
  • Sin ataduras a ningún proveedor. El modelo de lenguaje se puede sustituir en cualquier momento. No hay dependencia de una plataforma concreta.

Límites

Lo que no hace

  • No responde fuera del manual: si la respuesta no está en el documento indexado, lo dice.
  • En modo producción el índice se genera antes: un PDF nuevo no es consultable hasta reprocesarlo.
  • No gestiona documentos: no versiona ni edita nada, solo consulta lo que ya está indexado.

Decisiones

Por qué está construido así

  • FAISS con índices en disco en vez de una base de datos vectorial con servicio propio

    El índice de un manual cabe en un fichero y se sirve pre-procesado, así que no hay un servicio más que mantener.

  • Embeddings multiidioma en vez de un índice por idioma con embeddings monolingües

    Con un modelo multiidioma la misma pregunta encuentra el fragmento aunque el manual esté en otra lengua.

Try Live Demo View Code

Cómo está construido

Chatbot Manual: Construyendo un Asistente Multilingüe con FastAPI y Llama 3.1 He desarrollado Chatbot Manual, un asistente inteligente que procesa PDFs en varios idiomas para empresas. Exploro las decisiones técnicas detrás de su arquitectura,...