DEV Community

Pablo Nieto
Pablo Nieto

Posted on

Dotando a IAs con: V1 Finance Sepa-Xml (ETL-D API)

CONTENT:

  • El Problema de la Alucinación

    Las Modelos de Lenguaje Grande (LLM) tienden a "alucinar" cuando les falta información precisa y específica, especialmente en tareas técnicas y financieras. Al integrar el endpoint /v1/finance/sepa-xml de ETL-D, logramos proporcionar una herramienta determinística que evita conjeturas, asegurando que el agente siempre dispone de datos precisos para generar los ficheros XML de adeudo directo SEPA.

  • Arquitectura de la Herramienta del Agente

    Este endpoint funciona como middleware determinístico dentro de la arquitectura del agente. Los agentes de LLM, como LangChain o AutoGPT, necesitan herramientas que les proporcionen respuestas predecibles y concretas. Al integrar este endpoint, el agente puede transformar entradas JSON en un XML SEPA Direct Debit sin depender de las predicciones, haciendo del proceso un paso confiable en el flujo de trabajo del agente.

  • Implementación

from etld_sdk import FinanceTool
from etld_sdk.exceptions import ServiceException
from langchain import Agent

class SEPAToolModule:
    def __init__(self, api_key):
        self.client = FinanceTool(api_key=api_key)

    def generate_sepa_xml(self, sepa_input_json):
        try:
            response = self.client.generate_sepa_endpoint_v1_finance_sepa_xml_post(sepa_input_json)
            return response
        except ServiceException as e:
            if e.status_code == 402:
                return "Error: 402. No hay créditos suficientes. Se necesita recarga."
            elif e.status_code == 422:
                return "Error: 422. Error de validación en la solicitud."
            else:
                return f"Error: {str(e)}"

# Envolviendo el módulo como una herramienta LangChain
class SepaXMLTool(Agent):
    def __init__(self, api_key):
        super().__init__()
        self.sepa_tool = SEPAToolModule(api_key)

    @tool
    def generate_sepa_tool(self, sepa_input_json):
        return self.sepa_tool.generate_sepa_xml(sepa_input_json)
Enter fullscreen mode Exit fullscreen mode
  • Especificaciones del Output Determinístico El LLM recibe una respuesta clara y estructurada al solicitar la generación de un archivo SEPA Direct Debit XML. El XML resultante, que cumple con el estándar PAIN.008.001.02, asegura que los datos sean transmitidos de manera precisa y conforme a las exigencias normativas. Si ocurren errores (como falta de créditos o errores de validación), el agente obtiene mensajes de error específicos para un manejo adecuado. Esto permite al agente gestionar las respuestas sin incertidumbres ni conjeturas.

🔗 Get the Agent Tool Code: GitHub Gist

Top comments (0)