วิธีการประมวลผลข้อความ PDF ด้วย ChatGPT ใน .NET

วิธีการประมวลผลข้อความ PDF ด้วย ChatGPT ใน .NET

บทความนี้แสดงให้เห็นถึงวิธีการรวมการทํางานของ ChatGPT กับไฟล์ PDF ใน .NET โดยใช้แอปพลิเคชัน Aspose.PDF Chat GPT คุณจะเรียนรู้ที่จะสกัดข้อความจากไฟล์ pdf, การประมวลผลผ่าน ChatgPT และเขียนคําตอบไปยังไฟล์ไฟล์ใหม่หรือที่มีอยู่ - เหมาะสําหรับการสรุปเอกสารการอธิบายอัตโนมัติหรือการสร้างเนื้อหาที่ขับเคลื่อนด้วย AI

ปัญหาโลกจริง

การดึงดูดข้อมูลการสรุปหรือคําตอบที่มีความหมายจากไฟล์ PDF มือถือใช้เวลา ผู้พัฒนาต้องการวิธีที่เรียบง่ายในการเชื่อมต่อเนื้อหา PDF กับ ChatGPT สําหรับการประมวลผลและความคิดเห็นอัตโนมัติประหยัดเวลาและเพิ่มประสิทธิภาพ

ความคิดเห็นเกี่ยวกับโซลูชัน

Aspose.PDF ChatGPT Plugin for .NET ช่วยให้คุณสามารถส่งเนื้อหา PDF ไปยัง Chatroulette, ได้รับการเสร็จสิ้นหรือสรุปและบันทึกคําตอบเป็นไฟล์ PDF ใหม่ - ทั้งหมดที่มีรหัสขั้นต่ํา ปลั๊กอินให้การทํางานของ async ตัวเลือกการร้องขอที่ยืดหยุ่นและการจัดการ input / output 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 input และ PDF output ที่ต้องการ:

string inputPdfPath = @"C:\Samples\source.pdf";
string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";

ขั้นตอนที่ 3: การตั้งค่าตัวเลือกการร้องขอ ChatGPT

ติดตั้งคีย์ API ของคุณ, prompt, และเส้นทางออก คุณสามารถสกัดข้อความจาก PDF มือถือหรือปล่อยให้ปลั๊กอินใช้ไฟล์ PDF ทั้งหมดเป็น input:

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

บันทึกการโทร 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 Comments

โดยอัตโนมัติสรุปสัญญารายงานหรือเอกสารวิจัยโดยใช้ ChatGPT และบันทึกคําตอบในไฟล์ PDF

อัตโนมัติ Q&A หรือ Insights Extraction

ส่งคําแนะนําที่กําหนดเองไปยัง ChatGPT เพื่อสกัดคําตอบตารางหรือข้อมูลหลักจากไฟล์ PDF

บัตรเอกสารที่อุดมสมบูรณ์

integer into workflows to process many PDFs, สร้างคําตอบตามแชท หรือบันทึกอัตโนมัติ

ความท้าทายและโซลูชั่นทั่วไป

ความท้าทาย: API Limits หรือ Response Truncation

โซลูชัน: การปรับแต่ง MaxTokens และ Query เพื่อให้ได้ผลลัพธ์ที่เหมาะสม การแบ่งไฟล์ PDF ขนาดใหญ่เป็นชิ้นส่วนหากจําเป็น

ความท้าทาย: การจัดการหลัก API ที่ปลอดภัย

โซลูชัน: จัดเก็บคีย์ API อย่างปลอดภัย (ตัวเปลี่ยนแปลงสภาพแวดล้อม) และหลีกเลี่ยงการเข้ารหัสหนักในการผลิต

การพิจารณาประสิทธิภาพ

  • บัตร PDF entries และ prompts เพื่อลดการโทร API
  • ใช้การทํางานของ Async เพื่อให้แอพพลิเคชันของคุณตอบสนอง
  • Tune token limit สําหรับการจัดการค่าใช้จ่าย API

แนวทางที่ดีที่สุด

  • ตรวจสอบการส่งออก PDF และตอบสนอง ChatGPT สําหรับความแม่นยํา
  • ปรับแต่งบทบาทและบทความข้อความเพื่อผลลัพธ์ที่เป้าหมาย
  • การจัดการการรับรอง API อย่างปลอดภัย
  • การบันทึกและจัดการข้อผิดพลาดอย่างดีในกิจกรรม async

การ์ตูนขั้นสูง

  • ใช้ไฟล์ PDF หลายรูปแบบหรือการเปลี่ยนแปลงอย่างรวดเร็วในวงกลม
  • การรวมข้อความระบบ / ผู้ใช้สําหรับรูปแบบที่ซับซ้อนหรืองาน
  • การส่งออก PDF สําหรับการประมวลผล downstream หรือกระแสทํางาน

ข้อสรุป

Aspose.PDF ChatGPT Plugin for .NET ช่วยให้ผู้พัฒนาสามารถอัตโนมัติการวิเคราะห์เอกสารการสรุปและการประมวลผล PDF แบบโต้ตอบโดยใช้พลังของ Chat GPT - โดยตรงภายในแอพพลิเคชันของพวกเขา. Streamline อัตราการทํางานของไฟล์ AI ของคุณ, จากการสกัดไปจนถึงการอุดมสมบูรณ์, ด้วยเส้นโค้ดเพียงไม่กี่.

 แบบไทย