Les rapports volumineux, les contrats ou les fichiers de documentation contiennent souvent plus d’informations qu’il n’est possible d’en traiter rapidement. Ne serait-il pas pratique de pouvoir simplement télécharger un document PDF depuis votre application 4D et laisser l’IA vous aider à le résumer, à en extraire les données clés ou à répondre à des questions sur son contenu ?
Grâce à la nouvelle classe OpenAI.files, ce workflow est désormais très simple. Vous pouvez télécharger des fichiers en toute transparence et utiliser l’IA pour interagir avec leur contenu de nombreuses façons.
Étape 1 – Téléchargez votre document
La fonction OpenAI.files.create() vous permet de télécharger un fichier qui pourra ensuite être utilisé sur tous les points de terminaison OpenAI.
Voici un exemple qui télécharge un fichier PDF et définit son objectif comme user_data :
var $file := File("/RESOURCES/MeetingReport.pdf")
var $clientAI : cs.AIKit.OpenAI:=cs.AIManagement.new().clientAI
// Upload the file
// $file: the 4D.File object representing the local document
// "user_data": the intended purpose of the file
// expires_after: optional policy to automatically delete the file after 1 hour
var $result:=$clientAI.files.create($file; "user_data"; {expires_after: {anchor: "created_at"; seconds: 3600}})
//$result.file{
// "object":"file",
// "id":"file-8WJG5F9PYR3SCbL2dKJ5b2",
// "purpose":"user_data",
// "filename":"2510.07311v1.pdf",
// "bytes":912072,
// "created_at":1760433437,
// "expires_at":1760437037,
// "status":"processed",
// "status_details":null
//}
Une fois téléchargé, le résultat contient des informations détaillées sur le fichier, y compris son identifiant, qui sera utilisé ultérieurement.
⚠️ Important : tous les types de fichiers ne sont pas pris en charge par tous les modèles. Vérifiez toujours la documentation du modèle que vous utilisez pour vous assurer que vos fichiers sont compatibles.
Étape 2 – Liez le fichier à votre message
Une fois le fichier téléchargé, vous pouvez l’associer à un message à l’aide de la fonction OpenAIMessage.addFileId(). Cela indique au modèle d’IA de prendre en compte le contenu du fichier téléchargé lors de la génération de sa réponse.
var $clientAI:=cs.AIManagement.new().clientAI
var $chatHelper:=$clientAI.chat.create("You are an assistant specializing in file analysis and parsing.")
// Create a new OpenAIMessage object with role "user" and a prompt
var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Could you summarize this document?"})
// Attach the uploaded file to the message by adding its file id
// This tells the AI which document should be summarized
$message.addFileId($result.file.id)
// Send the message to the AI chat helper and store the summarized text
var $summary:=$chatHelper.prompt($message)
Le modèle analysera le contenu du fichier téléchargé et renverra un résumé concis de ses principaux points.
Étape 3 – Supprimer le fichier du serveur
Une fois le résumé ou l’analyse terminé, vous pouvez supprimer le fichier téléchargé pour libérer de l’espace ou préserver la confidentialité. Pour ce faire, utilisez la fonction OpenAI.files.delete() :
// Delete the uploaded file using its ID
var $delete:=$ClientAI.files.delete($result.file.id)
Gérer les fichiers téléchargés
Après avoir téléchargé un fichier, vous pouvez répertorier tous les fichiers de votre organisation ou récupérer des informations détaillées sur un fichier spécifique.
Répertorier tous les fichiers téléchargés
// List all files uploaded by your organization
var $filesList:=$clientAI.files.list()
Récupérer un fichier spécifique
// Get detailed info about a single file using its id
var $fileInfo:=$clientAI.files.retrieve($result.file.id)
Conclusion
En combinant OpenAI.files.create() et OpenAIChatHelper.prompt(), vous pouvez offrir une fonctionnalité d’analyse de documents transparente dans vos applications 4D. Les utilisateurs n’ont qu’à télécharger un fichier et, en quelques secondes, ils reçoivent un résumé clair et précis généré par l’IA.
Mais cela ne s’arrête pas au résumé. La même approche peut être utilisée pour extraire des informations spécifiques, répondre à des questions ou rechercher des détails particuliers dans un document, le tout sans avoir à le lire manuellement. Cela ouvre la voie à d’innombrables possibilités : comptes-rendus de réunion automatiques, intégration rapide à de longs documents techniques ou extraction rapide de données clés, le tout dans votre environnement 4D.
