Miten käsitellä PDF-teksti ChatGPT: n kanssa .NET: ssä

Miten käsitellä PDF-teksti ChatGPT: n kanssa .NET: ssä

Tämä artikkeli osoittaa, miten integroida ChatGPT ja PDF-työkulut .NET: ssä käyttämällä Aspose.PDF Chat GPT Plugin. opit tuomaan tekstiä PDF:ltä, käsittelemään sitä ChatgPT:n kautta ja kirjoittamaan vastauksia uusiin tai olemassa oleviin PDF -tiedostoihin - ihanteellinen asiakirjojen yhteenvedon, automaattisen kommentoinnin tai AI-ohjatun sisällön rikastumisen kannalta.

Reaalimaailman ongelma

PDF-tiedostojen merkittävien käsitysten, yhteenvedojen tai vastausten poistaminen manuaalisesti vie aikaa. kehittäjät tarvitsevat sujuvan tavan yhdistää PDF: n sisältö ChatGPT: llä automaattiseen käsittelyyn ja palautteeseen, säästää aikaa ja parantaa tuottavuutta.

Ratkaisun yleiskatsaus

Aspose.PDF ChatGPT Plugin for .NET antaa sinulle mahdollisuuden lähettää PDF-sisältöä Chat GPT:lle, vastaanottaa täydentämisiä tai yhteenvetoja ja tallentaa vastauksia uusina PDF:inä – kaikki minimaalisella koodilla.

edellytykset

  • Visual Studio 2019 tai uudempi
  • .NET 6.0 tai uudempi
  • Aspose.PDF for .NET asennettuna NuGetin kautta
  • OpenAI API avain ChatGPT
PM> Install-Package Aspose.PDF

Vaiheittainen toteutus

Vaihe 1: Asenna ja asenna Aspose.PDF

Lisää vaaditut nimikkeet:

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

Vaihe 2: Valmista PDF-tiedosto tai teksti

Määritä PDF-tiedosto ja haluamasi tulos PDF:

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

Vaihe 3: Aseta ChatGPT pyyntövaihtoehdot

Voit poistaa tekstin PDF:stä manuaalisesti, tai anna plugin käyttää koko PDF-tiedostoa tuloksena:

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

Voit myös lisätä räätälöityjä keskusteluviestejä (järjestelmän/käyttäjän roolit):

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

Vaihe 4: Lähetä pyyntö ChatGPT ja tallenna tulos

Käsittele pyyntö synkronoimattomasti, saat sekä uuden PDF-tiedoston reitin että ChatGPT: n vastauksen:

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

Vaihe 5: Virheiden käsittely ja async-käyttö

Aina kytke async-puhelut ja käsitellä API/verkko virheitä:

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

Täydellinen esimerkki toteutuksesta

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

Käytä tapauksia ja sovelluksia

PDF Summarization ja AI-generoidut kommentit

Automaattisesti kerätä sopimuksia, raportteja tai tutkimuspapereita käyttämällä ChatGPT ja tallentaa vastauksia PDF-tiedostoihin.

Automaattinen Q&A tai Insights Extraction

Lähetä räätälöityjä esityksiä ChatGPT:lle saadaksesi vastauksia, taulukoita tai avaintietoja PDF-tiedostoista.

Batch-dokumentti rikastuminen

Integroida työnkulkuihin käsittelemään monia PDF-tiedostoja, tuottamalla chat-pohjaisia vastauksia tai automaattisia ilmoituksia.

Yhteiset haasteet ja ratkaisut

Haaste: API-rajat tai vastaustruncation

Ratkaisu: Sopeutuminen MaxTokens ja Query optimaalisten tulosten saavuttamiseksi; jaetaan suuret PDF-tiedostot tarvittaessa kappaleiksi.

Haaste: Turvallinen API Key Management

Ratkaisu: Tallenna API- avaimet turvallisesti (ympäristön muuttujat, vaultit) ja välttää koodausta tuotannossa.

suorituskyvyn huomioon ottaminen

  • Batch PDF-tiedostoja ja edistää API-puheluiden minimointia.
  • Käytä async-työkulmia, jotta hakemuksesi pysyy reagoivana.
  • Tune token rajat hallita API kustannuksia.

Parhaat käytännöt

  • Tarkista aina PDF-tiedosto ja ChatGPT vastaukset tarkkuuden vuoksi.
  • Käsittele esityksiä ja viestejä kohdennettuihin tuloksiin.
  • Turvallisesti hallita API-todistuksia.
  • Tallenna ja käsitellä virheitä ystävällisesti async-operaatioissa.

Edistyneet skenaariot

  • Käytä useita PDF-tiedostoja tai nopeita vaihteluja kerralla.
  • Yhdistä järjestelmä/käyttäjäviestejä monimutkaiseen kontekstiin tai tehtäviin.
  • Levitä PDF-tiedosto alasvirtaiseen käsittelyyn tai työnkulkuun.

johtopäätöksiä

Aspose.PDF ChatGPT Plugin for .NET antaa kehittäjille mahdollisuuden automatisoida asiakirjojen analyysi, yhteenveto ja vuorovaikutteinen PDF-käsittely käyttämällä ChattgPT: n voimaa – suoraan niiden .net-sovellusten sisällä.

 Suomi