Chatbot inteligente con RAG, búsqueda híbrida y integración de APIs externas
Diagrama interactivo de todos los flujos conversacionales y estados del sistema
Guía completa de todos los campos para integrar APIs externas
Documentación de Hybrid Search y conexión a bases de datos
Endpoints estables con GPT-4o. Incluye herramientas de texto, traducción y detección de idioma exclusivas de v1.
Endpoints con GPT-5.4 para operaciones principales y GPT-5.4 mini para operaciones rápidas (traducción de templates, SQL). Los parámetros opcionales model y model_mini permiten personalizar el modelo usado.
Verifica el estado del servicio.
Endpoint principal del chatbot conversacional con RAG y búsqueda híbrida.
Pregunta o consulta del usuario
Identificador del modelo (ej: "modelo1")
Identificador del cliente
Idioma: "es" o "en" (default: "es")
Zona horaria (default: "America/Panama")
Token para API externa configurada
Si true, elimina el historial previo del cliente (default: false)
Override de temperatura OpenAI (0.0 - 2.0)
Modelo principal (default: GPT-5.4)
Modelo para operaciones rápidas (default: GPT-5.4 mini)
Chatbot especializado en operaciones MySQL (SELECT / INSERT / UPDATE / DELETE). Elimina 2-3 llamadas OpenAI respecto al chatbot completo porque asume que toda operación va a base de datos — sin clasificación de fuente.
Requisito previo: el sufijo debe tener database_config.json configurado (se envía en /add_data o /sql_config).
Consulta del usuario sobre la base de datos
Identificador del modelo
Identificador del cliente
Idioma: "es" o "en" (default: "es")
Zona horaria (default: "America/Panama")
Modelo principal (default: GPT-5.4)
Modelo para operaciones rápidas (default: GPT-5.4 mini)
Analiza el historial de conversación y el estado de un cliente para determinar si se debe enviar un mensaje proactivo. No genera respuesta para el usuario — retorna un análisis interno. Útil para automatizaciones y reportes.
Identificador del modelo
Identificador del cliente a analizar
Idioma: "es" o "en" (default: "es")
Temperatura OpenAI entre 0.0 y 2.0 (default: 0.7)
Zona horaria (default: "America/Panama")
Modelo principal para el análisis (default: GPT-5.4)
Modelo para operaciones rápidas (default: GPT-5.4 mini)
Configura la conexión MySQL para el servicio Text-to-SQL conversacional. No requiere archivos ni FAISS — solo guarda la configuración de base de datos y las reglas de negocio opcionales.
b_template usa GPT-5.4 mini para mayor velocidad.Identificador del modelo
Configuración MySQL: host, username, password, database, port (default 3306), allowed_tables (ver docs)
Reglas de negocio para generación de SQL (ej: "La tabla clientes usa el campo id_cliente como PK")
Chatbot Text-to-SQL puro — convierte lenguaje natural en consultas SELECT y devuelve los datos con una respuesta conversacional. Mantiene historial multi-turno por session_id. No usa FAISS ni vectorstore. Requiere haber configurado la BD con sql_config previamente.
Solo consultas SELECT. INSERT / UPDATE / DELETE son bloqueados por seguridad.
Pregunta en lenguaje natural sobre los datos
Identificador del modelo (debe tener BD configurada con sql_config)
ID de sesión para mantener contexto entre turnos (ej: ID de usuario o conversación)
Idioma de la respuesta: "es" o "en" (default: "es")
Modelo para SQL (default: GPT-5.4 mini)
Modelo mini (default: GPT-5.4 mini)
Elimina el historial de una sesión de /v1/sql_chat. Útil para iniciar una conversación desde cero sin contexto previo.
Identificador del modelo
ID de sesión a eliminar
Carga documentos y configuraciones para el chatbot. Al menos un campo es obligatorio (archivo, templates, configuración de BD o APIs).
b_template al idioma secundario usa GPT-5.4 mini para mayor velocidad y menor costo.Identificador del modelo
Archivos (pdf, docx, txt, csv, json, md, html, xml, xlsx)
Contexto del negocio (Template A)
Instrucciones del chatbot (Template B). Se traduce automáticamente al idioma secundario.
Configuración MySQL (ver docs)
Configuración de APIs externas (ver docs)
API key de OpenAI específica para este suffix
Si true, elimina el contenido previo antes de cargar (default: false)
Genera texto con OpenAI GPT-4o a partir de un prompt libre. Sin historial ni RAG.
Texto de entrada para el modelo
Traduce texto entre idiomas usando GPT-4o.
Texto a traducir
Idioma destino (ej: "en", "es", "fr")
Detecta el idioma de un texto usando OpenAI.
Texto cuyo idioma se quiere detectar
Genera automáticamente reglas de negocio (b_template) para SQL Chat a partir del esquema de la base de datos conectada.
Identificador del modelo (debe tener BD configurada)
Sistema de notificaciones HTTP en tiempo real. WeirdBot dispara un POST a tu URL cuando ocurren eventos importantes.
Suscribe una URL a uno o varios eventos. Cada vez que el evento ocurra, WeirdBot enviará un POST con el payload del evento. Reintentos automáticos: hasta 3 intentos con timeout de 10 segundos.
| Evento | Cuándo se dispara |
|---|---|
lead_created | Después de POST exitoso a API externa |
lead_updated | Después de PUT/PATCH exitoso a API externa |
lead_deleted | Después de DELETE exitoso a API externa |
lead_confirmed | Cuando el usuario confirma los datos capturados |
lead_queried | Después de GET exitoso a API externa |
| Evento | Cuándo se dispara |
|---|---|
model_config_started | Al iniciar proceso en /v1/add_data, /v1/sql_config, /v1/sql_generate_template o /v2/generate_chatbot_template. En el caso de generate_chatbot_template incluye job_id en el payload. |
model_config_completed | Al finalizar exitosamente la configuracion del modelo. En /v2/generate_chatbot_template se dispara desde el background job (puede tardar 30-90s) e incluye job_id, flow_type y table_names en el payload. El template completo se obtiene via GET /v2/generate_chatbot_template/status?job_id=... |
model_config_translation_completed | Al finalizar la traduccion automatica del b_template en background. Incluye target_language y translated_chars en el payload |
model_config_error | Cuando ocurre una excepcion durante la configuracion. En /v2/generate_chatbot_template se dispara desde el background job e incluye job_id en el payload. |
| Evento | Cuándo se dispara |
|---|---|
limit_exceeded | Cuando se supera el límite diario configurado |
error_429 | Cuando OpenAI retorna rate limit (quota excedida) |
error_general | Error general no específico durante el procesamiento |
daily_report | Reporte diario de uso (manual o programado) |
proactive_message | Seguimiento proactivo recomendado por IA. Se dispara desde scripts/proactive_followup.py (cron) cuando GPT detecta que se debe enviar un mensaje al cliente (registro incompleto, conversacion abandonada, cita pendiente, etc.). Payload incluye suggested_message, message_type, urgency, recommended_timing e idle_minutes. |
El archivo apis_config.json define la estructura de datos y comportamiento de cada API integrada. Se almacena en resources/vectorstore/{suffix}/apis_config.json
| Propiedad | Descripción | Ejemplo |
|---|---|---|
type |
Tipo de dato del campo. Soporta: string, number, date, boolean, array, object | "string" o "array" |
required |
Si true, el campo es obligatorio y la validación fallará si no está presente |
true |
auto_generated |
Si true, el campo es generado automáticamente por GPT-4o/GPT-5.4 basado en b_template (instrucciones). Ejemplos: InvoiceNumber, timestamps, IDs únicos. OpenAI extrae ejemplos de formato de las instrucciones. |
true |
calculated_from |
Array de nombres de campos usados para calcular este campo. Se resuelven mediante fuzzy matching (tolerante a variaciones de nombre) | ["Quantity", "Unit_Price"] |
calculation_formula |
Fórmula Python para calcular el valor. Solo se ejecuta si calculated_from está definido. Variables disponibles: campo = valor mapeado. Ejemplo: Quantity * Unit_Price |
"Quantity * Unit_Price" |
Los campos calculados se regeneran automáticamente cuando se actualizan sus dependencias. Útil para recalcular subtotales, impuestos, totales cuando los items cambian.
calculation_formula con contexto de variables disponiblesInvoiceNumber auto (FAC-fecha-seq), Subtotal, Tax, Total con recálculo automático
PO_Number, Quantity * Unit_Cost por línea, Total con impuestos
IDs automáticos, dates, totalizaciones complejas de múltiples fuentes
⚠️ Nota Importante: Las fórmulas de cálculo se extraen del formato de instrucciones (b_template). El sistema es 100% instruction-driven: no hay hardcoding de formatos. Si cambias el formato en las instrucciones, OpenAI automáticamente lo seguirá en próximas generaciones.
Búsqueda semántica en documentos estáticos con embeddings de OpenAI
Text-to-SQL con GPT-4o / GPT-5.4 para consultas MySQL en tiempo real
Sistema genérico para llamadas automáticas a APIs externas
Modelos GPT-5.4 y GPT-5.4 mini con selección dinámica por operación