.NET の ChatGPT で PDF テキストを処理する方法

.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 のパワーを使用することを可能にします。

 日本語