Wie man PDF-Text mit ChatGPT in .NET verarbeitet

Wie man PDF-Text mit ChatGPT in .NET verarbeitet

Dieser Artikel zeigt, wie Sie ChatGPT mit PDF-Workflows in .NET integrieren können, indem Sie das Aspose.PDF Chat GPT Plugin verwenden. Sie werden lernen, Text aus PDFs zu extrahieren, es über chatgPT zu verarbeiten und Antworten auf neue oder bestehende pdf-Dateien zu schreiben – ideal für Dokumentzusammenlegung, Auto-Kommentation oder AI-driven Content-Verstärkung.

Real-Weltproblem

Die manuelle Erhebung bedeutender Einblicke, Zusammenfassungen oder Antworten aus PDF-Dateien kostet Zeit. Die Entwickler brauchen eine effizient gestaltete Art, PDF Content mit ChatGPT zu verbinden, um automatisierte Verarbeitung und Feedback zu ermöglichen, Zeit zu sparen und Produktivität zu verbessern.

Überblick der Lösung

Aspose.PDF ChatGPT Plugin für .NET ermöglicht es Ihnen, PDF-Inhalte an chatgPT zu senden, Ergänzungen oder Zusammenfassungen zu erhalten und Antworten wie neue PDFs zu speichern – alle mit minimalem Code.

Voraussetzung

  • Visual Studio 2019 oder später
  • .NET 6.0 oder höher
  • Aspose.PDF für .NET über NuGet installiert
  • OpenAI API-Schlüssel für ChatGPT
PM> Install-Package Aspose.PDF

Schritt für Schritt Implementierung

Schritt 1: Installieren und Konfigurieren Aspose.PDF

Fügen Sie die erforderlichen Namenräume hinzu:

using Aspose.Pdf.Plugins;
using System.IO;
using System.Threading.Tasks;

Schritt 2: PDF Text oder Datei vorbereiten

Angeben Sie Ihre Eingabe PDF und die gewünschte Ausgabe PDF-Datei:

string inputPdfPath = @"C:\Samples\source.pdf";
string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";

Schritt 3: Konfigurieren von ChatGPT Request Optionen

Set up your API key, prompt, and output path. Sie können Text aus PDF manuell extrahieren oder die Plugin die gesamte PDF-Datei als Eingabe verwenden:

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

Sie können auch benutzerdefinierte Gesprächsnachrichten hinzufügen (System/Nutzer-Rollen):

    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
    });

Schritt 4: Senden Sie eine Anfrage an ChatGPT und speichern Sie das Ergebnis

Bearbeiten Sie die Anfrage asynchronisch, erhalten Sie sowohl die neue PDF-Datei-Path als auch die ChatGPT-Antwort:

    // 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);
}

Schritt 5: Fehlerbehandlung und Async-Nutzung

Machen Sie immer Async-Anrufe und verwalten Sie API/Netzwerkfehler:

try
{
    // (Code above)
}
catch (Exception ex)
{
    Console.WriteLine($"Error during ChatGPT PDF processing: {ex.Message}");
}

Vollständige Implementierung Example

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}");
            }
        }
    }
}

Verwendung von Fällen und Anwendungen

PDF Summarization und AI-generierte Kommentare

Sammeln Sie automatisch Verträge, Berichte oder Forschungsdokumente mit ChatGPT und speichern Sie Antworten in PDFs.

Automatisierter Q&A oder Insights Extraction

Senden Sie benutzerdefinierte Anrufe an ChatGPT, um Antworten, Tabellen oder Schlüsseldaten aus PDF-Dateien zu extrahieren.

Batch-Dokumenten bereichern

Integrieren Sie sich in Workflows, um viele PDFs zu verarbeiten, die auf Chat basierende Antworten oder automatische Ankündigungen generieren.

Gemeinsame Herausforderungen und Lösungen

Herausforderung: API-Grenzen oder Reaktion Truncation

Lösung: Anpassung MaxTokens und Query für optimale Ergebnisse; verteilen Sie große PDFs nach Bedarf in Stücke.

Herausforderung: Secure API Key Management

Lösung: Speichern Sie die API-Schlüssel sicher (Umweltvariablen, Wellen) und vermeiden Sie Hardcoding in der Produktion.

Performance Beachtung

  • Batch PDF enthält und fördert, um API-Anrufe zu minimieren.
  • Verwenden Sie Async Workflows, um Ihre Anwendung reagierend zu halten.
  • Tune Token Grenzen, um API-Kosten zu verwalten.

Beste Praktiken

  • Überprüfen Sie immer PDF-Ausgang und ChatGPT Antworten für Genauigkeit.
  • Anpassung von Prompts und Nachrichtenrollen für gezielte Ergebnisse.
  • Sicher verwalten Sie API-Kreditials.
  • Erregung und Handhabung von Fehlern in async Operationen.

Fortgeschrittene Szenarien

  • Verwenden Sie mehrere PDFs oder prompt Variationen in einem Lauf.
  • Kombinieren Sie System- / Benutzernachrichten für komplexe Kontexte oder Aufgaben.
  • Leverage Output PDF für Downstream-Verarbeitung oder Workflows.

Schlussfolgerungen

Aspose.PDF ChatGPT Plugin für .NET ermöglicht Entwicklern, die Dokumentanalyse, Summarisierung und interaktive PDF-Verarbeitung mit der Macht von Chat GPT zu automatisieren – unmittelbar innerhalb ihrer .Net-Anwendungen.

 Deutsch