4D 21 y AI Kit: redefinir cómo piensan y actúan las aplicaciones

Con 4D 21, la IA da un salto de gigante. En el corazón de esta evolución se encuentra la llamada a herramientas de AI Kit, una incorporación masiva que transforma la forma de integrar la IA en sus aplicaciones.

La llamada a herramientas le permite ampliar las capacidades del modelo registrando sus propios métodos o funciones, que la IA puede llamar automáticamente cuando sea relevante. Esto significa que, en lugar de gestionar manualmente cada interacción, el asistente de chat invoca automáticamente sus gestores, lo que le da flexibilidad y control.

Por qué es importante

Nuestra implementación da el control a los desarrolladores. Usted decide qué herramientas existen y qué datos se comparten, no hay acceso directo de la IA a su base de datos. Usted declara las herramientas, define sus parámetros y determina exactamente qué datos devolver. Esto protege sus datos al tiempo que permite a la IA trabajar con los resultados de su elección.

La llamada a herramientas también abre la puerta a la generación mejorada por recuperación (RAG). En la RAG, el modelo no se basa únicamente en sus propios conocimientos. En su lugar, puede recuperar dinámicamente información de fuentes externas, como su base de datos 4D, antes de generar una respuesta. El resultado son respuestas no sólo inteligentes y naturales, sino también basadas en el contexto empresarial real.

Herramienta de IA que invoca en las conversaciones

Una innovación clave en AI Kit es permitir que el asistente invoque automáticamente herramientas durante las conversaciones. Una herramienta es una función personalizada registrada por el desarrollador que puede ser activada por el modelo cuando se cumplen determinadas condiciones. Esto hace que su asistente sea mucho más dinámico, capaz de realizar tareas especializadas sin intervención manual.

Por ejemplo, usted podría crear una herramienta para devolver información sobre una persona, cancelar facturas, enviar correos electrónicos, validar pedidos, esencialmente convirtiendo su asistente en una nueva interfaz para interactuar con los servicios que su aplicación 4D proporciona. ¿Y lo mejor? Esto puede suceder puramente a través de una interfaz de usuario basada en instrucciones, que es exactamente cómo la próxima generación de usuarios espera interactuar con el software.

Ejemplo: Creación de una herramienta «GetPeopleInfo

Aquí un ejemplo práctico que muestra cómo registrar y utilizar una herramienta con AI Kit:

  • En primer lugar, cree una clase Tool_GetPeopleInfo que describa la herramienta:
// --- Tool Definition ---
property tool:={}

Class constructor
  // We describe the "GetPeopleInfo" tool in json format:
  This.tool.name:="GetPeopleInfo"
  This.tool.description:="It returns information about the person based on their first and last name."
  This.tool.parameters:={type: "object"; properties: {}}
  This.tool.parameters.properties.firstname:={type: "string"; description: "First name of the person sought"}
  This.tool.parameters.properties.lastname:={type: "string"; description: "Last name of the person sought"}
	
Function handler($info : Object) : Text
	$result:=ds.People.query("Firstname=:1 and Lastname=:2"; $info.firstname; $info.lastname)
	// Returns the person information
	return $result.length>0 ? JSON Stringify($result[0].toObject()) : "This person is unknown"
  • A continuación, registre la herramienta con el asistente de chat:
var $client:=cs.AIKit.OpenAI.new($openAIKey)
var $chatHelper:=$client.chat.create("you are an HR assistant.")

// --- Tool Registration ---
// We register the tool with the chat helper.
// This allows the model to automatically invoke it when a request matches.
$chatHelper.registerTool(cs.Tool_GetPeopleInfo.new())

var $result:=$chatHelper.prompt("What is Faye Back's address?")
//$result.choice.message.text="Faye Back's address is Earl Boulevard (178), Lanesville, 12450, USA.

Cuando el usuario pregunta «¿Cuál es la dirección de John Smith?«, el modelo decide llamar a la herramienta «GetPeopleInfo» porque tiene acceso a la definición de la herramienta. AIKit llama automáticamente a la función handler con los parámetros proporcionados. El modelo recibe la respuesta, la integra en la conversación y devuelve la respuesta formateada. Todo esto sucede sin codificación manual para cada consulta.

Más allá del ejemplo: Ampliar los casos de uso

El potencial de la llamada a herramientas va mucho más allá de la recuperación de datos. He aquí algunos ejemplos de lo que se puede hacer:

  • Cancelar facturas a petición de un usuario.

  • Enviar correos electrónicos automatizados con contenido personalizado.

  • Validar pedidos antes de procesarlos.

  • Activar flujos de trabajo dentro de su aplicación 4D.

Estas herramientas permiten que su asistente se convierta en una poderosa interfaz para la funcionalidad de su aplicación, una interfaz de usuario de lenguaje natural para sus servicios. Esto no es sólo un «nice-to-have»: es la forma en que la próxima generación espera interactuar con el software.

conclusión

La herramienta de IA llamada en el kit AI de 4D 21 le permite ampliar las capacidades del modelo con su propia lógica. Uniendo la IA con sus métodos o funciones 4D, puede dar al asistente acceso directo a sus datos y procesos, haciendo sus respuestas no sólo más inteligentes sino también perfectamente adaptadas a las necesidades de su negocio. Tenga en cuenta que no todos los modelos soportan esta funcionalidad.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.