aab046b2ef0e6bd181468c46382e8f942a3e3a27
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í:
- docs/INICIO.txt - Bienvenida (2 min)
- docs/TOOLS_DOCUMENTATION_INDEX.md - Índice (10 min)
- 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:
- Fork el repositorio
- Crea una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abre un Pull Request
Description
Languages
Python
97.6%
Jupyter Notebook
1.3%
Dockerfile
1.1%