Šiame straipsnyje parodyta, kaip integruoti ChatGPT su PDF darbo srautais .NET naudojant Aspose.PDF Chat GPT priedą, leidžiančią automatizuotą apdorojimą ir atsiliepimus.

Introduction

Šiame straipsnyje parodyta, kaip integruoti ChatGPT į savo .NET programas, kad būtų galima ištraukti tekstą iš PDF, apdoroti jį per Chat GPT ir grąžinti atsakymus į naujus ar esamus PDF failus naudojant Aspose.PDF.

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

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 „Insights“ 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.

More in this category