Los informes, contratos o archivos de documentación de gran tamaño suelen contener más información de la que se puede procesar rápidamente. ¿No sería estupendo poder simplemente cargar un documento PDF desde su aplicación 4D y dejar que la IA le ayudara a resumirlo, extraer datos clave o responder preguntas sobre su contenido?
Gracias a la nueva clase OpenAI.files, este flujo de trabajo es ahora muy sencillo. Puede cargar archivos sin problemas y utilizar la IA para interactuar con su contenido de muchas maneras.
Paso 1: suba su documento
La función OpenAI.files.create() le permite cargar un archivo que luego se puede utilizar en todos los puntos finales de OpenAI.
A continuación, se muestra un ejemplo en el que se carga un archivo PDF y se establece su finalidad como 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 vez subido, el resultado contiene información detallada sobre el archivo, incluido su id, que se utilizará más adelante.
⚠️ Importante: no todos los tipos de archivos son compatibles con todos los modelos. Compruebe siempre la documentación del modelo que está utilizando para asegurarse de que sus archivos son compatibles.
Paso 2: vincule el archivo a su mensaje
Una vez subido el archivo, puede asociarlo a un mensaje utilizando la función OpenAIMessage.addFileId(). Esto le indica al modelo de IA que tenga en cuenta el contenido del archivo subido al generar su respuesta.
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)
El modelo analizará el contenido del archivo subido y devolverá un resumen conciso de sus puntos principales.
Paso 3: elimine el archivo del servidor
Una vez realizado el resumen o el análisis, es posible que desee eliminar el archivo cargado para liberar espacio o mantener la privacidad. Puede hacerlo utilizando la función OpenAI.files.delete():
// Delete the uploaded file using its ID
var $delete:=$ClientAI.files.delete($result.file.id)
Gestionar LOS archivos subidos
Después de cargar un archivo, puede enumerar todos los archivos de su organización u obtener detalles sobre un archivo específico.
Listar todos los archivos subidos
// List all files uploaded by your organization
var $filesList:=$clientAI.files.list()
Recuperar un archivo específico
// Get detailed info about a single file using its id
var $fileInfo:=$clientAI.files.retrieve($result.file.id)
Conclusión
Al combinar OpenAI.files.create() y OpenAIChatHelper.prompt(), puede ofrecer una función de análisis de documentos perfecta en sus aplicaciones 4D. Los usuarios solo tienen que cargar un archivo y, en cuestión de segundos, recibirán un resumen claro y preciso generado por IA.
Pero no se limita al resumen. El mismo enfoque se puede utilizar para extraer información específica, responder preguntas o buscar detalles concretos dentro de un documento, todo ello sin necesidad de leerlo manualmente. Esto abre la puerta a innumerables posibilidades: actas de reuniones automáticas, integración rápida a documentos técnicos largos o extracción rápida de datos clave, todo ello dentro de su entorno 4D.
