Lab FL01: RAG Chatbot con Flowise
Tiempo estimado: 45-60 minutos
Paso 1: Instalar Flowise
Opcion A (rapida, desarrollo):
npx flowise start
Opcion B (produccion, Docker):
git clone https://github.com/FlowiseAI/Flowise.git cd Flowise/docker docker compose up -d
Abre http://localhost:3000 en tu navegador. Deberias ver el dashboard de Flowise.
Si usas Docker, asegurate de tener Docker Desktop instalado y corriendo.
Paso 2: Crear Chatflow RAG
- Click en "Chatflows" → "Add New"
- Arrastra estos 5 nodos al canvas:
- PDF File Loader (Document Loaders)
- Recursive Character Text Splitter (Text Splitters) — chunk size: 1000, overlap: 200
- In-Memory Vector Store (Vector Stores)
- OpenAI Embeddings (Embeddings) — necesitas API key
- ChatOpenAI (Chat Models) — modelo: gpt-4o-mini
- Conecta: PDF Loader → Text Splitter → In-Memory Vector Store
- Conecta: OpenAI Embeddings → In-Memory Vector Store
- Anade un nodo Conversational Retrieval QA Chain
- Conecta: Vector Store → QA Chain (retriever), ChatOpenAI → QA Chain (model)
Alternativa gratuita: usa Ollama en vez de OpenAI. Nodo ChatOllama + OllamaEmbeddings con modelo llama3.1.
Paso 3: Subir documentos y probar
- En el nodo PDF File Loader, sube 3 PDFs de tu proyecto
- Click "Save" para guardar el chatflow
- Click el icono de chat (abajo derecha)
- Prueba con 10 preguntas:
- 5 que los documentos responden directamente
- 3 que requieren combinar info de varios chunks
- 2 que NO estan en los documentos (deberia decir que no sabe)
Paso 4: Configurar API y probar con curl
- En Settings del chatflow, activa "API Key" y crea una nueva
- Copia el chatflow ID (visible en la URL)
- Prueba desde terminal:
curl -X POST http://localhost:3000/api/v1/prediction/{CHATFLOW_ID} \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {API_KEY}" \
-d '{"question": "cual es la politica de devoluciones?"}'
Paso 5: Embed widget en HTML
- En el chatflow, click "Share" → "Embed"
- Copia el snippet de script
- Crea un fichero
test.html:
<!DOCTYPE html> <html> <body> <h1>Mi web con chatbot</h1> <!-- Pega aqui el snippet de Flowise --> </body> </html>
Abre en navegador. Deberia aparecer el widget de chat.
Checklist de entrega
- Flowise instalado y corriendo
- Chatflow RAG con 5 nodos conectados
- 3+ documentos subidos e indexados
- 10 preguntas probadas con resultados anotados
- API key configurada y endpoint probado con curl
- Widget embebido en pagina HTML local