Hvordan man behandler PDF-tekst med ChatGPT i .NET

Hvordan man behandler PDF-tekst med ChatGPT i .NET

Denne artikel viser, hvordan man integrerer ChatGPT med PDF-arbejdstrømme i .NET ved hjælp af Aspose.PDF Chat GPT Plugin. Du vil lære at udveksle tekst fra PDF’er, behandle det gennem Chatroulette og skrive svar til nye eller eksisterende PDF filer - ideel til dokumentsammarisering, selvkommentering, eller AI-drivet indhold berikelse.

Det virkelige problem

Udvinding af meningsfyldte indsigt, samlinger eller svar fra PDF-filer manuelt er tidskrævende. udviklere har brug for en smidig måde at forbinde pdf-indhold med ChatGPT til automatiseret behandling og feedback, spare tid og øge produktiviteten.

Oversigt over løsning

Aspose.PDF ChatGPT Plugin for .NET giver dig mulighed for at sende PDF-indhold til Chatroulette, modtage kompletteringer eller samlinger, og gemme svar som nye PDF’er - alle med minimal kode.

Forudsætninger

  • Visual Studio 2019 eller senere
  • .NET 6.0 eller senere
  • Aspose.PDF for .NET installeret via NuGet
  • OpenAI API nøgle til ChatGPT
PM> Install-Package Aspose.PDF

Step-by-Step gennemførelse

Trin 1: Installér og indstill Aspose.PDF

Tilføj de nødvendige navneområder:

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

Trin 2: Forbered PDF-tekst eller fil

Angiv din input PDF og den ønskede output PDF-fil:

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

Trin 3: Indstill ChatGPT forespørgsel muligheder

Du kan udveksle tekst fra PDF manuelt, eller lad plugin bruge hele PDF-filen som input:

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

Du kan også tilføje tilpassede samtalemeddelelser (system/brugerroller):

    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
    });

Trin 4: Send en anmodning til ChatGPT og gem resultater

Behandle anmodningen asynkronisk, modtager både den nye PDF-filvej og ChatGPT-respons:

    // 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);
}

Trin 5: Fejlbehandling og async brug

Altid stjæle async opkald og håndtere API/netværksfejl:

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

Eksempel på fuld gennemførelse

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}");
            }
        }
    }
}

Brug af tilfælde og applikationer

PDF Summarization og AI-genererede kommentarer

Automatisk indsamle kontrakter, rapporter eller forskningsdokumenter ved hjælp af ChatGPT og gem svar i PDF’er.

Automatisk Q&A eller Insights ekstraktion

Send skræddersy til ChatGPT for at udveksle svar, tabeller eller nøgledata fra PDF-filer.

Batch-dokument berikning

Integrere i arbejdsprocesser til at behandle mange PDF’er, der genererer chat-baserede svar eller selvanmeldelser.

Fælles udfordringer og løsninger

Udfordring: API-grænser eller respons truncation

*Løsning: * Tilpasning MaxTokens og Query for optimale resultater; opdelt store PDF’er i stykker, hvis det er nødvendigt.

Udfordring: Secure API Key Management

Løsning: Lagre API-nøgler sikkert (miljøvariabler, vult) og undgå hardcoding i produktionen.

Performance overvejelser

  • Batch PDF-indtægter og prompt til at minimere API-opkald.
  • Brug async arbejdsprocesser for at holde din ansøgning responsiv.
  • Tune token begrænsninger til at styre API-omkostninger.

Bedste praksis

  • Kontroller altid PDF-udgang og ChatGPT svar for nøjagtighed.
  • Tilpasning af prompts og meddelelsesroller til målrettede resultater.
  • Sikker forvaltning af API-krediteringer.
  • Log og håndtere fejl grådigt i async-operationer.

Avancerede scenarier

  • Brug flere PDF’er eller prompt variationer i en loop.
  • Kombinere system/brugermeddelelser til komplekse sammenhænge eller opgaver.
  • Levering af PDF-udgang til nedstreambearbejdning eller arbejdsprocesser.

Konklusion

Aspose.PDF ChatGPT Plugin for .NET giver udviklere mulighed for at automatisere dokumentanalyse, summarisering og interaktiv PDF-bearbejdning ved hjælp af kraften i chatgPT – direkte inden for deres .net-applikationer. Streamline dit AI-dokument arbejdsproces, fra ekstraktion til berigelse, med kun et par linjer af kode.

 Dansk