Kaip tvarkyti PDF tekstą su ChatGPT .NET

Kaip tvarkyti PDF tekstą su ChatGPT .NET

Šiame straipsnyje parodyta, kaip integruoti ChatGPT su PDF darbo srautais .NET naudojant „Aspose.PDF“ programėlę. sužinosite kaip ištraukti tekstą iš PDF, apdoroti jį per „ChatG PT“ ir rašyti atsakymus į naujus ar esamus PDF failus – idealiai tinka dokumentų santrauka, savarankiškai komentuojant arba AI sukurtos turinio praturtėjimui.

Realaus pasaulio problemos

Remiamų įžvalgų, santraukų ar atsakymų iš PDF failų paimimas rankiniu būdu užima daug laiko. kūrėjams reikia sklandžiai susieti PDF turinį su ChatGPT automatizuotam apdorojimui ir atsiliepimams, taupyti laiko ir didinti našumą.

Sprendimo apžvalga

Aspose.PDF ChatGPT Plugin for .NET leidžia siųsti PDF turinį į ChattgPT, gauti užbaigimus ar santraukas, ir išsaugoti atsakymus kaip naujus PDF - visi su minimaliu kodu.

Prerequisites

  • „Visual Studio 2019“ arba vėliau
  • .NET 6.0 arba naujesnė
  • Aspose.PDF už .NET įdiegtas per NuGet
  • OpenAI API raktas ChatGPT
PM> Install-Package Aspose.PDF

Žingsnis po žingsnio įgyvendinimas

1 žingsnis: Įdiegti ir konfigūruoti Aspose.PDF

Įveskite reikalingą pavadinimo erdvę:

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

2 žingsnis: paruošti PDF tekstą ar failą

Pateikite įvesties PDF ir pageidaujamą PDF failą:

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

3 žingsnis: nustatyti ChatGPT prašymo parinktis

Įveskite savo API raktą, greitį ir išėjimo kelią. galite rankiniu būdu ištraukti tekstą iš PDF arba leisti įskiepį naudoti visą PDF failą kaip įvedimą:

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

Taip pat galite pridėti pritaikytus pokalbių pranešimus (sistemos / vartotojo vaidmenis):

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

4 žingsnis: siųsti prašymą ChatGPT ir išsaugoti rezultatą

Prašymą apdoroti asynchronoje, gaunant tiek naują PDF failų maršrutą, tiek ChatGPT atsakymą:

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

5 žingsnis: klaidų tvarkymas ir Async naudojimas

Visada įdėti asinkc skambučius ir spręsti API / tinklo klaidas:

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

Išsamus įgyvendinimo pavyzdys

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

Naudokite atvejus ir paraiškas

PDF apibendrinimas ir AI generuojami komentarai

Automatiškai apibendrinkite sutartis, ataskaitas ar tyrimų dokumentus naudojant ChatGPT ir išsaugokite atsakymus PDF failuose.

Automatinis Q&A arba įžvalgų ekstrakcija

Siųskite pritaikytus pranešimus ChatGPT, kad galėtumėte ištraukti atsakymus, lenteles ar pagrindinius duomenis iš PDF failų.

Batch dokumentų praturtėjimas

Integruokite į darbo srautus, kad galėtumėte apdoroti daug PDF, generuojant pokalbių atsakymus ar automatinius pranešimus.

Bendrieji iššūkiai ir sprendimai

Iššūkis: API ribos arba atsakymo truncation

Išsprendimas: Pritaikymas MaxTokens ir Query optimalių rezultatų; jei reikia, padalinti didelius PDF failus į gabalus.

Iššūkis: Saugus API raktų valdymas

Išsprendimas: Saugiai saugokite API raktus (atviros kintamųjų, vaultų) ir išvengkite kieto kodavimo gamyboje.

Veiksmingumo apžvalgos

  • “Batch PDF” įvedimai ir skatinimai, kad būtų sumažintas API skambučių kiekis.
  • Naudokite async darbo srautus, kad jūsų paraiška būtų atsakinga.
  • Tune token apribojimai valdyti API sąnaudas.

Geriausios praktikos

  • Visada patikrinkite PDF ištrauką ir ChatGPT atsakymus tikslumui.
  • Pritaikykite žingsnius ir pranešimų vaidmenis tiksliniams rezultatams.
  • Saugiai valdyti API įrodymus.
  • Įrašyti ir tvarkyti klaidas maloniai async operacijose.

Išplėstiniai scenarijai

  • Naudokite kelis PDF failus arba greitą svyravimą vienoje eilutėje.
  • Sujungti sistemos / vartotojo pranešimus sudėtingam kontekstui ar užduotims.
  • Atsisiųskite PDF išleidimą nuotoliniam apdorojimui ar darbo srautams.

Conclusion

Aspose.PDF ChatGPT Plugin .NET leidžia kūrėjams automatizuoti dokumentų analizę, apibendrinimą ir interaktyvią PDF apdorojimą naudodamasis „ChactgPT“ jėga – tiesiogiai jų programų viduje.

 Lietuvių