Com processar el text PDF amb ChatGPT en .NET

Com processar el text PDF amb ChatGPT en .NET

Aquest article demostra com integrar ChatGPT amb els fluxos de treball PDF en .NET utilitzant l’Aspose.PDF Plugin de xat GPT. Aprendràs a extreure text de PDFs, processar-lo a través de Chatroulette i escriure respostes a fitxers PDF nous o existents -ideal per a la resumització de documents, el comentari automàtic, o enriquiment de contingut d’IA.

El problema del món real

L’extracció d’informacions significatives, resums o respostes de fitxers PDF manualment és temps-consum. Els desenvolupadors necessiten una manera estricta de connectar continguts PDF amb ChatGPT per al processament automatitzat i feedback, estalviar temps i augmentar la productivitat.

Revisió de solucions

Aspose.PDF ChatGPT Plugin per a .NET li permet enviar continguts PDF a Chatroulette, rebre complements o resums, i salvar respostes com a nous PDFs -tots amb codi mínim.

Prerequisits

  • Visual Studio 2019 o posterior
  • .NET 6.0 o posterior
  • Aspose.PDF per a .NET instal·lat a través de NuGet
  • OpenAI API clau per a ChatGPT
PM> Install-Package Aspose.PDF

Implementació de pas a pas

Pas 1: Instal·la i configura Aspose.PDF

Afegeix els espais de nom requerits:

using Aspose.Pdf.Plugins;
using System.IO;
using System.Threading.Tasks;

Pas 2: Preparar el text o el fitxer PDF

Especifiqueu el vostre fitxer PDF d’entrada i de sortida desitjat:

string inputPdfPath = @"C:\Samples\source.pdf";
string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";

Pas 3: Configure les opcions de petició de ChatGPT

Podeu extreure text del PDF manualment, o deixar que el plugin utilitzi tot el fitxer PDF com a entrada:

using (var plugin = new PdfChatGpt())
{
    var options = new PdfChatGptRequestOptions();
    options.AddInput(new FileDataSource(inputPdfPath));    // Use full PDF text as message
    options.AddOutput(new FileDataSource(outputPdfPath));   // Path for the output PDF
    
    options.ApiKey = "Your-OpenAI-API-Key";                // REQUIRED: Your API key for ChatGPT
    options.MaxTokens = 1000;                              // Limit response size
    options.Query = "Summarize the contents of this document."; // Or ask any question about the PDF

També podeu afegir missatges de conversa personalitzats (rol·les de sistema/usuari):

    options.Messages.Add(new Message
    {
        Content = "You are a document assistant. Summarize the provided PDF text.",
        Role = Role.System
    });
    options.Messages.Add(new Message
    {
        Content = "What are the main topics covered in this PDF?",
        Role = Role.User
    });

Pas 4: Envia la sol·licitud a ChatGPT i salva el resultat

Processar la sol·licitud de manera asíncrona, rebre tant el nou camí de fitxer PDF com la resposta de ChatGPT:

    // Process the request and await the result
    var result = await plugin.ProcessAsync(options);
    var fileResultPath = result.ResultCollection[0].Data; // Path to the output PDF
    var chatCompletion = result.ResultCollection[1].Data as ChatCompletion; // ChatGPT API object

    // Access the generated response text if needed:
    var firstChoice = chatCompletion?.Choices?.FirstOrDefault();
    var responseText = firstChoice?.Message?.Content;

    Console.WriteLine($"PDF generated at: {fileResultPath}");
    Console.WriteLine("ChatGPT response:");
    Console.WriteLine(responseText);
}

Pas 5: El tractament d’errors i l’ús async

Sempre enganxar les trucades async i gestionar els errors API/network:

try
{
    // (Code above)
}
catch (Exception ex)
{
    Console.WriteLine($"Error during ChatGPT PDF processing: {ex.Message}");
}

Exemple complet d’implementació

using Aspose.Pdf.Plugins;
using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        string inputPdfPath = @"C:\Samples\source.pdf";
        string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";

        using (var plugin = new PdfChatGpt())
        {
            var options = new PdfChatGptRequestOptions();
            options.AddInput(new FileDataSource(inputPdfPath));
            options.AddOutput(new FileDataSource(outputPdfPath));
            options.ApiKey = "Your-OpenAI-API-Key";
            options.MaxTokens = 1000;
            options.Query = "Summarize the content of this PDF document.";

            try
            {
                var result = await plugin.ProcessAsync(options);
                var fileResultPath = result.ResultCollection[0].Data;
                var chatCompletion = result.ResultCollection[1].Data as ChatCompletion;
                var firstChoice = chatCompletion?.Choices?.FirstOrDefault();
                var responseText = firstChoice?.Message?.Content;

                Console.WriteLine($"PDF generated at: {fileResultPath}");
                Console.WriteLine("ChatGPT response:");
                Console.WriteLine(responseText);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error: {ex.Message}");
            }
        }
    }
}

Utilitzar casos i aplicacions

PDF Sumarització i comentaris generats per AI

Resumeix automàticament els contractes, els informes o els documents de recerca utilitzant ChatGPT i emmagatzema les respostes en PDF.

Automàtic Q&A o Insights Extracció

Envia promptes personalitzades a ChatGPT per a l’extracció de respostes, taules o dades clau de fitxers PDF.

Enriquiment de document Batch

Integrar-se en fluxos de treball per processar molts PDFs, generant respostes basades en xat o anotacions automàtiques.

Els reptes i les solucions comunes

Challenge: API Limits o Truncation de resposta

Solució: Adaptació MaxTokens i Query per a resultats òptims; divideix grans PDFs en trossos si és necessari.

Títol: Secure API Key Management

Solució: Emmagatzema les claus API de manera segura (variables mediambientals, vals) i evita el codificació dur en la producció.

Consideracions de rendiment

  • Batch PDF introdueix i prometeix per minimitzar les trucades API.
  • Utilitzeu fluxos de treball async per mantenir la seva aplicació responent.
  • Tune els límits de token per gestionar els costos d’API.

Les millors pràctiques

  • Sempre comprovar la sortida de PDF i les respostes de ChatGPT per a la precisió.
  • Personalitza els impulsos i els rols de missatge per a resultats objectius.
  • Gestió segura de les credencials API.
  • Enregistrar i gestionar els errors de manera gràfica en les operacions d’async.

Escenaris avançats

  • Utilitzeu múltiples PDFs o variacions promptes en un rumb.
  • Combina els missatges del sistema / usuari per a context complex o tasques.
  • Lliurament de les sortides PDF per al processament baix o fluxos de treball.

Conclusió

Aspose.PDF ChatGPT Plugin per a .NET permet als desenvolupadors automatitzar l’anàlisi de documents, la resumidació i el processament interactiu de PDF utilitzant el poder de Chatroulette - directament dins de les seves aplicacions .net. Streamline els fluxos de treball del seu document AI, des d’extracció a enriquiment, amb poques línies de codi.

 Català