Jak używać OpenAI do przetwarzania PDF w C# z IronPDF
Rozszerzenie AI IronPDF umożliwia ulepszenie PDF z wykorzystaniem OpenAI w aplikacjach C#. Dodaj funkcje podsumowania, zapytań i zapamiętywania używając Microsoft Semantic Kernel z minimalną ilością kodu.
OpenAI to laboratorium badawcze rozwijające zaawansowane technologie sztucznej inteligencji. Dostarcza potężne modele językowe dostępne przez API, umożliwiając deweloperom integrację możliwości AI w swoich aplikacjach.
IronPdf.Extensions.AI Pakiet NuGet wprowadza OpenAI do przetwarzania PDF: podsumowanie, zapytania i zapamiętywanie. Oparte na Microsoft Semantic Kernel, ten SDK upraszcza integrację usług AI w aplikacjach .NET. Automatyczne wyciąganie wniosków, odpowiadanie na pytania i generowanie podsumowań z dokumentów PDF.
Kluczowe zastosowania obejmują przetwarzanie dużych ilości dokumentów, wyciąganie informacji z raportów, tworzenie podsumowań do szybkiego przeglądu i budowanie inteligentnych systemów zarządzania dokumentami. Integracja wspiera zarówno jednorazowe podsumowanie, jak i ciągłe zapytania dla różnych aplikacji. Więcej funkcji PDF można znaleźć w kompleksowej dokumentacji IronPDF lub nauczyć się tworzenia PDF z HTML.
Szybki start: Podsumowanie PDF z IronPDF i OpenAI
Rozpocznij integrację OpenAI w swoim przepływie pracy przetwarzania PDF z IronPDF w C#. Ten przykład pokazuje szybkie podsumowanie PDF zaledwie w kilku liniach kodu.
-
Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf -
Skopiuj i uruchom ten fragment kodu.
// Install-Package IronPdf.Extensions.AI await IronPdf.AI.PdfAIEngine.Summarize("input.pdf", "summary.txt", azureEndpoint, azureApiKey); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Pobierz bibliotekę C# aby używać OpenAI do PDF
- Przygotuj punkt końcowy Azure i klucz API dla OpenAI
- Zaimportuj docelowy dokument PDF
- Użyj metody
Summarize,aby wygenerować streszczenie pliku PDF - Użyj metody
Querydo ciągłego wysyłania zapytań
Wymagane pakiety:
Przed wdrożeniem funkcji AI skonfiguruj usługę Azure OpenAI. Potrzebna jest subskrypcja platformy Azure z dostępem do usługi Azure OpenAI Service. Usługa zapewnia bezpieczeństwo i zgodność z przepisami na poziomie Enterprise dla aplikacji produkcyjnych. Szczegółowe instrukcje można znaleźć w przeglądzie instalacji IronPDF.
Jak podsumować pliki PDF za pomocą OpenAI?
Aby korzystać z funkcji OpenAI, skonfiguruj Semantic Kernel, podając swój punkt końcowy Azure i klucz API. Zaimportuj dokument PDF i użyj metody Summarize do generowania podsumowań.
Funkcja tworzenia streszczeń działa z różnymi typami plików PDF:
- Zeskanowane dokumenty (w połączeniu z OCR)
- Złożone układy z wieloma kolumnami
- Dokumenty zawierające obrazy i tabele
IronPDF wyodrębnia treść tekstową i przetwarza ją za pomocą modelu AI. W przypadku innych formatów zobacz konwersję DOCX na PDF lub konwersję Markdown na PDF.
Uwaga: Możesz napotkać błędy
SKEXP0001, SKEXP0010 i SKEXP0050, ponieważ metody Semantic Kernel są eksperymentalne. Dodaj to do pliku .csproj, aby je zignorować:
<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>
Oto jak podsumować plik PDF za pomocą Semantic Kernel w języku C#:
: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)
Kod inicjuje zarówno Semantic Kernel, jak i magazyn pamięci. Pamięci buforujące zachowują kontekst podczas ciągłych zapytań. Wybierz spośród:
- VolatileMemoryStore: Pamięć w pamięci operacyjnej przeznaczona do programowania i testowania
- ChromaMemoryStore: Trwała wektorowa baza danych do zastosowań produkcyjnych
- Inne sklepy: Azure Cognitive Search, Qdrant i inne
W środowisku produkcyjnym należy wdrożyć obsługę błędów i niestandardowe logowanie w celu śledzenia operacji AI. Zapoznaj się z technologią asynchroniczną i wielowątkowością, aby przetwarzać wiele dokumentów jednocześnie.
Jak wygląda podsumowanie?
Podsumowanie zawiera zwięzły przegląd dokumentu, wyodrębniając główne tematy, ważne fakty i istotne szczegóły. Model AI identyfikuje i nadaje priorytet istotnym treściom, umożliwiając szybkie zrozumienie długich dokumentów.
Jak na bieżąco przeszukiwać pliki PDF?
Pojedyncze zapytania nie pasują do wszystkich scenariuszy. IronPdf.Extensions.AI pakiet oferuje metodę Query dla ciągłych zapytań. Twórz interfejsy konwersacyjne, narzędzia badawcze lub aplikacje do analizy dokumentów, w których użytkownicy zadają wiele pytań dotyczących tego samego dokumentu.
Ciągłe zadawanie pytań pozwala zachować kontekst rozmowy, umożliwiając zadawanie pytań uzupełniających i uzyskiwanie wyjaśnień. Idealny dla:
- Systemy obsługi klienta odwołujące się do dokumentacji
- Analiza dokumentów prawnych wymagająca interpretacji klauzul
- Aplikacje edukacyjne do nauki złożonych materiałów
- Narzędzia badawcze służące do pozyskiwania konkretnych informacji
Aby usprawnić przetwarzanie, warto rozważyć oddzielne wyodrębnianie tekstu i obrazów lub zastosowanie kompresji plików PDF w celu optymalizacji dużych dokumentów przed przetworzeniem przez sztuczną inteligencję.
: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)
System ciągłych zapytań wykorzystuje osadzenia do zrozumienia semantyki pytań, zapewniając dokładne, kontekstowe odpowiedzi. Każde zapytanie jest przetwarzane w oparciu o treść dokumentu, a sztuczna inteligencja przechowuje historię rozmów, aby zapewnić coraz bardziej trafne odpowiedzi.
Aby uzyskać optymalną wydajność w przypadku dużych dokumentów lub wielu użytkowników jednocześnie, wdroż strategie buforowania i zapoznaj się z technikami optymalizacji wydajności IronPDF. W przypadku wdrożeń produkcyjnych należy rozważyć ograniczenie szybkości oraz odpowiednie Zarzadzanie kluczami licencyjnymi.
W przypadku pracy z dokumentami wrażliwymi należy wdrożyć odpowiednie środki bezpieczeństwa. IronPDF oferuje różne opcje zabezpieczeń i szyfrowania w celu ochrony plików PDF przed i po przetworzeniu przez sztuczną inteligencję.
Często Zadawane Pytania
What is the purpose of the AI extension for PDF processing?
The IronPdf.Extensions.AI NuGet package enables OpenAI-powered PDF enhancement in C# applications. It allows you to add summarization, querying, and memorization features to your PDFs using Microsoft Semantic Kernel with minimal code, helping extract insights and answer questions from documents automatically.
What are the key use cases for AI-powered PDF processing?
IronPDF's AI extension is ideal for processing large document volumes, extracting information from reports, creating quick-review summaries, and building intelligent document management systems. The integration supports both one-time summarization and continuous querying for various applications.
How can I quickly summarize a PDF using OpenAI?
With IronPDF's AI extension, you can summarize any PDF with just one line of code: await IronPdf.AI.PdfAIEngine.Summarize("input.pdf", "summary.txt", azureEndpoint, azureApiKey). This simple implementation makes it easy to generate summaries from PDF documents.
What packages do I need to install for AI PDF processing?
To implement AI features with IronPDF, you need three packages: IronPdf (the main PDF library), IronPdf.Extensions.AI (the AI extension), and Microsoft.SemanticKernel.Plugins.Memory (for semantic kernel functionality).
What are the prerequisites for using OpenAI with PDFs?
Before implementing AI features with IronPDF, you need to set up Azure OpenAI with an Azure subscription that has Azure OpenAI Service access. The service provides enterprise-grade security and compliance for production applications, requiring an Azure Endpoint and API Key.
What is the minimal workflow for AI PDF processing?
The minimal workflow with IronPDF consists of 5 steps: 1) Download the C# library, 2) Prepare the Azure Endpoint and API Key, 3) Import the target PDF document, 4) Use the Summarize method to generate a summary, and 5) Use the Query method for continuous querying.
How does the AI extension integrate with Microsoft Semantic Kernel?
IronPDF's AI extension is built on Microsoft Semantic Kernel, which simplifies AI service integration in .NET applications. This SDK handles the complexity of connecting to OpenAI services and provides a straightforward API for PDF-specific AI operations.

