2026-02-15 16:03:09 -05:00
2026-02-24 23:12:11 -05:00
2026-02-24 23:11:04 -05:00
2026-02-11 18:43:49 -05:00
2026-02-15 16:03:09 -05:00
2026-02-17 13:28:11 -05:00
2026-02-24 23:11:43 -05:00
2026-02-15 16:03:09 -05:00
2026-02-15 16:03:09 -05:00
2026-02-15 16:03:09 -05:00

NaliiaBot

Agente conversacional basado en LangGraph para gestión de agenda.

🚀 Características

  • Agente conversacional inteligente
  • Sistema de tools (herramientas) con patrón Registry
  • Integración con modelos LLM (Anthropic)
  • API FastAPI para interacción
  • Tests completos
  • Documentación exhaustiva

📚 Documentación

Sistema de Herramientas (Tools)

Toda la documentación sobre cómo crear y usar herramientas está en docs/

Comienza aquí:

  1. docs/INICIO.txt - Bienvenida (2 min)
  2. docs/TOOLS_DOCUMENTATION_INDEX.md - Índice (10 min)
  3. docs/QUICK_START.py - Tutorial (5 min)

Ver README_TOOLS.md para más detalles.

🏗️ Estructura del proyecto

NaliiaBot/
├── docs/                              # Documentación completa
│   ├── INICIO.txt
│   ├── TOOLS_DOCUMENTATION_INDEX.md
│   ├── QUICK_START.py
│   ├── TOOLS_GUIDE.md
│   ├── AGENDA_TOOLS_EXAMPLE.py
│   └── ...
│
├── src/
│   ├── naliiabot/
│   │   ├── bot/
│   │   │   ├── agent/              # Agente principal
│   │   │   │   ├── agent.py
│   │   │   │   └── schemas.py
│   │   │   └── tools/              # Sistema de tools
│   │   │       ├── __init__.py
│   │   │       ├── tool_registry.py
│   │   │       └── tools.py         # ← Define aquí tus tools
│   │   └── naliiabotapi/
│   │       └── main.py              # API FastAPI
│   └── ui/
│       └── ...                       # Frontend
│
├── tests/
│   ├── test_agent.py
│   ├── test_naliia_agent_tools.py
│   └── ...
│
└── README.md (este archivo)

🔧 Instalación

# Clonar proyecto
git clone <repo>
cd NaliiaBot

# Instalar dependencias
pip install -r requirements.txt

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

🚀 Uso

Crear herramientas

En src/naliiabot/bot/tools/tools.py:

from .tool_registry import BaseTool

class MiHerramienta(BaseTool):
    @property
    def name(self) -> str:
        return "mi_herramienta"
    
    @property
    def description(self) -> str:
        return "Descripción"
    
    @property
    def args_schema(self):
        return {...}
    
    def invoke(self, **kwargs) -> str:
        return "resultado"

Usar el agente

from src.naliiabot.bot.tools import ToolRegistry
from src.naliiabot.bot.tools.tools import MiHerramienta
from src.naliiabot.bot.agent.agent import Agent
from langchain_anthropic import ChatAnthropic

# Crear registry
registry = ToolRegistry()
registry.register(MiHerramienta())

# Crear agente
modelo = ChatAnthropic(model="claude-3-5-sonnet-20241022")
agent = Agent(model=modelo, tools=registry.get_all_tools_as_langchain())

# Usar agente
resultado = agent.invoke({"messages": [...]})

📖 Documentación detallada

Tema Ubicación
Sistema de tools docs/TOOLS_DOCUMENTATION_INDEX.md
Quick start docs/QUICK_START.py
Guía completa docs/TOOLS_GUIDE.md
Ejemplos docs/AGENDA_TOOLS_EXAMPLE.py

Tests

# Ejecutar todos los tests
pytest

# Tests específicos
pytest tests/test_naliia_agent_tools.py -v

🔗 Enlaces útiles

📝 Licencia

Especificar la licencia del proyecto

👥 Contribuciones

Para contribuir al proyecto, por favor:

  1. Fork el repositorio
  2. Crea una rama para tu feature
  3. Commit tus cambios
  4. Push a la rama
  5. Abre un Pull Request
Description
No description provided
Readme 1.6 MiB
Languages
Python 97.6%
Jupyter Notebook 1.3%
Dockerfile 1.1%