Trasforma i documenti statici in conoscenze fruibili con AIKit

Tradotto automaticamente da Deepl

I report di grandi dimensioni, i contratti o i file di documentazione spesso contengono più informazioni di quelle che possono essere elaborate rapidamente. Non sarebbe bello poter semplicemente caricare un documento PDF dalla propria applicazione 4D e lasciare che l’IA lo riassuma, estragga i dati chiave o risponda alle domande sul suo contenuto?

Grazie alla nuova classe OpenAI.files, questo flusso di lavoro è ora molto semplice. È possibile caricare file senza problemi e utilizzare l’IA per interagire con il loro contenuto in molti modi.

Passaggio 1 – Caricare il documento

La funzione OpenAI.files.create() consente di caricare un file che potrà essere successivamente utilizzato su tutti gli endpoint OpenAI.

Ecco un esempio che carica un file PDF e ne imposta lo scopo su 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
//}

Una volta caricato, il risultato contiene informazioni dettagliate sul file, compreso il suo ID, che verrà utilizzato in seguito.

⚠️ Importante: non tutti i tipi di file sono supportati da ogni modello. Controlla sempre la documentazione del modello che stai utilizzando per assicurarti che i tuoi file siano compatibili.

Passaggio 2 – Collega il file al tuo messaggio

Dopo aver caricato il file, puoi associarlo a un messaggio utilizzando la funzione OpenAIMessage.addFileId(). Questo indica al modello di IA di considerare il contenuto del file caricato durante la generazione della risposta.

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)

Il modello analizzerà il contenuto del file caricato e restituirà un breve riassunto dei suoi punti principali.

Passaggio 3 – Elimina il file dal server

Una volta completata la sintesi o l’analisi, potresti voler eliminare il file caricato per liberare spazio o mantenere la privacy. Puoi farlo utilizzando la funzione OpenAI.files.delete():

// Delete the uploaded file using its ID
var $delete:=$ClientAI.files.delete($result.file.id)

Gestisci i file caricati

Dopo aver caricato un file, puoi elencare tutti i file della tua organizzazione o recuperare i dettagli di un file specifico.

Elenca tutti i file caricati

// List all files uploaded by your organization
var $filesList:=$clientAI.files.list()

Recuperare un file specifico

// Get detailed info about a single file using its id
var $fileInfo:=$clientAI.files.retrieve($result.file.id)

Conclusione

Combinando OpenAI.files.create() e OpenAIChatHelper.prompt(), puoi offrire una funzione di analisi dei documenti senza soluzione di continuità nelle tue applicazioni 4D. Gli utenti devono semplicemente caricare un file e, in pochi secondi, ricevono un riassunto chiaro e accurato basato sull’intelligenza artificiale.

Ma non si tratta solo di sintesi. Lo stesso approccio può essere utilizzato per estrarre informazioni specifiche, rispondere a domande o cercare dettagli particolari all’interno di un documento, il tutto senza doverlo leggere manualmente. Questo apre la porta a innumerevoli possibilità: verbali automatici delle riunioni, rapida acquisizione di documenti tecnici lunghi o estrazione rapida di dati chiave, il tutto all’interno del proprio ambiente 4D.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.