چگونگی پردازش متن PDF با ChatGPT در .NET

چگونگی پردازش متن PDF با ChatGPT در .NET

این مقاله نشان می دهد که چگونه به ادغام ChatGPT با جریان های کار PDF در .NET با استفاده از پلاگین Aspose.PDF چت GPT. شما یاد خواهید گرفت که متن را از PDF ها استخراج کنید، از طریق چیت گPT پردازش کنید و پاسخ به فایل های 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;

مرحله دوم: آماده سازی فایل یا متن 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);
}

مرحله پنجم: مدیریت خطا و استفاده از Async

همیشه تماس های 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-Generated نظرات

به طور خودکار قراردادهای، گزارش ها یا اسناد تحقیقاتی را با استفاده از ChatGPT خلاصه کنید و پاسخ ها را در فایل های PDF ذخیره کنید.

اتوماتیک Q&A یا Insights استخراج

ارسال پیشنهادات سفارشی به ChatGPT برای استخراج پاسخ ها، جدول ها یا داده های کلیدی از فایل های PDF.

بوتاکس Document Enrichment

یکپارچه سازی در جریان های کاری برای پردازش بسیاری از فایل های PDF، تولید پاسخ های مبتنی بر چت و یا یادداشت های خودکار.

چالش ها و راه حل های مشترک

چالش: API Limits یا Truncation پاسخ

**راه حل: ** تنظیمات MaxTokens و Query برای نتایج مطلوب، PDF های بزرگ را در صورت لزوم به تکه ها تقسیم کنید.

چالش: مدیریت کلید API امن

راه حل: کلیدهای API را به طور ایمن ذخیره کنید (تغییر محیط زیست، چرخش) و از کدگذاری سخت در تولید اجتناب کنید.

بررسی عملکرد

  • بسته بندی PDF ورودی ها و انگیزه ها برای به حداقل رساندن تماس های API.
  • از جریان های کاری async برای پاسخگویی به برنامه خود استفاده کنید.
  • محدودیت های توکن را برای مدیریت هزینه های API تنظیم کنید.

بهترین شیوه‌ها

  • همیشه نتایج PDF و پاسخ های ChatGPT را برای دقت بررسی کنید.
  • سفارشی کردن شتاب ها و نقش های پیام برای نتایج هدفمند.
  • مدیریت ایمن اعتباربخشی API
  • ثبت نام و مدیریت اشتباهات با مهربانی در عملیات async.

سناریوهای پیشرفته

  • از PDF های چندگانه یا تغییرات فوری در یک حلقه استفاده کنید.
  • ترکیب سیستم / پیام های کاربر برای زمینه های پیچیده یا وظایف.
  • فرستادن خروجی PDF برای پردازش پایین یا جریان های کاری.

نتیجه گیری

Aspose.PDF ChatGPT Plugin برای .NET توسعه دهندگان را قادر می سازد تا تجزیه و تحلیل اسناد، خلاصه سازی و پردازش PDF های تعاملی را با استفاده از قدرت چتگپت – به طور مستقیم در برنامه های کاربردی آن ها.

 فارسی