Как да обработваме PDF текст с ChatGPT в .NET

Как да обработваме 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 документ работни потоци, от екстракция до обогатяване, с само няколко линии на код.

 Български