.NET の ChatGPT で PDF テキストを処理する方法
この記事では、Aspose.PDF ChatGPT プラグインを使用して .NET の PDF ワークフローを統合する方法を示しています. あなたは、PDF からテキストを抽出し、ChatG PT を介して処理することを学び、新しいまたは既存の pdf ファイルへの回答を書くことができます - ドキュメントの概要化、自動コメント、またはAI によるコンテンツの豊富化に最適です。
現実世界問題
PDF ファイルから意味のある情報、概要、または回答を手動で抽出することは時間がかかります. 開発者は、自動処理およびフィードバック、時間を節約し、生産性を向上させるために、PDF コンテンツを ChatGPT に接続するための簡素化された方法が必要です。
ソリューション概要
Aspose.PDF ChatGPT プラグイン for .NET では、PDF コンテンツを chatGpt に送信し、完了または概要を受け取って、新しい PDF としての回答を保存します - すべて最小コードで。
原則
- Visual Studio 2019 以降
- .NET 6.0 またはそれ以降
- NuGet を介してインストールされた .NET のための Aspose.PDF
- オープンAI API キー ChatGPT
PM> Install-Package Aspose.PDF
ステップ・ステップ・実施
ステップ1:インストールおよび設定 Aspose.PDF
必要な名称を追加する:
using Aspose.Pdf.Plugins;
using System.IO;
using System.Threading.Tasks;
ステップ2:PDFテキストまたはファイルの準備
あなたの入力PDFと望ましい出力をPDFファイルを指定します:
string inputPdfPath = @"C:\Samples\source.pdf";
string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";
ステップ3: ChatGPT リクエスト オプションの設定
あなたの API キー、スピード、および出力コースを設定します. あなたは手動で 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);
}
ステップ5:エラー処理とアシンクの使用
常にアシンク通話を入力し、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概要とAI生成コメント
ChatGPT を使用して契約、レポート、または研究論文を自動的にまとめ、PDF に回答を保存します。
自動Q&A あるいは Insights 抽出
応答、テーブル、またはPDFファイルからキーデータを抽出するためにカスタマイズされた提案を ChatGPT に送信します。
バッチドキュメントの豊かさ
多くのPDFを処理するためにワークフローに統合し、チャットベースの回答や自動ノートを生成します。
共通の課題と解決策
課題: API 制限または反応トランクション
ソリューション: 調整 MaxTokens
そして、 Query
最適な結果を得るために、必要に応じて大きなPDFをパーツに分けます。
タイトル:Secure API Key Management
ソリューション: APIキーを安全に保管(環境変数、バウル)し、生産中のハードコードを避ける。
パフォーマンス考慮
- バッチ PDF は、API 通話を最小限に抑えるために入力および促進します。
- Async のワークフローを使用して、アプリケーションを応答するようにします。
- APIコストを管理するためのトーン・トークン制限。
ベストプラクティス
- 正確さのために、常にPDFの出力とChatGPTの回答をチェックします。
- ターゲット結果のための推進とメッセージの役割をカスタマイズします。
- API認証を安全に管理します。
- Async 作業におけるエラーの記録および処理が優しく行われます。
高度なシナリオ
- 複数のPDFまたはスピードバージョンをロップで使用します。
- 複雑な文脈や課題のためのシステム/ユーザーメッセージを組み合わせる。
- ダウンストリーム処理またはワークフローのためのPDF出力をリリースします。
結論
Aspose.PDF ChatGPT プラグイン for .NET は、開発者が文書分析、概要化、およびインタラクティブな PDF プロセッサを使用して、Chit GPT のパワーを使用することを可能にします。