Documentación del Chatbot Asesor WhatsApp

Guía Completa de Configuración, Implementación y Uso

Resumen Ejecutivo

Este documento detalla la configuración, el funcionamiento y los beneficios del chatbot diseñado para interactuar con sus clientes a través de WhatsApp. El chatbot utiliza la información de sus documentos cargados en PrivateGPT y el poder del modelo de lenguaje Ollama para proporcionar respuestas precisas y relevantes, actuando como un asesor virtual de su empresa.

¿Qué es este Chatbot y cómo funciona?

Este chatbot es una herramienta avanzada diseñada para mejorar la comunicación y la atención al cliente. Opera en WhatsApp y utiliza la combinación de tres componentes principales:

El chatbot analiza las preguntas de los clientes, consulta la base de conocimientos en PrivateGPT, genera respuestas a través de Ollama, y las entrega de forma clara y concisa en WhatsApp. El proceso se conoce como RAG (Retrieval-Augmented Generation), que implica recuperar información relevante y utilizarla para generar una respuesta.

Características Principales

Configuración Detallada

La configuración del chatbot se realiza principalmente a través de dos archivos clave: config.json para el chatbot y settings-ollama.yaml para PrivateGPT.

config.json (Configuración del Chatbot)

Este archivo contiene los parámetros que controlan el comportamiento y la funcionalidad del chatbot:

{
    "responseDelay": 5000,
    "inactivityLimit": 120000,
    "maxMessageAge": 300000,
    "ESCALATION_THRESHOLD": 15,
    "llmConfig": {
        "url": "http://localhost:8001/v1/chat/completions",
        "model": "private-gpt"
    },
    "llmConfigOllama": {
        "url": "http://localhost:11434/api/generate",
        "model": "falcon3:10b"
    },
    "ByeBye": "Parece que te has desconectado, ¡Hasta luego!. 😊",
    "initialGreeting": "¡Hola! Soy tu asistente virtual. Estoy aquí para ayudarte con cualquier consulta sobre nuestros productos o servicios. 😊",
    "defaultPrompt": "Eres un asistente que representa a ForgeNEX una empresa de informatica y consultoria y respondes a consultas de WhatsApp. Usa la información proveniente de los documentos cargados para informar al cliente sobre los servicios que ofrecemos y otra información relevante de la empresa informatica.",
    "schedule": {
        "monday": { "start": "07:00", "end": "23:00" },
        "tuesday": { "start": "07:00", "end": "23:00" },
        "wednesday": { "start": "07:00", "end": "23:00" },
        "thursday": { "start": "07:00", "end": "23:00" },
        "friday": { "start": "07:00", "end": "23:00" },
        "saturday": { "start": "07:00", "end": "23:00" },
        "sunday": null
    }
}

Configuración básica del chatbot

Parámetros Clave:

Nota Importante: Asegúrese de que la url en llmConfig apunte a su servidor de PrivateGPT (que corre en `localhost:8001`) y la url en llmConfigOllama apunte a su servidor Ollama (que corre en `localhost:11434` por defecto). Ajuste el modelo según sus necesidades.

settings-ollama.yaml (Configuración de PrivateGPT con Ollama)

Este archivo configura la conexión de PrivateGPT con el servidor de Ollama y especifica los parámetros para la generación de texto:

server:
  env_name: ${APP_ENV:ollama}

llm:
  mode: ollama
  max_new_tokens: 512
  context_window: 3900
  temperature: 0.8

embedding:
  mode: ollama

ollama:
  llm_model: falcon3:10b
  embedding_model: nomic-embed-text
  api_base: http://localhost:11434
  embedding_api_base: http://localhost:11434
  keep_alive: 5m
  tfs_z: 1.0
  top_k: 40
  top_p: 0.9
  repeat_last_n: 64
  repeat_penalty: 1.2
  request_timeout: 120.0

vectorstore:
  database: qdrant

qdrant:
  path: local_data/private_gpt/qdrant

Configuración para la conexión con el servidor Ollama

Parámetros Clave:

Lógica del Chatbot (main.js)

El archivo main.js contiene la lógica principal del chatbot. Aquí se describen los aspectos más importantes del código:

Manejo de Conexión y Desconexión

El bot maneja las siguientes acciones al conectarse y desconectarse del servidor de WhatsApp:

Procesamiento de Mensajes

El chatbot procesa los mensajes de la siguiente manera:

Generación de Resúmenes

El bot es capaz de generar resúmenes de la conversación:

Funciones Adicionales

Nota Importante: Es fundamental entender el flujo lógico del bot, especialmente las funciones isWithinSchedule(), isRecentMessage(), fetchResponse(), createSummaryHtml(), y processMessages() para una configuración y uso adecuados.

Proceso de Despliegue (Distribución Compilada)

Siga estos pasos para implementar el chatbot utilizando la distribución compilada:

  1. Instalación de Ollama: Descargue e instale Ollama desde su sitio web oficial.
  2. Carga de Modelos de Lenguaje: Abra una terminal o línea de comandos y ejecute los siguientes comandos para cargar los modelos de lenguaje necesarios:
    ollama pull falcon3:10b
    ollama pull nomic-embed-text:latest

    Nota: Puede usar otros modelos si lo desea, pero asegúrese de configurar los modelos correspondientes en el archivo settings-ollama.yaml.

  3. Ejecución del Launcher: Ejecute el archivo launcher.exe. Este iniciará automáticamente los componentes necesarios.
  4. Conexión a WhatsApp: Siga las instrucciones en la consola para escanear el código QR y conectar el bot a WhatsApp.

Acceso a Resúmenes y Carga de Documentos

Una vez que el sistema esté en funcionamiento, puede acceder a las siguientes funcionalidades a través de su navegador:

Ventajas Clave para su Empresa

Consideraciones Adicionales