Як обробляти PDF-текст з ChatGPT в .NET

Як обробляти PDF-текст з ChatGPT в .NET

Ця стаття показує, як інтегрувати ChatGPT з робочими потоками PDF в .NET за допомогою асфозе.PDF чатГPT плагіна. Ви дізнаєтеся, щоб витягнути текст з PDF, обробляти його через Chat GPT, і писати відповіді на нові або існуючі PDF-файли — ідеально підходить для резюме документів, авто-коментування, або збагачення вмісту, що керується інтелектуальною інтелектом.

Реальні проблеми світу

Витягувати значущі уявлення, резюме або відповіді з PDF-файлів вручну займає багато часу. розробникам потрібен ускладнений спосіб підключення контенту PDF до ChatGPT для автоматизованої обробки та відгуків, заощадження часу та підвищення продуктивності.

Огляд рішення

Aspose.PDF ChatGPT Plugin для .NET дозволяє відправляти PDF-контент до Chatroulette, отримувати доповнення або резюме, а також зберігати відповіді як нові PDF - всі з мінімальним кодом.

Передумови

  • Visual Studio 2019 або вище
  • .NET 6.0 або пізніше
  • Aspose.PDF для .NET встановлено через NuGet
  • OpenAI API Key для 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: Управління помилками та використання асинк

Завжди вводити асинхронні дзвінки і справлятися з помилками 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 Summarization і AI-Generated Коментарі

Автоматично резюмувати контракти, звіти або дослідницькі документи за допомогою ChatGPT і зберегти відповіді в PDF-файлах.

Автоматичний Q&A або Insights Екстракція

Надіслати персоналізовані пропозиції для ChatGPT для вилучення відповідей, таблиць або ключових даних з PDF-файлів.

Батч-документ збагачення

Інтегруйтеся в робочі потоки, щоб обробляти багато PDF-файлів, генеруючи відповіді на основі чату або автоматичні анотації.

Спільні виклики та рішення

Виклик: API Limits or Response Truncation

Резолюція: Адаптація MaxTokens і Query для оптимальних результатів; розрізати великі PDF-файли на шматочки, якщо це необхідно.

Докладніше: Secure API Key Management

Рішення: Зберігайте ключі API безпечно (промінювачі навколишнього середовища, вальти) і уникайте жорсткого кодування в виробництві.

Виконання розглядів

  • Батч PDF вводить і спонукає до мінімуму API дзвінків.
  • Використовуйте асинхронні робочі потоки для того, щоб ваша заявка була реактивною.
  • Використовуйте обмеження токенів для управління витратами API.

Найкращі практики

  • Завжди перевіряйте результати PDF і відповіді ChatGPT для точності.
  • Налаштуйте пропозиції та ролі повідомлення для цільових результатів.
  • Забезпечити безпечне управління API-кредитаціями.
  • Зареєструйте і доброзичливо справляйтеся з помилками в операціях Async.

Розширені сценарії

  • Використовуйте кілька PDF-файлів або швидкі варіанти в одному крузі.
  • Комбінуйте системні/користувальні повідомлення для складного контексту або завдань.
  • Завантажити PDF-вихід для нижчого потоку обробки або робочих потоків.

Заключення

Aspose.PDF ChatGPT Plugin для .NET дозволяє розробникам автоматизувати аналіз документів, резюме та інтерактивну обробку PDF за допомогою потужності чатГПТ — безпосередньо в їхніх додатках.

 Українська