feat: Add NaliiaTools

This commit is contained in:
2026-02-16 16:35:15 -05:00
parent 63758f5f9c
commit 66fe0a2a13
7 changed files with 100 additions and 34 deletions

View File

@@ -1,13 +1,67 @@
from langchain.tools import tool
from ..logger import logger
class NaliiaTools:
def get_tools(self):
return [
self.verificar_usuario_registrado,
self.registrar_usuario_nuevo,
self.consultar_sedes,
self.consultar_agenda_disponible,
self.agendar_cita
]
@tool
def verificar_usuario_registrado(self):
def verificar_usuario_registrado(phone: str) -> bool:
"""
Verifica si el usuario que esta contactandose es un
usuario ya conocido y registrado en la base de datos.
Verifica si el usuario esta registrado.
Args:
phone: Numero de contacto del cliente ejemplo 30123334
"""
logger.info("Llamando a Verificar usuario.")
return False
@tool
def registrar_usuario_nuevo(full_name: str, phone: str) -> bool:
"""
En caso de que no se haya podido verificar el usuario, sera necesario
registrarlo como un usuario nuevo.
Args:
full_name: Nombre completo del cliente.
phone: Numero de contacto del cliente.
"""
logger.info("Llamando a Registrar Nuevo Usuario.")
return True
@tool
def consultar_sedes() -> list:
"""
Brinda informacion al usuario acerca de las sedes disponibles y sus horarios.
"""
logger.info("Llamando a consultar sedes.")
return []
@tool
def consultar_agenda_disponible() -> list:
"""
Ayuda a consultar al cliente los horarios de atencion disponibles para agendar su cita.
"""
logger.info("Llamando a consultar agenda disponible.")
return []
@tool
def agendar_cita() -> bool:
"""
Ayuda al cliente a confirmar su cita.
"""
logger.info("Llamando a agendar cita.")
return True