Како обрадити ПДФ текст са ЦхатГПТ у .НЕТ
Овај чланак показује како да интегришете ЦхатГПТ са ПДФ радним токовима у .НЕТ користећи Аппосе.ПдФД ЦатГТ Плугин. Научићете да екстрактирате текст из ПДВ-а, обрађујете га кроз ЦАТГТПТ и пишете одговоре на нове или постојеће ПДП датотеке – идеално за сумирање докумената, ауто-коментацију или обогаћивање садржаја који се бави ИИ-ом.
Реал светски проблем
Ручно извлачење значајних увид, резюме или одговора из ПДФ датотека траје време.Развојницима је потребан поједностављен начин повезивања PDF садржаја са ЦхатГПТ-ом за аутоматску обраду и повратне информације, штедњу времена и побољшању продуктивности.
Преглед решења
Плугин за .NET вам омогућава да пошаљете ПДФ садржај на ЦхатГПТ, добијете завршетке или суспензије и сачувате одговоре као нове ПДВ-а – све са минималним кодом.
Принципи
- Visual Studio 2019 или касније
- .NET 6.0 или касније
- Aspose.PDF за .NET инсталиран преко NuGet
- OpenAI API ključ za ChatGPT
PM> Install-Package Aspose.PDF
Корак по корак спровођење
Корак 1: Инсталирајте и конфигуришете Aspose.PDF
Додајте потребне имена простора:
using Aspose.Pdf.Plugins;
using System.IO;
using System.Threading.Tasks;
Корак 2: Припремите ПДФ текст или датотеку
Потврдите свој унос ПДФ и жељени излаз PDF датотеке:
string inputPdfPath = @"C:\Samples\source.pdf";
string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";
Корак 3: Конфигурисање опција за захтев ЦхатГПТ
Поставите свој АПИ кључ, брз и излазни пут. можете ручно извући текст из ПДФ-а, или пустите плугин да користи цео ПДВ датотеку као улаз:
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
Такође можете додати прилагођене поруке за разговор (систем / корисничке улоге):
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: Пошаљите захтев на ЦхатГПТ и сачувате резултат
Обрада захтева асинхронно, добија и нови ПДФ датотечки пут и ЦхатГПТ одговор:
// 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: Управљање грешкама и коришћење асинц
Увек уградите асинц позиве и управљајте грешкама АПИ / мреже:
try
{
// (Code above)
}
catch (Exception ex)
{
Console.WriteLine($"Error during ChatGPT PDF processing: {ex.Message}");
}
Потпуни пример имплементације
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}");
}
}
}
}
Коришћење случајева и апликација
PDF сакупљање и АИ генерисани коментари
Аутоматски сакупљате уговоре, извештаје или истраживачке документе користећи ЦхатГПТ и сачувате одговоре у ПДФ-у.
Аутоматски Q&А или инспирација екстракција
Пошаљите прилагођене поруке на ЦхатГПТ за извлачење одговора, табела или кључних података из ПДФ датотека.
Баццх Документ Обогаћење
Интегрирајте се у радне токове да бисте обрадили многе ПДФ-а, генеришући одговоре на основу ћаскања или ауто-нотације.
Заједнички изазови и решења
Izazov: API ograničenja ili Truncation odgovor
Решење: Прилагођавање MaxTokens
и Query
за оптималне резултате; раздвојити велике ПДФ-а у комаде ако је потребно.
Izazov: Safe API Key Management
Решење: Складиштење АПИ кључева безбедно (променљиви животне средине, ваулти) и избегава хардкодирање у производњи.
Размишљање о перформанси
- Баццх ПДФ улазе и подстичу да минимизирају АПИ позиве.
- Koristite async tokove rada da bi vaša aplikacija bila odgovorna.
- Tune token ograničenja za upravljanje API troškovima.
Најбоља пракса
- Увек проверите ПДФ излаз и ЦхатГПТ одговоре за тачност.
- Прилагодите позиције и поруке за циљне резултате.
- Bezbedno upravljanje API autentifikacijama.
- Пријављивање и управљање грешкама милосрдно у асинц операцијама.
Напредни сценарио
- Користите више ПДФ-а или брзе варијације у једном кругу.
- Комбинујте систем / корисничке поруке за сложени контекст или задатке.
- Преузмите излаз ПДФ за испод струје обраде или радног тока.
Закључак
Aspose.PDF ChatGPT Plugin za .NET omogućava developerima da automatiziraju analizu dokumenata, sažetak i interaktivnu obradu PDF-a koristeći moć Chattgpta – izravno u njihovim aplikacijama.