Skip to content

Un bot de Telegram avanzado para tiendas WooCommerce especializado en la atención al cliente. El bot utiliza tecnologías de IA generativa para ofrecer recomendaciones personalizadas de productos, resolver consultas y brindar soporte en tiempo real.

Notifications You must be signed in to change notification settings

sebasr0/TelegramBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WooCommerce Telegram Bot

Un bot de Telegram avanzado para tiendas WooCommerce especializado en la atención al cliente. El bot utiliza tecnologías de IA generativa para ofrecer recomendaciones personalizadas de productos, resolver consultas y brindar soporte en tiempo real.

Características Principales

  • Asistente Virtual Inteligente:

    • Utiliza el modelo Llama 3.3 70B de Groq para generar respuestas contextuales
    • Responde consultas sobre productos con conocimiento especializado
    • Mantiene contexto de las conversaciones previas para una experiencia personalizada
    • Tiempo de inactividad de 250 segundos antes de reiniciar la conversación
  • Sistema RAG para Recomendación de Productos:

    • Búsqueda semántica de productos mediante embeddings de OpenAI
    • Recuperación de productos relevantes basada en la consulta del usuario
    • Enriquecimiento de respuestas con datos actualizados de inventario y precios
    • Inclusión de enlaces directos a los productos mencionados
  • Integración con WooCommerce:

    • Sincronización en tiempo real con el catálogo de productos
    • Información actualizada de precios, disponibilidad y ofertas
    • Acceso a categorías, descripciones y detalles específicos de productos
  • Gestión Avanzada de Conversaciones:

    • Almacenamiento de historiales de conversación en MongoDB
    • Sistema de menús interactivos para guiar al usuario
    • Comandos específicos para acciones frecuentes
    • Temporizadores de sesión para optimizar recursos
  • Seguridad y Privacidad:

    • Gestión segura de credenciales mediante variables de entorno
    • Almacenamiento responsable de datos de usuario

Requisitos Técnicos

  • Python 3.8+
  • MongoDB
  • API Key de Telegram Bot
  • API Key de Groq (para LLM Llama 3.3 70B)
  • API Key de OpenAI (para generación de embeddings)
  • Credenciales de WooCommerce (Consumer Key y Secret)

Instalación

  1. Clonar el repositorio:
git clone [url-del-repositorio]
cd WooCommerceBot
  1. Instalar dependencias:
pip install -r requirements.txt
  1. Configurar variables de entorno: Crear un archivo .env con:
TELEGRAM_TOKEN=tu_token_de_telegram
GROQ_API_KEY=tu_api_key_de_groq
OPENAI_API_KEY=tu_api_key_de_openai
MONGO_URI=tu_uri_de_mongodb
WOOCOMMERCE_URL=url_de_tu_tienda_woocommerce
WOOCOMMERCE_CONSUMER_KEY=tu_consumer_key_de_woocommerce
WOOCOMMERCE_CONSUMER_SECRET=tu_consumer_secret_de_woocommerce

Uso

  1. Actualizar embeddings de productos (recomendado antes de iniciar el bot):
python update_embeddings.py
  1. Iniciar el bot:
python run.py
  1. Interactuar con el bot en Telegram:
  • /start o hola - Iniciar el bot y mostrar menú principal
  • 1 o hablar - Hablar con el Asistente Virtual
  • 2 o buscar - Buscar productos específicos
  • 3 o ofertas - Ver ofertas del día
  • 4 o envios - Información sobre envíos
  • 5 o ayuda - Mostrar ayuda y soporte
  • menu - Volver al menú principal
  • salir - Terminar conversación actual

Estructura del Proyecto

WooCommerceBot/
├── helper/                    # Módulos auxiliares
│   ├── db.py                 # Gestión de base de datos MongoDB
│   ├── groq_api.py           # Integración con Groq (Llama 3.3 70B)
│   ├── openai_api.py         # Integración con OpenAI
│   ├── rag.py                # Sistema RAG para búsqueda semántica de productos
│   ├── telegram_api.py       # Funciones para API de Telegram
│   └── woocommerce_api.py    # Integración con WooCommerce
├── src/
│   └── main.py               # Lógica principal del bot y endpoints de Flask
├── requirements.txt          # Dependencias del proyecto
├── run.py                    # Script de inicio
└── update_embeddings.py      # Script para actualizar embeddings de productos

Detalles Técnicos

Sistema RAG (Retrieval-Augmented Generation)

  • Utiliza el modelo text-embedding-3-small de OpenAI para generar embeddings de productos
  • Almacena vectores de embeddings en MongoDB para búsqueda semántica eficiente
  • Implementa cálculo de similitud de coseno para encontrar productos relevantes
  • Enriquece el contexto del LLM con información actualizada de productos

Flask Server

  • Servidor web Flask para recibir webhooks de Telegram
  • Procesamiento asíncrono de mensajes
  • Endpoint principal: /telegram para recibir actualizaciones

Gestión de Estado

  • Sistema de gestión de estados de conversación por usuario
  • Temporizadores para reiniciar conversaciones inactivas
  • Almacenamiento persistente de interacciones en MongoDB

Integración con Modelos de IA

  • Uso principal de Llama 3.3 70B a través de Groq API
  • Configuración optimizada de parámetros para respuestas precisas (temperature=0.3, max_tokens=600)
  • Instrucciones específicas para manejo de consultas de productos

Casos de Uso

  • Recomendación personalizada de productos según preferencias del usuario
  • Consulta de disponibilidad y precios en tiempo real
  • Información sobre envíos y métodos de pago
  • Resolución de dudas técnicas sobre productos
  • Acceso rápido a ofertas y promociones

About

Un bot de Telegram avanzado para tiendas WooCommerce especializado en la atención al cliente. El bot utiliza tecnologías de IA generativa para ofrecer recomendaciones personalizadas de productos, resolver consultas y brindar soporte en tiempo real.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages