feat: Add docs

This commit is contained in:
2026-02-15 16:03:09 -05:00
parent e28c42ddd8
commit 9823bc19d2
14 changed files with 3208 additions and 0 deletions

133
docs/INICIO.txt Normal file
View File

@@ -0,0 +1,133 @@
╔════════════════════════════════════════════════════════════════════════════╗
║ ║
║ 🎉 SISTEMA DE TOOLS IMPLEMENTADO 🎉 ║
║ ║
║ ✅ Patrón Registry para NaliiaBot ║
║ ║
╚════════════════════════════════════════════════════════════════════════════╝
📚 DOCUMENTACIÓN DISPONIBLE:
🗺️ TOOLS_DOCUMENTATION_INDEX.md
└─ Punto de partida. Lee esto primero. (10 min)
🚀 QUICK_START.py
└─ Tutorial interactivo. Ejecutar y aprender. (5 min)
📖 TOOLS_GUIDE.md
└─ Guía completa con ejemplos. (20 min)
💼 AGENDA_TOOLS_EXAMPLE.py
└─ 5 herramientas reales funcionando. (15 min)
📋 REGISTRY_IMPLEMENTATION_SUMMARY.md
└─ Qué se hizo y cómo. (10 min)
🏗️ ESTRUCTURA DEL PROYECTO:
src/naliiabot/bot/tools/
├── __init__.py
├── tool_registry.py (infraestructura)
└── tools.py (← TUS HERRAMIENTAS AQUÍ)
tests/
└── test_naliia_agent_tools.py (tests automáticos)
🚀 COMIENZA CON ESTOS 3 PASOS:
1⃣ Abre: TOOLS_DOCUMENTATION_INDEX.md
└─ Entiende la estructura
2⃣ Abre: QUICK_START.py
└─ Crea tu primera herramienta
3⃣ Abre: src/naliiabot/bot/tools/tools.py
└─ Agrega tus herramientas aquí
📊 ¿QUÉ ES EL PATRÓN REGISTRY?
Un sistema para registrar y gestionar herramientas de forma centralizada.
Flujo:
1. Define una herramienta (clase que hereda de BaseTool)
2. Regístrala en el ToolRegistry
3. Pásala al Agent
4. El LLM ahora puede usarla
✨ BENEFICIOS:
✅ Centralizado - Un único lugar para todas las tools
✅ Extensible - Agregar tools sin tocar código existente
✅ Testeable - Cada tool se prueba independientemente
✅ Mantenible - Cambios aislados
✅ Escalable - Funciona con 1 o 100 tools
✅ Validado - Schema automático de argumentos
💻 EJEMPLO RÁPIDO (copiar y pegar):
# 1. Crear una herramienta
class MiTool(BaseTool):
@property
def name(self) -> str:
return "mi_herramienta"
@property
def description(self) -> str:
return "Descripción"
@property
def args_schema(self):
return {"type": "object", "properties": {}}
def invoke(self, **kwargs) -> str:
return "resultado"
# 2. Registrar
registry = ToolRegistry()
registry.register(MiTool())
tools = registry.get_all_tools_as_langchain()
# 3. Usar con Agent
agent = Agent(model=modelo, tools=tools)
🎯 PRÓXIMOS PASOS:
Ahora mismo:
[ ] Abre TOOLS_DOCUMENTATION_INDEX.md
[ ] Lee QUICK_START.py
[ ] Intenta crear una herramienta
Después:
[ ] Revisa ejemplos en AGENDA_TOOLS_EXAMPLE.py
[ ] Crea tus herramientas personalizadas
[ ] Escribe tests
❓ ¿PREGUNTAS?
¿Cómo creo una tool?
→ TOOLS_GUIDE.md sección 2
¿Cómo registro tools?
→ TOOLS_GUIDE.md sección 3
¿Cuáles son los métodos disponibles?
→ TOOLS_GUIDE.md sección 4
¿Necesito ejemplos?
→ AGENDA_TOOLS_EXAMPLE.py
═══════════════════════════════════════════════════════════════════════════════
🎓 TODO LISTO PARA EMPEZAR
👉 Comienza por: TOOLS_DOCUMENTATION_INDEX.md
═══════════════════════════════════════════════════════════════════════════════