Ejemplos paso a paso
Tres recetas, de la más habitual a la más completa. Cada una tiene un flujo de ingesta (se ejecuta una vez, y otra cada vez que cambian los documentos) y un flujo de consulta (el que usan las personas). Los nombres de componentes y campos son los que ves en el editor.
| Receta | Para qué | Necesitas |
|---|---|---|
| A. Asistente de manuales con Qdrant y Local Rerank | Responder sobre manuales, políticas o fichas con la mejor calidad medida. | Un servidor Qdrant y un modelo de lenguaje. |
| B. Asistente técnico con manuales y grafo | Un agente que junta documentos y registros con relaciones. | Lo anterior y una base Neo4j. |
| C. Preguntas frecuentes con verificación | Un asistente que prefiere decir «no lo sé» a inventar, sin servidores. | Solo un modelo de lenguaje. |
A. Asistente de manuales con Qdrant y Local Rerank
Qué consigues. Un agente que responde con tus manuales usando la combinación que mejor funcionó en nuestra medición: fragmentos con contexto y reordenación. Los vectores y la reordenación se calculan dentro de NappAI, sin coste por uso.
Flujo de ingesta
Componentes: Storage Files, Contextual Text Splitter, un modelo de lenguaje (por ejemplo DeepSeek), Qdrant y FastEmbed Embeddings (Local).
- Sube tus manuales a una carpeta de tu almacenamiento, por ejemplo
manuales/. - Añade Storage Files con Operation
Get File, el archivo en File o File Path y ContentText. - Conecta su salida a Data Inputs de Contextual Text Splitter. Pon Chunk Size 800 y Chunk Overlap 150, y conecta el modelo a Language Model.
- Conecta Chunks a Ingest Data de Qdrant, con Operation
Add. Rellena URL, Collection Name (por ejemplomanuales) y, si tu servidor la pide, API Key. - Conecta FastEmbed Embeddings (Local) a Embedding de Qdrant, con el modelo por defecto.
- Ejecuta el flujo. Repite con cada manual nuevo.
Flujo de consulta
Componentes: Chat Input, Agent, un modelo de lenguaje, Qdrant, FastEmbed Embeddings (Local), Local Rerank y Chat Output.
- Añade Qdrant con la misma URL y Collection Name, Operation
Retrievery Number of Results 20. Conecta el mismo FastEmbed Embeddings (Local) a Embedding. - Conecta su salida Retriever a Retriever de Local Rerank. Pon Results to Keep 5.
- Conecta la salida Tool de Local Rerank a Tools del Agent. En la pestaña Tool, Tool Name
buscar_en_manualesy Tool Description «Busca en los manuales: errores, reparaciones, piezas, mantenimiento y garantía». - Conecta el modelo a Model, Chat Input a Input y Response a Chat Output.
- En System Prompt escribe:
Eres el asistente de los técnicos de la empresa. Para cualquier pregunta sobrelas máquinas usa la herramienta buscar_en_manuales.Responde solo con lo que encuentres. Si no está, dilo y no lo inventes.Responde claro y breve.Pruébalo. En el playground, pregunta por un código de error o una referencia de pieza de tus manuales y, después, por algo que no esté en ellos. En la ejecución puedes ver qué fragmentos devolvió Local Rerank en cada caso.
Si tus usuarios buscan mucho por código, añade la búsqueda híbrida: un BM25 Retriever que lea la misma colección y un Ensemble Retriever con los dos buscadores y Weights 0.5, 0.5, cuya salida Retriever va a Local Rerank. Ver Técnicas de recuperación.
B. Asistente técnico con manuales y grafo
Qué consigues. Los flujos del vídeo de Qué es RAG: un asistente para los técnicos de un servicio técnico de cafeteras. Un solo agente busca en toda la documentación, busca solo en los documentos de una marca cuando la pregunta la nombra y consulta el historial de incidencias, guardado como grafo en Neo4j.
La base de conocimiento. 9 PDF en una carpeta de tu almacenamiento: los manuales de cada máquina (Jaltec Brío 2G, Vellani Aurora 2G y 3G, molino Molinar M64 OD), la garantía y las tarifas, la guía de mantenimiento, tres informes mensuales de incidencias y las preguntas frecuentes. Un mismo código de error significa cosas distintas en cada marca, y por eso cada fragmento se guarda con su marca.
Flujo «Base de conocimiento · ingesta»
| Componente | Ajustes clave | Se conecta a |
|---|---|---|
| Storage Files (lista) | Operation List Files sobre la carpeta de los documentos | El segundo Storage Files |
| Storage Files (lectura) | Operation Get File en Batch Mode, para leer uno a uno los archivos de la lista; Content Text | Data Inputs de Contextual Text Splitter |
| Contextual Text Splitter | Un modelo rápido en Language Model, que añade a cada fragmento una frase con su contexto | Data de Metadata Tagger |
| Metadata Tagger | Metadata Schema con los cuatro datos de abajo | Ingest Data de Qdrant |
| Qdrant | Operation Add | – |
| FastEmbed Embeddings (Local) | Modelo por defecto | Embedding de Qdrant |
Cómo leer uno a uno los archivos de una lista: Storage Files y Batch Mode.
Los datos del esquema de Metadata Tagger:
| Nombre | Tipo | Qué guarda |
|---|---|---|
marca | string | La marca de la máquina: Jaltec, Vellani o Molinar. |
tipo | string | El tipo de documento: manual, garantía, informe, preguntas frecuentes… |
mes | string | El mes de un informe, con el formato 2026-07. |
codigos | array | Los códigos de error que aparecen en el fragmento, como E07. |
Al ejecutarlo, la salida Tagged Data muestra cada fragmento con su texto y sus etiquetas.
Flujo «Asistente técnico · todo el RAG»
| Componente | Ajustes clave | Se conecta a |
|---|---|---|
| Qdrant | Operation Retriever, la misma colección | Retrievers de Ensemble Retriever |
| BM25 Retriever | Lee los fragmentos de la misma colección: salida Vector Store de Qdrant en Parent document vectorstore | Retrievers de Ensemble Retriever |
| Ensemble Retriever | Weights 0.5, 0.5 | Retriever de Local Rerank |
| Local Rerank «Buscar en la documentación» | Results to Keep 5 | Tools del Agent (salida Tool) |
| Qdrant «Buscar por marca» | Filter by Metadata en modo Dynamic, con Metadata Filter (JSON) en modo herramienta para que el agente escriba el filtro a partir de la pregunta | Tools del Agent (salida Tool) |
| Neo4j GraphRAG «Consultar incidencias» | Credencial Neo4j API, Operation Text2Cypher, ejemplos en Examples | Tools del Agent (salida Tool) |
| FastEmbed Embeddings (Local) | El mismo modelo que en la ingesta | Embedding de los dos Qdrant |
| DeepSeek | – | Model del Agent y Language Model de Neo4j GraphRAG |
| Agent «Asistente técnico» | Instrucciones que le dicen qué herramienta usar para cada cosa | Response a Chat Output |
El grafo une cada incidencia con su bar, su técnico y su máquina. Cómo preparar el grafo y escribir los ejemplos de Examples: GraphRAG con Neo4j. Un System Prompt que funciona con estas tres herramientas:
Eres el asistente de los técnicos de Cafés del Sur, que reparan máquinas de café en bares y cafeterías.Usa tus herramientas:- Buscar en la documentación, para errores, averías, piezas, mantenimiento, garantía y tarifas.- Buscar por marca, cuando la pregunta nombra una marca: un mismo código significa cosas distintas en cada una.- Consultar incidencias, para datos concretos de incidencias, bares, máquinas y técnicos.Si una pregunta necesita varias, usa varias. No inventes nada: si no lo encuentras, dilo.Responde en español, claro y breve.Pruébalo con las preguntas del vídeo:
| Pregunta | Qué responde |
|---|---|
| «¿Qué pieza es la MO-305…?» | El condensador de arranque del molino Molinar, y la incidencia en la que se cambió. |
| «Mi Vellani Aurora marca el error E07…» | Caudalímetro bloqueado, la pieza VL-1180 y casos reales. Avisa de que el E07 significa otra cosa en el molino. |
| «¿Qué incidencias abiertas tiene Lucía Ortega…?» | Las tres, cada una con su bar, sacadas del grafo. |
| «¿Cuánto cuesta comprar una Vellani Aurora nueva?» | Dice que no tiene ese dato, porque no está en la documentación ni en el grafo. |
Cada técnica, en su propio vídeo
- Los filtros por marca, en Técnicas de recuperación y Qdrant.
- El filtro que escribe un modelo, en Self Query Retriever.
- La búsqueda híbrida con reordenación, en Local Rerank.
- Las preguntas dichas con otras palabras, en Multi Query Retriever.
- Las secciones completas en lugar de fragmentos, en Multi Vector Retriever.
- El agente con fuentes y comprobaciones, en Agente de RAG.
- Cómo puntuar las respuestas, en RAG Evaluator.
C. Preguntas frecuentes con verificación
Qué consigues. Un asistente de preguntas frecuentes que comprueba cada respuesta y dice que no ha encontrado la información cuando no está en tus documentos. Usa FAISS, que no necesita ningún servidor: el índice se guarda en tu almacenamiento de NappAI.
Flujo de ingesta
Componentes: Storage Files, Recursive Character Text Splitter, FAISS y FastEmbed Embeddings (Local).
- Storage Files con Operation
Get File, tu documento de preguntas frecuentes en File y ContentText. - Conecta su salida a Input de Recursive Character Text Splitter, con Chunk Size 800 y Chunk Overlap 150. Si cada pregunta con su respuesta ocupa menos de eso, un fragmento será una pregunta.
- Conecta la salida del divisor a Ingest Data de FAISS, con Operation
Add, Index Namefaq_tienday Persist Directoryfaq. - Conecta FastEmbed Embeddings (Local) a Embedding y ejecuta.
Si prefieres Chroma DB, es igual: usa Collection Name y Persist Directory en lugar de Index Name.
Flujo de consulta
Componentes: Chat Input, RAG Agent, un modelo de lenguaje, FAISS, FastEmbed Embeddings (Local) y Chat Output.
- FAISS con Operation
Retriever, el mismo Index Name y Persist Directory, y Number of Results 4. Conecta FastEmbed Embeddings (Local) a Embedding. - Conecta su salida Retriever a Retrievers del RAG Agent.
- Conecta el modelo a Model, Chat Input a Question y Response a Chat Output.
- Deja las opciones de precisión: Enable Document Relevance Grading y Enable Hallucination Check activadas, Enable Web Search Fallback desactivada.
- En Additional Instructions escribe en nombre de quién habla y qué hacer cuando no encuentra la respuesta:
Hablas en nombre de Electrohogar Norte y tratas de tú.Si la documentación no tiene la respuesta, invita a escribir a soporte@electrohogar-norte.example.- Si las personas hacen preguntas encadenadas, activa Use Memory.
Pruébalo. Pregunta algo que esté en tus preguntas frecuentes, luego una pregunta de seguimiento («¿y cuánto cuesta?») y por último algo que no esté. En la prueba que hicimos con una tienda ficticia, «¿Tenéis tienda física en Lisboa?» recibió: «Lo siento, no he podido encontrar información sobre tiendas físicas en Lisboa en la documentación disponible. Te invito a escribir a soporte@…». Cada respuesta cita sus documentos ([1], [2]…) y termina con las Fuentes (opción Show Sources, activada por defecto).
Más detalles de cada opción en Agente de RAG.