Kako obrađivati PDF tekst s ChatGPT u .NET-u

Kako obrađivati PDF tekst s ChatGPT u .NET-u

Ovaj članak pokazuje kako integrirati ChatGPT s radnim tokovima PDF-a u .NET-u pomoću Aspose.PDF Chat GPT Plugin. naučit ćete kako izvući tekst iz pdf-ova, obrađivati ga kroz ChatgPT i pisati odgovore na nove ili postojeće PDF datoteke – idealno za sažetak dokumenata, auto-komentarizaciju ili obogaćivanje sadržaja koji se bavi AI-om.

Real-svjetski problem

Korištenje značajnih informacija, sažetaka ili odgovora iz PDF datoteka ručno potrošava vrijeme. razvijatelji trebaju ukusan način povezivanja sadržaja PDF-a s ChatGPT-om za automatiziranu obradu i povratne informacije, štednju vremena i povećanje produktivnosti.

Pregled rješenja

Aspose.PDF ChatGPT Plugin za .NET omogućuje vam da pošaljete sadržaj PDF-a na Chat GPT, dobijate komplementacije ili sažetke i sačuvate odgovore kao novi PDF - sve s minimalnim kodom.

Preduzeća

  • Visual Studio 2019 ili kasnije
  • .NET 6.0 ili noviji
  • Aspose.PDF za .NET instaliran preko NuGeta
  • OpenAI API ključ za ChatGPT
PM> Install-Package Aspose.PDF

Korak po korak provedba

Korak 1: Instaliranje i konfiguracija Aspose.PDF

Dodajte potrebne nazivne prostore:

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

Korak 2: Pripremite PDF tekst ili datoteku

Upišite PDF ulaz i željeni izlaz PDF datoteke:

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

Korak 3: Konfigurirajte ChatGPT Opcije za zahtjev

Možete izvaditi tekst iz PDF-a ručno, ili dopustiti da plugin koristi cijeli PDF datoteku kao ulaz:

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

Također možete dodati prilagođene poruke za razgovor (system/user uloge):

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

Korak 4: Pošaljite zahtjev ChatGPT i sačuvajte rezultate

Procesiranje zahtjeva asinkronno, dobivajući i novu put PDF datoteke i odgovor 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);
}

Korak 5: Rješavanje pogrešaka i korištenje Async

Uvijek uključite sinhronizacijske pozive i rješavajte API/network pogreške:

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

Potpuni primjer provedbe

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

Korištenje slučajeva i aplikacija

PDF sažetak i AI generirani komentari

Automatski sažeti ugovore, izvješća ili istraživačke dokumente pomoću ChatGPT i sačuvati odgovore u PDF-ovima.

Automatizirani Q&A ili Insights ekstrakcija

Pošaljite prilagođene prijedloge ChatGPT-u za uklanjanje odgovora, tablica ili ključnih podataka iz PDF datoteka.

Batch dokument obogaćivanje

Integrirajte se u tokove rada kako biste obrađivali mnoge PDF-ove, generirajući odgovore na temelju razgovora ili automatske prijave.

Zajednički izazovi i rješenja

Izazov: API ograničenja ili Truncation odgovora

**Rješenje: ** Prilagoditi MaxTokens i Query za optimalne rezultate; razdvajanje velikih PDF-a u komadiće ako je potrebno.

Izazov: sigurna API ključ upravljanja

Rješenje: Sačuvajte API ključeve sigurno (povijesne varijante, valovi) i izbjegavajte tvrdo kodiranje u proizvodnji.

Razmatranje učinkovitosti

  • Batch PDF ulazi i potiče kako bi se smanjili API pozivi.
  • Koristite async radne tokove kako bi vaša aplikacija bila odgovorna.
  • Tune token ograničenja za upravljanje API troškovima.

Najbolje prakse

  • Uvijek provjerite PDF izlazak i ChatGPT odgovore za točnost.
  • Prilagodite prompte i uloge poruke za ciljane rezultate.
  • Sigurno upravljanje API autentifikacijama.
  • Prijavite se i rješavajte pogreške milosrdno u operacijama async.

Napredni scenariji

  • Koristite više PDF-a ili promptne varijante u jednom krugu.
  • Kombinirajte poruke sustava/korisnika za složen kontekst ili zadatke.
  • Preuzmite izlazak PDF-a za procesiranje ili radne tokove.

zaključak

Aspose.PDF ChatGPT Plugin za .NET omogućuje razvijalcima da automatiziraju analizu dokumenata, sažetku i interaktivnu obradu PDF-a koristeći moć Chattgpta – izravno u njihovim aplikacijama.

 Hrvatski