IronPDFでC#のPDF処理にOpenAI(AI要約・クエリ)を使う方法
IronPDFのAIエクステンションはC#アプリケーションでOpenAIによるPDFの拡張を可能にします。 最小限のコードでMicrosoft Semantic Kernelを使って要約、クエリ、記憶機能を追加する。
OpenAIは、高度な人工知能技術を開発するAI研究所です。 APIを通じてアクセス可能な強力な言語モデルを提供し、開発者がアプリケーションにAI機能を統合できるようにします。
IronPdf.Extensions.AI NuGetパッケージは、OpenAI を PDF 処理 (要約、クエリ、および記憶) に導入します。 Microsoft Semantic Kernel 上に構築されたこのSDKは、.NETアプリケーションにおけるAIサービスの統合を簡素化します。 PDF文書から洞察を抽出し、質問に答え、要約を自動的に生成します。
主な使用例としては、大量の文書の処理、レポートからの情報の抽出、クイックレビューのサマリーの作成、インテリジェントな文書管理システムの構築などがあります。 統合は、1回限りの要約と、さまざまなアプリケーションの継続的なクエリの両方をサポートします。 その他のPDF機能については、IronPDFの包括的なドキュメントをご覧になるか、HTMLからPDFを作成するについて学んでください。
クイックスタート: IronPDFと OpenAI を使用して PDF を要約する
IronPDF in C#でOpenAIのPDF処理ワークフローへの統合を始めましょう。 この例では、わずか数行のコードでPDFをすばやく要約しています。
最小限のワークフロー(5ステップ)
- PDF用OpenAIを利用するためのC#ライブラリをダウンロードする。
- OpenAI 用の Azure エンドポイントと API キーを準備
- 対象の PDF ドキュメントをインポート
- PDFの要約を生成するには、`Summarize`メソッドを使用してください。
- 継続的なクエリには`Query`メソッドを使用してください。
必要なパッケージ
AI機能を実装する前に、Azure OpenAIをセットアップしてください。 Azure OpenAI ServiceにアクセスできるAzureサブスクリプションが必要です。 このサービスは、本番アプリケーションにエンタープライズグレードのセキュリティとコンプライアンスを提供します。 詳しい説明はIronPDFインストールの概要をご覧ください。
OpenAIでPDFを要約するには?
OpenAIの機能を使用するには、AzureエンドポイントとAPIキーでセマンティックカーネルを設定します。 PDF ドキュメントをインポートし、Summarize メソッドを使用して要約を生成します。
要約機能は、さまざまなPDFタイプに対応しています:
- スキャン文書(OCRと組み合わせた場合)
- 複数の列を持つ複雑なレイアウト
- 画像や表を含む文書
IronPdfはテキストコンテンツを抽出し、AIモデルを通して処理します。 異なるフォーマットについては、DOCXをPDFに変換するまたはMarkdownをPDFに変換するをご覧ください。
注意: セマンティック カーネル メソッドは実験段階であるため、
SKEXP0010、および SKEXP0050 エラーが発生する可能性があります。 これらを抑制するには、.csproj ファイルに以下を追加します。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<NoWarn>$(NoWarn);SKEXP0001,SKEXP0010,SKEXP0050</NoWarn>
</PropertyGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<NoWarn>$(NoWarn);SKEXP0001,SKEXP0010,SKEXP0050</NoWarn>
</PropertyGroup>
</Project>
ここでは、C#でSemantic Kernelを使ってPDFを要約する方法を紹介します:
:path=/static-assets/pdf/content-code-examples/how-to/openai-summarize.cs
using IronPdf;
using IronPdf.AI;
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
using Microsoft.SemanticKernel.Memory;
using System;
using System.Threading.Tasks;
// Setup OpenAI
var azureEndpoint = "<<enter your azure endpoint here>>";
var apiKey = "<<enter your azure API key here>>";
var builder = Kernel.CreateBuilder()
.AddAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey)
.AddAzureOpenAIChatCompletion("oaichat", azureEndpoint, apiKey);
var kernel = builder.Build();
// Setup Memory
var memory_builder = new MemoryBuilder()
// optionally use new ChromaMemoryStore("http://127.0.0.1:8000") (see https://github.com/microsoft/semantic-kernel/blob/main/dotnet/notebooks/09-memory-with-chroma.ipynb)
.WithMemoryStore(new VolatileMemoryStore())
.WithAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey);
var memory = memory_builder.Build();
// Initialize IronAI
IronDocumentAI.Initialize(kernel, memory);
License.LicenseKey = "<<enter your IronPdf license key here";
// Import PDF document
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");
// Summarize the document
Console.WriteLine("Please wait while I summarize the document...");
string summary = await pdf.Summarize(); // optionally pass AI instance or use AI instance directly
Console.WriteLine($"Document summary: {summary}\n\n");
Imports Microsoft.VisualBasic
Imports IronPdf
Imports IronPdf.AI
Imports Microsoft.SemanticKernel
Imports Microsoft.SemanticKernel.Connectors.OpenAI
Imports Microsoft.SemanticKernel.Memory
Imports System
Imports System.Threading.Tasks
' Setup OpenAI
Private azureEndpoint = "<<enter your azure endpoint here>>"
Private apiKey = "<<enter your azure API key here>>"
Private builder = Kernel.CreateBuilder().AddAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey).AddAzureOpenAIChatCompletion("oaichat", azureEndpoint, apiKey)
Private kernel = builder.Build()
' Setup Memory
Private memory_builder = (New MemoryBuilder()).WithMemoryStore(New VolatileMemoryStore()).WithAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey)
Private memory = memory_builder.Build()
' Initialize IronAI
IronDocumentAI.Initialize(kernel, memory)
License.LicenseKey = "<<enter your IronPdf license key here"
' Import PDF document
Dim pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")
' Summarize the document
Console.WriteLine("Please wait while I summarize the document...")
Dim summary As String = Await pdf.Summarize() ' optionally pass AI instance or use AI instance directly
Console.WriteLine($"Document summary: {summary}" & vbLf & vbLf)
コードはセマンティックカーネルとメモリーストアの両方を初期化します。 メモリストアは、継続的なクエリ中にコンテキストを維持します。 以下の中からお選びください:
- VolatileMemoryStore:開発とテストのためのインメモリストレージ
- ChromaMemoryStore:プロダクション用の永続的なベクターデータベース
- その他のストア:Azure Cognitive Search、Qdrantなど。
本番では、エラー処理とカスタム・ロギングを実装して、AI操作を追跡してください。 複数のドキュメントを同時に処理するための async とマルチスレッドについて説明してください。
要約出力はどのように見えますか?
要約は、主要なトピック、重要な事実、関連する詳細を抽出し、簡潔な文書の概要を提供します。 AIモデルは、重要なコンテンツを識別して優先順位を付け、長い文書をすばやく理解できるようにします。
PDFを継続的にクエリするにはどうすればよいですか?
単一のクエリは、すべてのシナリオに適合するわけではありません。 IronPdf.Extensions.AIパッケージは、継続的なクエリのための Query メソッドを提供します。 会話型インターフェース、調査ツール、またはユーザーが同じ文書について複数の質問をする文書分析アプリケーションを構築する。
継続的なクエリにより、会話の文脈を維持し、フォローアップの質問や説明を可能にします。 最適な用途:
- ドキュメントを参照するカスタマーサポートシステム
- 条文解釈が必要な法律文書の分析
- 複雑な教材を学習するための教育用アプリケーション
- 特定の情報を抽出する調査ツール
処理を強化するために、テキストと画像を別々に抽出するか、PDF圧縮を実装して、AI処理の前に大きなドキュメントを最適化することを検討してください。
:path=/static-assets/pdf/content-code-examples/how-to/openai-summarize.cs
using IronPdf;
using IronPdf.AI;
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
using Microsoft.SemanticKernel.Memory;
using System;
using System.Threading.Tasks;
// Setup OpenAI
var azureEndpoint = "<<enter your azure endpoint here>>";
var apiKey = "<<enter your azure API key here>>";
var builder = Kernel.CreateBuilder()
.AddAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey)
.AddAzureOpenAIChatCompletion("oaichat", azureEndpoint, apiKey);
var kernel = builder.Build();
// Setup Memory
var memory_builder = new MemoryBuilder()
// optionally use new ChromaMemoryStore("http://127.0.0.1:8000") (see https://github.com/microsoft/semantic-kernel/blob/main/dotnet/notebooks/09-memory-with-chroma.ipynb)
.WithMemoryStore(new VolatileMemoryStore())
.WithAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey);
var memory = memory_builder.Build();
// Initialize IronAI
IronDocumentAI.Initialize(kernel, memory);
License.LicenseKey = "<<enter your IronPdf license key here";
// Import PDF document
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");
// Summarize the document
Console.WriteLine("Please wait while I summarize the document...");
string summary = await pdf.Summarize(); // optionally pass AI instance or use AI instance directly
Console.WriteLine($"Document summary: {summary}\n\n");
Imports Microsoft.VisualBasic
Imports IronPdf
Imports IronPdf.AI
Imports Microsoft.SemanticKernel
Imports Microsoft.SemanticKernel.Connectors.OpenAI
Imports Microsoft.SemanticKernel.Memory
Imports System
Imports System.Threading.Tasks
' Setup OpenAI
Private azureEndpoint = "<<enter your azure endpoint here>>"
Private apiKey = "<<enter your azure API key here>>"
Private builder = Kernel.CreateBuilder().AddAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey).AddAzureOpenAIChatCompletion("oaichat", azureEndpoint, apiKey)
Private kernel = builder.Build()
' Setup Memory
Private memory_builder = (New MemoryBuilder()).WithMemoryStore(New VolatileMemoryStore()).WithAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey)
Private memory = memory_builder.Build()
' Initialize IronAI
IronDocumentAI.Initialize(kernel, memory)
License.LicenseKey = "<<enter your IronPdf license key here"
' Import PDF document
Dim pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")
' Summarize the document
Console.WriteLine("Please wait while I summarize the document...")
Dim summary As String = Await pdf.Summarize() ' optionally pass AI instance or use AI instance directly
Console.WriteLine($"Document summary: {summary}" & vbLf & vbLf)
連続クエリシステムは、質問のセマンティクスを理解するためにエンベッディングを使用し、正確で文脈に沿った応答を提供します。 各クエリは、ドキュメントのコンテンツに対して処理され、AIが会話の履歴を保持することで、より関連性の高い回答が得られます。
大規模なドキュメントや同時ユーザーに対して最適なパフォーマンスを得るためには、キャッシュ戦略を実装し、IronPDFのパフォーマンス最適化テクニックを探求してください。 本番環境では、レート制限と適切なライセンス キー管理を考慮してください。
機密文書を扱う場合は、適切なセキュリティ対策を実施してください。 IronPDFはAI処理の前後にPDFを保護するための様々なセキュリティと暗号化オプションを提供します。
よくある質問
PDF処理のためのAI拡張機能の目的は何ですか?
IronPDF.Extensions.AIのNuGetパッケージは、C#アプリケーションでOpenAIを利用したPDF拡張を可能にします。最小限のコードでMicrosoft Semantic Kernelを使用してPDFに要約、クエリ、記憶機能を追加することができ、ドキュメントから自動的に洞察を抽出し、質問に答えることができます。
AIを活用したPDF処理の主なユースケースは?
IronPDFのAIエクステンションは、大量のドキュメントの処理、レポートからの情報抽出、クイックレビュー要約の作成、インテリジェントなドキュメント管理システムの構築に最適です。この統合は、様々なアプリケーションのための1回限りの要約と継続的なクエリの両方をサポートします。
OpenAIを使ってPDFを素早く要約するには?
IronPDFのAI拡張機能を使えば、たった一行のコードでどんなPDFでも要約することができます: await IronPdf.AI.PdfAIEngine.Summarize("input.pdf", "summary.txt", azureEndpoint, azureApiKey)。このシンプルな実装により、PDF文書から要約を簡単に生成できます。
AI PDF処理にはどのようなパッケージをインストールする必要がありますか?
IronPDFでAI機能を実装するには、3つのパッケージが必要です:IronPDF(メインPDFライブラリ)、IronPDF.Extensions.AI(AIエクステンション)、Microsoft.SemanticKernel.Plugins.Memory(セマンティックカーネル機能用)です。
PDFでOpenAIを使うための前提条件は何ですか?
IronPDFでAI機能を実装する前に、Azure OpenAI ServiceにアクセスできるAzureサブスクリプションでAzure OpenAIをセットアップする必要があります。このサービスは、エンタープライズグレードのセキュリティとコンプライアンスを本番アプリケーションに提供し、AzureエンドポイントとAPIキーが必要です。
AI PDF処理の最小限のワークフローとは?
IronPDFの最小ワークフローは5つのステップで構成されています:1) C#ライブラリのダウンロード、2) AzureエンドポイントとAPIキーの準備、3) ターゲットPDFドキュメントのインポート、4) Summarizeメソッドによるサマリーの生成、5) Queryメソッドによる継続的なクエリー。
AIエクステンションはどのようにMicrosoft Semantic Kernelと統合しますか?
IronPDFのAIエクステンションはMicrosoft Semantic Kernel上に構築されており、.NETアプリケーションのAIサービス統合を簡素化します。このSDKはOpenAIサービスに接続する複雑さを処理し、PDF固有のAI操作のためのわかりやすいAPIを提供します。

