Transforme documentos estáticos em conhecimento prático com o AIKit

Tradução automática de Deepl

Relatórios grandes, contratos ou arquivos de documentação geralmente contêm mais informações do que podem ser processadas rapidamente. Não seria ótimo se você pudesse simplesmente enviar um documento PDF do seu aplicativo 4D e deixar que a IA o ajudasse a resumir, extrair dados importantes ou responder a perguntas sobre o seu conteúdo?

Graças à nova classe OpenAI.files, esse fluxo de trabalho agora é muito simples. Você pode enviar arquivos facilmente e usar a IA para interagir com seu conteúdo de várias maneiras.

Etapa 1 – Carregue seu documento

A função OpenAI.files.create() permite que você carregue um arquivo que pode ser usado posteriormente em todos os pontos finais do OpenAI.

Aqui está um exemplo que carrega um arquivo PDF e define sua finalidade 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
//}

Depois de carregado, o resultado contém informações detalhadas sobre o arquivo, incluindo seu id, que será usado posteriormente.

⚠️ Importante: nem todos os tipos de arquivo são compatíveis com todos os modelos. Sempre verifique a documentação do modelo que você está usando para garantir que seus arquivos sejam compatíveis.

Etapa 2 – Vincule o arquivo à sua mensagem

Após o upload do arquivo, você pode associá-lo a uma mensagem usando a função OpenAIMessage.addFileId(). Isso instrui o modelo de IA a considerar o conteúdo do arquivo enviado ao gerar sua resposta.

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)

O modelo analisará o conteúdo do arquivo enviado e retornará um resumo conciso de seus pontos principais.

Etapa 3 – Exclua o arquivo do servidor

Depois que o resumo ou a análise for concluído, você pode excluir o arquivo enviado para liberar espaço ou manter a privacidade. Você pode fazer isso usando a função OpenAI.files.delete():

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

Gerenciar arquivos enviados

Após carregar um arquivo, você pode listar todos os arquivos da sua organização ou recuperar detalhes sobre um arquivo específico.

Listar todos os arquivos enviados

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

Recuperar um arquivo específico

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

Conclusão

Ao combinar OpenAI.files.create() e OpenAIChatHelper.prompt(), você pode oferecer um recurso de análise de documentos perfeito em seus aplicativos 4D. Os usuários simplesmente enviam um arquivo e, em segundos, recebem um resumo claro e preciso alimentado por IA.

Mas não se limita ao resumo. A mesma abordagem pode ser usada para extrair informações específicas, responder a perguntas ou pesquisar detalhes específicos dentro de um documento — tudo sem precisar lê-lo manualmente. Isso abre as portas para inúmeras possibilidades: atas automáticas de reuniões, integração rápida a documentos técnicos longos ou extração rápida de dados importantes — tudo dentro do seu ambiente 4D.

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.