Как да обработваме PDF текст с ChatGPT в .NET
Тази статия показва как да се интегрират ChatGPT с PDF работни потоци в .NET с помощта на Aspose.PDF Plugin. Ще се научите да извличате текст от PDF, да го обработвате чрез Chatroulette и да пишете отговори на нови или съществуващи PDF файлове – идеални за обобщение на документи, авто-коментариране или обогатяване на съдържание, ръководено от AI.
Реални световни проблеми
Извличането на смислени данни, обобщения или отговори от PDF файлове ръчно отнема време. Разработчиците се нуждаят от по-ефективен начин за свързване на PDF съдържание с ChatGPT за автоматизирано обработване и обратна връзка, спестяване на време и повишаването на производителността.
Преглед на решението
Aspose.PDF ChatGPT Plugin за .NET ви позволява да изпращате PDF съдържание на Chatroulette, да получавате допълнения или обобщения и да съхранявате отговори като нови PDF - всички с минимален код.
Предупреждения
- Visual Studio 2019 или по-късно
- .NET 6.0 или по-късно
- Aspose.PDF за .NET, инсталиран чрез NuGet
- OpenAI API ключ за ChatGPT
PM> Install-Package Aspose.PDF
Стъпка по стъпка изпълнение
Стъпка 1: Инсталиране и конфигуриране Aspose.PDF
Добавете необходимите имена:
using Aspose.Pdf.Plugins;
using System.IO;
using System.Threading.Tasks;
Стъпка 2: Подгответе PDF текст или файл
Определете вашия PDF вход и желания изход PDF файл:
string inputPdfPath = @"C:\Samples\source.pdf";
string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";
Стъпка 3: Конфигуриране на опциите за искане на ChatGPT
Можете да извлечете текст от PDF ръчно или да позволите на плагина да използва целия PDF файл като вход:
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: Изпратете заявка на ChatGPT и спестете резултата
Обработване на заявката асинхронно, получава както новия PDF файлов път, така и отговора на ChatGPT:
// 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: Управление на грешки и използване на Async
Винаги вградете асинкови обаждания и се справяте с грешки в API / мрежа:
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 съвкупност и AI генерирани коментари
Автоматично обобщавате договори, доклади или изследвания с помощта на ChatGPT и съхранявате отговори в PDF.
Автоматичен Q&A или Insights екстракция
Изпратете персонализирани предложения на ChatGPT за извличане на отговори, таблици или ключови данни от PDF файлове.
Бач за обогатяване на документи
Интегрирайте се в работни потоци, за да обработвате много PDF файлове, генерирайки отговори, базирани на чат или автонотации.
Съвместни предизвикателства и решения
Предизвикателство: Ограничения на API или Truncation от отговор
Решението: Приспособяване MaxTokens
и Query
за оптимални резултати; разделяне на големи PDF файлове в парчета, ако е необходимо.
Предизвикателство: Secure API Key Management
Решение: Съхранявайте API ключовете безопасно (променливи на околната среда, ваулти) и избягвайте кодирането в производството.
Преглед на изпълнението
- Бач PDF въвежда и насърчава да се минимизират повикванията на API.
- Използвайте асинк работни потоци, за да поддържате вашата заявка отговорен.
- Ограничения на токените за управление на разходите за API.
Най-добрите практики
- Винаги проверявайте изхода на PDF и отговорите на ChatGPT за точност.
- Настройване на промоти и роли за съобщения за целенасочени резултати.
- Безопасно управление на API акредитациите.
- Регистриране и справяне с грешките мило в операциите на асинк.
Разширени сценарии
- Използвайте няколко PDF файла или бързи вариации в един кръг.
- Комбиниране на системни / потребителски съобщения за сложен контекст или задачи.
- Предоставяне на изход PDF за обработка на надолу или работни потоци.
заключение
Aspose.PDF ChatGPT Plugin за .NET позволява на разработчиците да автоматизират анализа на документи, обобщаването и интерактивната обработка на PDF с помощта на мощността на Chat GPT – директно в рамките на техните приложения .net. Streamline вашия AI документ работни потоци, от екстракция до обогатяване, с само няколко линии на код.