El function calling en los chatbots empresariales. ¿Para qué sirve?

Desde que se utiliza la inteligencia artificial en su desarrollo, los asistentes conversacionales sirven para mucho más que para responder preguntas frecuentes, y el function calling en los chatbots empresariales ha sido, sin duda, en gran parte el gran responsable de ese salto de calidad tecnológico.

La razón es que una cosa es que un asistente virtual con inteligencia artificial con chatbots puede explicar a un cliente cuál es el estado de tu pedido, y otra muy distinta que pueda ir a buscarlo él mismo a la base de datos, para comprobar si hay incidencias y ofrecer una solución.

Así que lo que ha ocurrido en los últimos años, sobre todo desde que los asistentes conversacionales para empresas tienen de forma nativa la capacidad de ejecutar funciones externas, es que la conversación con un sistema de IA es ahora diálogo mediante el que un usuario habla con el chatbot como lo haría con un empleado, y el chatbot, además de responder, realiza alguna función.

Pues bien, como entendemos que todo esto es bastante técnico y puede resultar complicado para alguien que no esté familiarizado con el mundo de la programación, en este artículo queremos ir al grano y contarte, cómo se puede implementar el function calling en los chatbots empresariales y qué beneficios concretos aporta.

¿Qué es el function calling en los chatbots empresariales?

Podríamos decir que el function calling es el mecanismo que permite a un modelo de lenguaje hacer cosas dentro de los sistemas con los que está conectado, además de responder a las solicitudes que les hace un usuario, o al mismo tiempo.

Es decir, un chatbot para empresas puede invocar directamente una función interna de la empresa que consulte cualquier tipo de información en la base de datos y la integre en una respuesta de forma natural, como si lo hubiera sabido desde el principio.

Por lo tanto, el function calling convierte al chatbot en una especie de empleado que tiene acceso a las herramientas internas del negocio y sabe utilizarlas, puesto que por supuesto, el modelo no ejecuta la función por sí mismo, ojo, porque eso es algo que a veces se malinterpreta.

Lo que hace es generar una llamada, normalmente en formato JSON, con el nombre de la función que quiere ejecutar y los parámetros que ha extraído de la conversación, pero después, es el sistema donde está integrado el chatbot el que se encarga de ejecutar esa función y de devolvérsela al modelo para que este elabore la respuesta final.

En cualquier caso, lo bueno es que el modelo aprende a decidir cuándo debe llamar a una función y cuándo no, en función de lo que el usuario le está pidiendo, así que con la inteligencia artificial detectará que necesita ejecutar una acción concreta y generará la llamada correspondiente.

Por supuesto, para que el function calling funcione correctamente, se tienen que definir previamente qué funciones están disponibles, además de los parámetros que se aceptan y en qué situaciones conviene utilizarlas.

¿Cómo puede un chatbot consultar datos de una empresa mediante function calling?

Si hay un caso de uso que justifica por sí solo la adopción del function calling en una empresa, ese es sin duda la consulta de datos internos, porque la mayor parte de las interacciones que un cliente, o un empleado tiene con un chatbot empresarial, buscan una respuesta concreta que, en la mayoría de los casos, ya existe en algún sistema del negocio.

Lo bueno de este planteamiento es que el usuario no tiene por qué saber nada de lo que ha ocurrido, puesto que para él, simplemente ha hablado con un asistente que sabe cosas de la empresa, y eso es exactamente lo que se busca.

Pero para que funcione con un mínimo de fiabilidad, cada función que se ponga a disposición del modelo debe estar bien escrita, puesto que esto es lo que permite al modelo decidir cuándo tiene que llamar a la función y cuándo no.

De hecho, lo más habitual es que cada función esté asociada a una operación concreta y que el sistema tenga sus propios mecanismos de validación para asegurarse de que quien está preguntando tiene permiso para recibir esa información.

Dicho de otra forma, el modelo de lenguaje decide qué función invocar, pero la ejecución real y los permisos de acceso siguen estando del lado del sistema, que es donde deben estar. Así se evita, por ejemplo, que un usuario con un simple prompt consiga sacar datos que no le corresponden.

¿Cómo se utiliza el function calling para conectar un chatbot con APIs externas?

Hasta ahora hemos hablado sobre todo de lo que ocurre cuando el chatbot necesita consultar información que ya está dentro de los sistemas de la propia empresa, por lo que está ligado al hecho de entrenar un chatbot con los datos de tu empresa, pero hay otra posibilidad igual de importante que es la de conectar el asistente con servicios de terceros a través de APIs externas.

El function calling actúa, en estos casos, como el puente que traduce la intención del usuario en una petición a un servicio ajeno, y que luego convierte la respuesta de ese servicio en un mensaje dentro de la conversación.

Pero aunque lo parezca, la realidad es que el modelo de lenguaje no habla directamente con la API externa, puesto que esa tarea la sigue haciendo el sistema que aloja el chatbot, normalmente a través de un backend que ya tiene las credenciales, los endpoints y la lógica de autenticación.

Así que lo que el modelo hace es decidir que para responder a lo que el usuario pide necesita llamar a una función concreta, y para ello devuelve una instrucción que incluye el nombre de la función y los parámetros necesarios. A partir de ahí, el backend ejecuta la llamada real contra la API de turno, recibe el resultado, y se lo pasa de vuelta al modelo para que redacte la respuesta.

Con esta explicación, esperamos que te haya quedado bastante más claro qué es el function calling y para qué sirve, incluso si no tienes conocimientos previos de programación. No osbtante, si tienes alguna duda sobre cómo implementar esta tecnología en los chatbots de tu empresa, contacta con nosotros.

Deja una respuesta

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.