NaliiaBot

Agente conversacional basado en LangGraph para gestión de agenda y atención al cliente.

Características

  • Agente conversacional inteligente basado en LangGraph
  • Sistema de herramientas (tools) con integración MCP
  • Integración con modelos LLM (Anthropic Claude, DeepSeek)
  • API FastAPI para interacción
  • Checkpointing con PostgreSQL para persistencia de estado
  • Tests completos con pytest

Estructura del proyecto

NaliiaBot/
├── src/
│   ├── naliiabot/
│   │   ├── bot/
│   │   │   ├── agent/              # Agente LangGraph
│   │   │   │   ├── agent.py
│   │   │   │   └── schemas.py
│   │   │   ├── tools/              # Herramientas del agente
│   │   │   │   ├── naliia_tools.py
│   │   │   │   └── schemes.py
│   │   │   ├── factories/           # Factorías (LLM)
│   │   │   └── prompts/            # Prompts del agente
│   │   └── bot/
│   ├── naliiabotapi/               # API FastAPI
│   │   ├── main.py
│   │   ├── api/
│   │   │   ├── v1/endpoints/
│   │   │   └── v1/webhooks/
│   │   └── schemes/
│   ├── mcp/                        # Servidor MCP
│   └── ui/                         # Frontend
├── tests/
├── docker-compose.yaml             # PostgreSQL para checkpointing
├── pyproject.toml                  # Configuración Poetry
└── README.md

Requisitos

  • Python 3.13+
  • PostgreSQL (via Docker)
  • MCP server ejecutándose en http://localhost:8001/mcp

Instalación

# Instalar dependencias con Poetry
poetry install

# Configurar variables de entorno
cp .env.example .env
# Editar .env con tus configuraciones

Uso

Iniciar servicios

# Iniciar PostgreSQL
docker-compose up -d

# Iniciar servidor MCP
# (configurar según implementación)

# Iniciar API
task dev

Comandos disponibles

Comando Descripción
task dev Iniciar servidor API en puerto 8010
task test Ejecutar todos los tests
task test-cov Ejecutar tests con coverage

Variables de entorno

Variable Descripción Valor por defecto
LLM_MODEL Modelo LLM a usar deepseek
POSTGRES_USER Usuario PostgreSQL postgres
POSTGRES_PASSWORD Contraseña PostgreSQL postgres
POSTGRES_DB Base de datos messages

Tools disponibles

El agente cuenta con las siguientes herramientas:

  • get_current_datetime - Consulta fecha y hora actual
  • get_tomorrow_date - Calcula la fecha de mañana
  • find_service_centers - Lista centros de servicio disponibles
  • find_products_and_services - Lista productos y servicios
  • schedule_appointment - Agenda una cita

API Endpoints

  • GET / - Raíz
  • GET /health - Health check
  • POST /api/v1/chat - Enviar mensaje al agente
  • POST /api/v1/webhooks/chat - Webhook para callbacks

Tests

# Ejecutar todos los tests
pytest -v

# Tests con coverage
task test-cov

Desarrollo

El proyecto sigue una arquitectura basada en:

  • LangGraph: Grafo de estados para el agente conversacional
  • FastAPI: API REST sincrónica
  • PostgreSQL: Persistencia de estado via checkpointing
  • MCP: Modelo de contexto para herramientas externas

Licencia

MIT

Description
No description provided
Readme 1.6 MiB
Languages
Python 97.6%
Jupyter Notebook 1.3%
Dockerfile 1.1%