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ä.