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.