Как обрабатывать PDF-текст с ChatGPT в .NET

Как обрабатывать PDF-текст с ChatGPT в .NET

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

Реальные мировые проблемы

Экстрактирование значительных представлений, резюме или ответов из PDF-файлов вручную затрачивает время. Разработчикам нужен упрощенный способ подключения контента PDF к ChatGPT для автоматизированной обработки и обратной связи, экономия времени и повышения производительности.

Решение обзор

Aspose.PDF ChatGPT Plugin для .NET позволяет отправлять PDF-контент в Chat GPT, получать дополнения или резюме, и сохранять ответы как новые PDF — все с минимальным кодом.

Предупреждения

  • Visual Studio 2019 или позднее
  • .NET 6.0 или более поздний
  • Aspose.PDF для .NET, установленный через NuGet
  • OpenAI API Key для ChatGPT
PM> Install-Package Aspose.PDF

Step-by-Step реализация

Шаг 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 Summarization и AI-генерированные комментарии

Автоматически совокупьте контракты, отчеты или исследовательские документы с помощью ChatGPT и сохраните ответы в PDF-файлах.

Автоматический Q&A или Insights Экстракция

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

Батч Документ обогащение

Интегрируйтесь в рабочие потоки для обработки множества PDF-файлов, генерируя чат-базируемые ответы или автоматические анотации.

Общие вызовы и решения

Проблема: API Limits или Response Truncation

Решение: Приспособление MaxTokens и Query для оптимальных результатов; разделить большие PDF-файлы на фрагменты, если это необходимо.

Оригинальное название: Secure API Key Management

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

Рассмотрим производительность

  • Батч PDF вводит и стимулирует, чтобы минимизировать призывы API.
  • Используйте рабочие потоки Async, чтобы поддерживать отклик вашего приложения.
  • Ограничения токенов для управления расходами API.

Лучшие практики

  • Всегда проверяйте выход PDF и ответы ChatGPT для точности.
  • Приспособление проб и сообщений для целевых результатов.
  • Безопасно управлять API-кредитациями.
  • Зарегистрировать и грамотно справляться с ошибками в операциях ассинк.

Развитые сценарии

  • Используйте несколько PDF-файлов или мгновенные вариации в одном кругу.
  • Сочетание системных/пользовательских сообщений для сложного контекста или задач.
  • Предоставление выхода PDF для низкого потока обработки или рабочих потоков.

Заключение

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

 Русский