Bagaimana untuk memproses teks PDF dengan ChatGPT dalam .NET

Bagaimana untuk memproses teks PDF dengan ChatGPT dalam .NET

Artikel ini menunjukkan bagaimana untuk mengintegrasikan ChatGPT dengan aliran kerja PDF di .NET menggunakan Aspose.PDF Chat GPT Plugin. Anda akan mempelajari cara mengekstrak teks dari PDF, memprosesnya melalui Chatroulette, dan menulis respons ke file PDF baru atau sedia ada – ideal untuk pengumpulan dokumen, komentar otomatis, atau memperkaya konten yang didorong oleh AI.

Masalah dunia nyata

Mengekstrak wawasan yang bermakna, ringkasan, atau jawaban dari file PDF secara manual memakan waktu. pengembang membutuhkan cara yang lancar untuk menghubungkan konten PDF dengan ChatGPT untuk pemrosesan dan feedback otomatis, menghemat waktu dan meningkatkan produktivitas.

Penyelesaian Overview

Aspose.PDF ChatGPT Plugin untuk .NET memungkinkan Anda untuk mengirimkan konten PDF ke Chatroulette, menerima penyempurnaan atau ringkasan, dan menyimpan respons sebagai PDF baru – semua dengan kode minimum. plugin menyediakan operasi async, pilihan permintaan yang fleksibel dan pengelolaan input/output PDF yang mudah.

Persyaratan

  • Visual Studio 2019 atau lebih baru
  • .NET 6.0 atau lebih baru
  • Aspose.PDF untuk .NET yang diinstal melalui NuGet
  • OpenAI API Key untuk ChatGPT
PM> Install-Package Aspose.PDF

Implementasi langkah demi langkah

Langkah 1: Menginstal dan mengkonfigurasi Aspose.PDF

Tambahkan ruang nama yang diperlukan:

using Aspose.Pdf.Plugins;
using System.IO;
using System.Threading.Tasks;

Langkah 2: Siapkan PDF teks atau file

Tentukan input PDF dan file output PDF yang diinginkan:

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

Langkah 3: Mengkonfigurasi Opsi Permintaan ChatGPT

Anda dapat mengekstrak teks dari PDF secara manual, atau biarkan plugin menggunakan seluruh file PDF sebagai 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

Anda juga dapat menambahkan pesan percakapan tersuai (peranan sistem/pengguna):

    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
    });

Langkah 4: Hantar Permintaan ke ChatGPT dan Simpan Hasil

Memproses permintaan secara asinkron, menerima kedua jalur file PDF baru dan jawaban 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);
}

Langkah 5: Mengendalikan kesalahan dan penggunaan async

Selalu menyimpan panggilan async dan menangani kesalahan API/network:

try
{
    // (Code above)
}
catch (Exception ex)
{
    Console.WriteLine($"Error during ChatGPT PDF processing: {ex.Message}");
}

Contoh implementasi lengkap

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}");
            }
        }
    }
}

Menggunakan kasus dan aplikasi

PDF Summarization dan AI-Generated Comments

Secara otomatis mengumpulkan kontrak, laporan, atau dokumen penelitian menggunakan ChatGPT dan menyimpan jawaban dalam PDF.

Automatisasi Q&A atau Insights Ekstraksi

Kirim prompt tersuai ke ChatGPT untuk mengekstrak jawaban, tabel, atau data kunci dari file PDF.

Batch Document yang diperkaya

Mengintegrasikan ke dalam aliran kerja untuk memproses banyak PDF, menghasilkan respons berbasis chat atau anotasi otomatis.

Tantangan dan Solusi Umum

Tantangan: API Limits atau Response Truncation

Penyelesaian : Sesuai MaxTokens dan Query Untuk hasil yang optimal; membagi PDF besar ke dalam kepingan jika perlu.

Tantangan: Safe API Key Management

Solusi: Simpan kunci API dengan aman (variabel lingkungan, gelombang) dan menghindari hardcoding dalam produksi.

Pertimbangan kinerja

  • Batch PDF input dan prompt untuk meminimalisir panggilan API.
  • Gunakan aliran kerja async untuk menjaga aplikasi Anda responsif.
  • Tune token batas untuk mengelola biaya API.

Praktik Terbaik

  • Selalu periksa output PDF dan respons ChatGPT untuk ketepatan.
  • Menyesuaikan prompt dan pesan peran untuk hasil yang ditargetkan.
  • Mengendalikan API dengan aman.
  • Mencatat dan menangani kesalahan dengan baik dalam operasi async.

Skenario Lanjutan

  • Gunakan beberapa PDF atau variasi cepat dalam satu loop.
  • menggabungkan pesan sistem / pengguna untuk konteks atau tugas yang kompleks.
  • Leverage output PDF untuk proses downstream atau aliran kerja.

Kesimpulan

Aspose.PDF ChatGPT Plugin untuk .NET memungkinkan pengembang untuk mengautomatikkan analisis dokumen, penyimpangan, dan pemprosesan PDF interaktif menggunakan daya ChattgPT – langsung dalam aplikasi .net mereka. Streamline aliran kerja dokumen AI Anda, dari ekstraksi hingga memperkaya, dengan hanya beberapa baris kode.

 Indonesia