4D 21 et AI Kit : Redéfinir la façon dont les applications pensent et agissent

Traduit automatiquement de Deepl

Avec 4D 21, l’IA fait un pas de géant. Au cœur de cette évolution se trouve l’appel d’outils de 4D AI Kit, un ajout massif qui transforme la façon dont vous intégrez l’IA dans vos applications.

L’appel d’outil vous permet d’étendre les capacités du modèle en enregistrant vos propres méthodes ou fonctions, que l’IA peut appeler automatiquement le cas échéant. Cela signifie qu’au lieu de gérer manuellement chaque interaction, l’assistant de chat invoque automatiquement vos gestionnaires, ce qui vous donne à la fois de la flexibilité et du contrôle.

Pourquoi c’est important

Notre implémentation donne le contrôle aux développeurs. Vous décidez quels outils existent et quelles données sont partagées. L’IA n’a pas d’accès direct à votre base de données. Vous déclarez les outils, définissez leurs paramètres et déterminez exactement les données à renvoyer. Vous protégez ainsi vos données tout en permettant à l’IA de travailler avec les résultats de votre choix.

L’appel d’outils ouvre également la voie à la génération assistée par récupération (RAG). Dans la RAG, le modèle ne s’appuie pas uniquement sur ses propres connaissances. Au lieu de cela, il peut récupérer dynamiquement des informations à partir de sources externes, telles que votre base de données 4D, avant de générer une réponse. Il en résulte des réponses qui sont non seulement intelligentes et naturelles, mais aussi ancrées dans le contexte réel de votre entreprise.

Outil d’IA appelant l’ invocation dans les conversations

L’une des principales innovations du kit d’IA consiste à permettre à l’assistant d’invoquer automatiquement des outils au cours des conversations. Un outil est une fonction personnalisée enregistrée par le développeur qui peut être déclenchée par le modèle lorsque certaines conditions sont remplies. Cela rend votre assistant beaucoup plus dynamique, capable d’effectuer des tâches spécialisées sans intervention manuelle.

Par exemple, vous pouvez créer un outil pour renvoyer des informations sur une personne, annuler des factures, envoyer des courriels, valider des commandes – transformant ainsi votre assistant en une nouvelle interface pour interagir avec les services fournis par votre application 4D. Et le meilleur dans tout cela ? Cela peut se faire uniquement par le biais d’une interface utilisateur basée sur des invites, ce qui correspond exactement à la façon dont la prochaine génération d’utilisateurs s’attend à interagir avec les logiciels.

Exemple : Création d’un outil « GetPeopleInfo

Voici un exemple pratique montrant comment enregistrer et utiliser un outil avec AI Kit :

  • Tout d’abord, créez une classe Tool_GetPeopleInfo qui décrit l’outil :
// --- 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"
  • Enregistrez ensuite l’outil avec l’assistant de conversation :
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.

Lorsque l’utilisateur demande « Quelle est l’adresse de John Smith ?« , le modèle décide d’appeler l’outil « GetPeopleInfo » car il a accès à la définition de l’outil. La fonction handler est automatiquement appelée par AIKit avec les paramètres fournis. Le modèle reçoit la réponse, l’intègre dans la conversation et renvoie la réponse formatée. Tout cela se passe sans codage manuel pour chaque requête.

Au-delà de l’exemple : Élargir les cas d’utilisation

Le potentiel de l’appel d’outil va bien au-delà de la récupération de données. Voici quelques exemples de ce que vous pouvez faire :

  • Annuler des factures sur la base d’une demande de l’utilisateur.

  • Envoyer des courriels automatisés avec un contenu personnalisé.

  • Valider les commandes avant de les traiter.

  • Déclencher des flux de travail dans votre application 4D.

Ces outils permettent à votre assistant de devenir une interface puissante pour les fonctionnalités de votre application, une interface utilisateur en langage naturel pour vos services. Il ne s’agit pas d’un simple avantage : c’est la façon dont la prochaine génération s’attend à interagir avec les logiciels.

conclusion

L’outil d’IA appelé dans le kit d’IA de 4D 21 vous permet d’étendre de manière transparente les capacités du modèle avec votre propre logique. En associant l’IA à vos méthodes ou fonctions 4D, vous pouvez donner à l’assistant un accès direct à vos données et processus, ce qui rend ses réponses non seulement plus intelligentes, mais aussi parfaitement adaptées aux besoins de votre entreprise. Notez que tous les modèles ne prennent pas en charge cette fonctionnalité.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.