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

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

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

 แบบไทย