Files
NaliiaBot/docs/CHANGES_SUMMARY.md
2026-02-15 16:03:09 -05:00

3.1 KiB

Cambios realizados: Patrón Registry para Tools

Cambios completados

1. tools.py - Limpiado ✓

Antes: Contenía herramientas de ejemplo (Calculator, Greeter, Weather, Time)
Ahora: Vacío y listo para tus herramientas personalizadas

"""
Implementaciones concretas de herramientas del agente.
Define aquí tus herramientas personalizadas que extienden BaseTool
"""

from typing import Any, Dict
from .tool_registry import BaseTool

# Define aquí tus herramientas personalizadas
# Ejemplo: class MiHerramienta(BaseTool): ...

2. init.py - Actualizado ✓

Antes: Importaba CalculatorTool, GreeterTool
Ahora: Solo exporta BaseTool y ToolRegistry

from .tool_registry import ToolRegistry, BaseTool

__all__ = ["ToolRegistry", "BaseTool"]

3. tool_registry.py - Mantiene la infraestructura ✓

Contiene:

  • BaseTool: Clase abstracta para todas las tools
  • ToolRegistry: Clase para registrar y gestionar tools

4. Documentación - Nueva ✓

Creado: TOOLS_GUIDE.md con ejemplos completos de cómo:

  • Crear herramientas personalizadas
  • Usar el ToolRegistry
  • Integrar con el Agent
  • Ejemplos de tools para gestionar agenda

📁 Estructura final

src/naliiabot/bot/tools/
├── __init__.py           # Exporta ToolRegistry y BaseTool
├── tool_registry.py      # Base + Registry (infraestructura)
└── tools.py             # TUS HERRAMIENTAS AQUÍ (vacío, listo para usar)

🚀 Próximos pasos

  1. Define tus herramientas en tools.py:

    class ObtenerAgendaTool(BaseTool):
        @property
        def name(self) -> str:
            return "obtener_agenda"
        # ... más detalles en TOOLS_GUIDE.md
    
  2. Registra y usa en tu código:

    from src.naliiabot.bot.tools import ToolRegistry
    from src.naliiabot.bot.tools.tools import ObtenerAgendaTool
    
    registry = ToolRegistry()
    registry.register(ObtenerAgendaTool())
    tools = registry.get_all_tools_as_langchain()
    
  3. Lee TOOLS_GUIDE.md para ejemplos detallados con:

    • Herramientas para gestión de agenda
    • Cómo validar argumentos
    • Patrones recomendados
    • Testing de tools

📚 Referencias

Beneficios del patrón Registry

Centralizado: Un único lugar para todas las tools
Extensible: Fácil agregar nuevas tools
Testeable: Cada tool se prueba de forma independiente
Mantenible: Cambios aislados en cada tool
Reutilizable: Mismo registry en múltiples agentes
Validado: Schema automático para argumentos
Documentado: Inspección de tools disponibles


Nota: Las herramientas de ejemplo (Calculator, Greeter, Weather, Time) han sido removidas.
Ahora el proyecto está limpio y listo para que implementes las tools que necesitas.