IRONPDF VERWENDEN

Wie ChatGPT mit IronPDF für C#-Entwickler verwendet wird

Aktualisiert 17. März 2024
Teilen Sie:

1.0 Was ist ChatGPT?

ChatGPT ist eine künstliche Intelligenz (AI) chatbot, der von OpenAI entwickelt wurde. Der Begriff "ChatGPT" setzt sich zusammen aus den Worten "Chat", was auf die Chatbot-Funktion des Systems anspielt, und "GPT", was für Generative Pre-trained Transformer steht und eine Art großes Sprachmodell ist (LLM). Die grundlegenden GPT-Modelle von OpenAI, nämlich GPT-3.5 und GPT-4, dienen als Basis für ChatGPT, das weiterentwickelt wurde (eine Methode des Transferlernens) für konversationelle Anwendungen unter Verwendung einer Kombination von überwachten und verstärkenden Lerntechniken, die maschinelles Lernen, natürliche Sprachverarbeitung und künstliche Intelligenz umfassen. ChatGPT kann menschenähnlichen Text verstehen und erzeugen.

In diesem Artikel wird gezeigt, wie man eine MAUI-Anwendung entwickelt, die die OpenAI ChatGPT-API nutzt, um Nachrichten entgegenzunehmen, Ergebnisse auf der Grundlage von Benutzerabfragen anzubieten und diese Ergebnisse dann als PDF-Datei zur späteren Verwendung mit IronPDF zu exportieren.

1.1 OpenAI-Konto einrichten

Um sich für ein OpenAI-Konto zu registrieren, gehen Sie wie folgt vor:

  • Besuchen Sie die offizielle OpenAI-Website.
  • Suchen Sie auf der Startseite der Website die Schaltfläche Anmelden und klicken Sie darauf. Dadurch gelangen Sie auf die Seite, auf der Sie ein Konto erstellen können.
  • Füllen Sie die wichtigsten Felder des Anmeldeformulars aus.
  • Klicken Sie auf den Verifizierungslink, der an Ihr registriertes E-Mail-Konto gesendet wird, um Ihre E-Mail-Adresse zu bestätigen.
  • Wenn Ihre Registrierung erfolgreich war, sollten Sie auf Ihr OpenAI-Konto zugreifen können, indem Sie die Anmeldeinformationen eingeben, die Sie bei der Registrierung angegeben haben.

1.2 Einen OpenAI-API-Schlüssel erhalten

  • Um auf OpenAI zuzugreifen, gehen Sie auf die Website und melden Sie sich mit Ihren Kontodaten an.

    Verwendung von ChatGPT mit IronPDF für C#-Entwickler, Abbildung 1: Zugang zur OpenAI-Website

     **Zugang zur OpenAI-Website**
  • Navigieren Sie zum API-Bereich der OpenAI-Plattform. Dann Kontoeinstellungen > API-Schlüssel anzeigen, wo Sie diesen finden können.
  • Jetzt können Sie einen neuen geheimen API-Schlüssel erstellen.

    Verwendung von ChatGPT mit IronPDF für C#-Entwickler, Abbildung 2: Erstellen von API-Schlüsseln

     **Erstellen von API-Schlüsseln**

2.0 Erste Schritte mit der .NET MAUI-Anwendung

Sie benötigen Visual Studio 2022 und das .NET 7-Framework, um die in C# geschriebene .NET MAUI-Anwendung zu erstellen. Folgen Sie dann den nächsten Schritten, um eine .NET MAUI-Anwendung zu erstellen und zu schreiben.

2.1 Öffnen Sie Visual Studio

Öffnen Sie Visual Studio, wählen Sie dann im Menü "Neues Projekt erstellen" und geben Sie ".NET MAUI" in das Suchfeld ein.

2.2 Wählen Sie die .NET MAUI App

Wählen Sie in Visual Studio die .NET MAUI-Anwendungsvorlage aus der Liste der Suchergebnisse. Nachdem Sie es ausgewählt haben, geben Sie ihm einen angemessenen Namen und wählen Sie den Standort des Projekts. Klicken Sie auf "Weiter", wenn die Konfiguration abgeschlossen ist.

Verwendung von ChatGPT mit IronPDF für C#-Entwickler, Abbildung 3: Erstellen einer neuen .NET MAUI-App in Visual Studio

Erstellen einer neuen .NET MAUI-Anwendung in Visual Studio

2.3 Rahmen auswählen

Wählen Sie den erforderlichen Rahmen; dennoch ist es zum Beispiel ratsam, das neueste .NET-Framework zu wählen. Drücken Sie die Schaltfläche Erstellen in Visual Studio, nachdem Sie die Framework-Version ausgewählt haben.

Verwendung von ChatGPT mit IronPDF für C#-Entwickler, Abbildung 4: Konfigurieren Sie das neue Projekt

Konfigurieren Sie das neue Projekt

In Visual Studio 2022 wird ein neues .NET MAUI-Projekt erstellt. .NET MAUI entwickelt standardmäßig eine unkomplizierte Zähleranwendung.

Verwendung von ChatGPT mit IronPDF für C#-Entwickler, Abbildung 5: Auswahl des .NET-Frameworks

.NET-Framework-Auswahl

Durch Modifizierung der .NET MAUI-Anwendung kann ChatGPT OpenAI integriert und das Ergebnis mit Hilfe der IronPDF C# PDF-Bibliothek auf dieser Variante von Plattformen in PDF-Dateien exportiert werden.

2.4 Installieren Sie das OpenAI-Paket

Geben Sie den folgenden Befehl in die NuGet-Paketmanager-Konsole ein.

Install-Package OpenAI

Geben Sie die obige Codezeile in die Paketmanager-Konsole ein, um das Paket OpenAI zu installieren.

Install-Package IronPdf

Der obige Code hilft bei der Installation von IronPDF in den MAUI-Code.

3.0 Was ist IronPDF?

Mit IronPDF, einem robusten PDF-SDK für die PDF-Verarbeitung, können Entwickler schnell PDF-Dokumente erstellen, lesen und bearbeiten. Die Chrome-Engine wird von der IronPDF-Bibliothek verwendet, um HTML in PDF zu konvertieren. Zu den verschiedenen Webkomponenten, die die Bibliothek unterstützt, gehören MAUI, Xamarin, Blazor, Unity, HoloLens-Apps, Windows Forms, HTML, ASPX, Razor HTML, .NET Core, ASP.NET und WPF. Die Programmierung mit Microsoft.NET und .NET Core kann sowohl in herkömmlichen Windows-Anwendungen als auch in ASP.NET-Webanwendungen verwendet werden.

Mit HTML5, JavaScript, CSS und Bildern können Sie mit IronPDF attraktive PDFs mit Titel und Fußzeile erstellen. Die API-Bibliothek umfasst einen robusten HTML-zu-PDF-Konverter, der mit PDFs umgehen kann, sowie ein eigenständiges PDF-Konvertierungstool und eine Engine, die unabhängig von externen Quellen ist.

4.0 Exportieren des ChatGPT-API-Ergebnisses mit IronPDF

Fügen Sie den folgenden Code in die Datei "MauiProgram.cs" ein:

builder.Services.AddChatGpt(options =>
    {
        options.UseOpenAI("API key here");
        options.DefaultModel = OpenAIChatGptModels.Gpt35Turbo; 
        options.MessageLimit = 10;
        options.MessageExpiration = TimeSpan.FromMinutes(5); 
    }
);
builder.Services.AddChatGpt(options =>
    {
        options.UseOpenAI("API key here");
        options.DefaultModel = OpenAIChatGptModels.Gpt35Turbo; 
        options.MessageLimit = 10;
        options.MessageExpiration = TimeSpan.FromMinutes(5); 
    }
);
builder.Services.AddChatGpt(Sub(options)
		options.UseOpenAI("API key here")
		options.DefaultModel = OpenAIChatGptModels.Gpt35Turbo
		options.MessageLimit = 10
		options.MessageExpiration = TimeSpan.FromMinutes(5)
End Sub)
VB   C#

Dies hilft, einen Dienst für die ChatGPT-API zu erstellen. Dann kann er von den anderen Klassen/Seiten abgerufen und verwendet werden.

Fügen Sie auf der Hauptseite der Anwendung in der Seitenlademethode den folgenden Text hinzu. Dies hilft dabei, den ChatGPT-Dienst sofort zu erhalten und ihn in einem lokalen Objekt zu speichern.

_chatGptClient = Handler.MauiContext.Services.GetService<IChatGptClient>();
_chatGptClient = Handler.MauiContext.Services.GetService<IChatGptClient>();
_chatGptClient = Handler.MauiContext.Services.GetService(Of IChatGptClient)()
VB   C#

Erstellen Sie dann die Benutzeroberfläche wie in der folgenden Abbildung.

Verwendung von ChatGPT mit IronPDF für C#-Entwickler, Abbildung 6: UI der MAUI-App

Benutzeroberfläche der MAUI-App

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
                xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                x:Class="ChatGPT_MauiApp.MainPage"
            BackgroundColor="black">
    <StackLayout>
        <StackLayout Orientation="Horizontal"  Spacing="25"
            Padding="30,0">
            <ScrollView WidthRequest="700" HeightRequest="200" x:Name="scrollView">
        <TableView Intent="Data" WidthRequest="700" x:Name="Table_View"  BackgroundColor="DarkSlateGrey">
                    <TableRoot>
                        <!--<TableSection >
                            --><!--<TextCell Text="test" Detail="test">
                            </TextCell>--><!--
                        </TableSection>-->
                    </TableRoot>
            </TableView>
    </ScrollView>
    </StackLayout>
        <StackLayout Padding="30,0">
            <Editor
                x:Name="Userquest"
                Text=""
                HorizontalOptions="Start"
                FontSize="12"
                Placeholder=" Enter your Queries"
                HeightRequest="25" WidthRequest="700"

                />
        </StackLayout>
        <StackLayout Padding="30,10,10,0">
        <FlexLayout >
            <Button
                x:Name="Sendquery"
                Text="Sent Query"
                SemanticProperties.Hint="Click to send query to BOT"
                Clicked="SendqueryClicked"
                HorizontalOptions="Center" 
                BackgroundColor="Green"
                TextColor="WhiteSmoke"

                />
                <Button
                x:Name="Export"
                Text="Export"
                SemanticProperties.Hint="click to export data"
                Clicked="OnExportClicked"
                HorizontalOptions="Center" 
                BackgroundColor="DodgerBlue"
                TextColor="WhiteSmoke"
                />
            </FlexLayout>
        </StackLayout>

    </StackLayout>
</ContentPage>
XML

Der obige Code hilft bei der Gestaltung und Implementierung der UI-Seite. Auf der Entwurfsseite ermöglicht das Textfeld dem Benutzer die Eingabe der Abfrage. Sobald sie den gewünschten Text eingeben und auf die Schaltfläche klicken, wird eine Abfrage gesendet, die mit der ChatGPT API interagiert und das Ergebnis liefert. Das Ergebnis wird in "Tableview" angezeigt.

In der Demo-Version von ChatGPT verhindert der Dienst nicht mehr als 3 Anfragen pro Minute. Die Benutzeroberfläche verfügt auch über eine Schaltfläche "Exportieren", die es ermöglicht, die Benutzeranfrage und die ChatGPT-API-Antwort in ein PDF-Dokument zu exportieren, das in Zukunft als Referenz verwendet werden kann.

Die folgenden Codebeispiele werden für den Export nach Excel verwendet.

private void OnExportClicked(object sender, EventArgs e)
{
    celldata = null;
    db = new StringBuilder();
    foreach (var table_section in Table_View.Root.ToList().Select(s => new TableSection { s }).ToList())
    {
        if (table_section.Count > 0)
        {
            celldata = null;
            celldata = table_section.Select(s => (Microsoft.Maui.Controls.TextCell)s).FirstOrDefault();
            db.Append("<p style='color:red;text-align:left;'>" + celldata.Text + "</p>");
            db.Append("<p style='color:black;text-align:justify;'>" + celldata.Detail + "</p>");
        }
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(db.ToString());
        pdf.SaveAs("F:\\Download\\Demo.pdf");
    }
}

private async void SendqueryClicked(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(Userquest.Text.ToString()))
    {
        var query = Userquest.Text;
        Userquest.Text = "";
        var tablesec = SetGetTextCell(query);
        ChatGptResponse response = await _chatGptClient.AskAsync(_sessionGuid, query);
        var resp = response.GetMessage();
        tablesec.Detail = resp.ToString();
    }
}

private Microsoft.Maui.Controls.TextCell SetGetTextCell(string Setvalue)
{
    celldata = null;
    if (!string.IsNullOrEmpty(Setvalue))
    {
        celldata = new TextCell
        {
            Text = Setvalue,
            TextColor = Colors.Red,
            DetailColor = Colors.WhiteSmoke,
            Detail = ""
        };
        Table_View.Root.Add(new TableSection()
            {
                celldata
            });
    }
    return celldata;
}
private void OnExportClicked(object sender, EventArgs e)
{
    celldata = null;
    db = new StringBuilder();
    foreach (var table_section in Table_View.Root.ToList().Select(s => new TableSection { s }).ToList())
    {
        if (table_section.Count > 0)
        {
            celldata = null;
            celldata = table_section.Select(s => (Microsoft.Maui.Controls.TextCell)s).FirstOrDefault();
            db.Append("<p style='color:red;text-align:left;'>" + celldata.Text + "</p>");
            db.Append("<p style='color:black;text-align:justify;'>" + celldata.Detail + "</p>");
        }
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(db.ToString());
        pdf.SaveAs("F:\\Download\\Demo.pdf");
    }
}

private async void SendqueryClicked(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(Userquest.Text.ToString()))
    {
        var query = Userquest.Text;
        Userquest.Text = "";
        var tablesec = SetGetTextCell(query);
        ChatGptResponse response = await _chatGptClient.AskAsync(_sessionGuid, query);
        var resp = response.GetMessage();
        tablesec.Detail = resp.ToString();
    }
}

private Microsoft.Maui.Controls.TextCell SetGetTextCell(string Setvalue)
{
    celldata = null;
    if (!string.IsNullOrEmpty(Setvalue))
    {
        celldata = new TextCell
        {
            Text = Setvalue,
            TextColor = Colors.Red,
            DetailColor = Colors.WhiteSmoke,
            Detail = ""
        };
        Table_View.Root.Add(new TableSection()
            {
                celldata
            });
    }
    return celldata;
}
Private Sub OnExportClicked(ByVal sender As Object, ByVal e As EventArgs)
	celldata = Nothing
	db = New StringBuilder()
	For Each table_section In Table_View.Root.ToList().Select(Function(s) New TableSection From {s}).ToList()
		If table_section.Count > 0 Then
			celldata = Nothing
			celldata = table_section.Select(Function(s) CType(s, Microsoft.Maui.Controls.TextCell)).FirstOrDefault()
			db.Append("<p style='color:red;text-align:left;'>" & celldata.Text & "</p>")
			db.Append("<p style='color:black;text-align:justify;'>" & celldata.Detail & "</p>")
		End If
		Dim renderer = New ChromePdfRenderer()
		Dim pdf = renderer.RenderHtmlAsPdf(db.ToString())
		pdf.SaveAs("F:\Download\Demo.pdf")
	Next table_section
End Sub

Private Async Sub SendqueryClicked(ByVal sender As Object, ByVal e As EventArgs)
	If Not String.IsNullOrEmpty(Userquest.Text.ToString()) Then
		Dim query = Userquest.Text
		Userquest.Text = ""
		Dim tablesec = SetGetTextCell(query)
		Dim response As ChatGptResponse = Await _chatGptClient.AskAsync(_sessionGuid, query)
		Dim resp = response.GetMessage()
		tablesec.Detail = resp.ToString()
	End If
End Sub

Private Function SetGetTextCell(ByVal Setvalue As String) As Microsoft.Maui.Controls.TextCell
	celldata = Nothing
	If Not String.IsNullOrEmpty(Setvalue) Then
		celldata = New TextCell With {
			.Text = Setvalue,
			.TextColor = Colors.Red,
			.DetailColor = Colors.WhiteSmoke,
			.Detail = ""
		}
		Table_View.Root.Add(New TableSection() From {celldata})
	End If
	Return celldata
End Function
VB   C#

Beim Abrufen der Eingabedaten nacheinander mit der for-Schleife, dann fügen Sie die HTML-Zeichenfolge in die Zeichenfolge, um den Anzeigetext zu formatieren. Anschließend kann IronPDF verwendet werden, um die Ergebnisse in PDF zu exportieren und an einem gewünschten Ort zu speichern.

Nachdem Sie den obigen Code hinzugefügt haben, versuchen Sie, die Lösung auszuführen. Geben Sie dann die Abfrage ein und rufen Sie das Ergebnis ab, indem Sie auf die Schaltfläche "Abfrage senden" klicken. Es sendet dem Benutzer eine Abfrage, um das Ergebnis abzurufen, und zeigt die Nachricht auf dem Bildschirm an, wie in der folgenden Abbildung dargestellt.

Verwendung von ChatGPT mit IronPDF für C#-Entwickler, Abbildung 7: Hinzufügen von Textabfragen in die Anwendung

Textabfrage in die Anwendung einfügen

Klicken Sie auf die Schaltfläche "Exportieren", um die Ergebnisse in eine PDF-Datei zu exportieren, wie in der folgenden Abbildung dargestellt.

Verwendung von ChatGPT mit IronPDF für C#-Entwickler, Abbildung 8: Die exportierte PDF-Datei

Die exportierte PDF-Datei

Jetzt konnten wir einen Chatbot mit ChatGPT erstellen und diesen Chat mit IronPDF auf MAUI App exportieren. Mit dem obigen Konzept ist es möglich, Bilder, Audio und Video von der ChatGPT-API für genauere Ergebnisse einzubeziehen.

5.0 Schlussfolgerung

Ziel dieses Artikels ist es, eine MAUI-Anwendung zu entwickeln, die die OpenAI-ChatGPT-API nutzt, um Nachrichten entgegenzunehmen, Ergebnisse auf der Grundlage von Benutzeranfragen anzubieten und diese Ergebnisse als PDF-Datei zu exportieren. Um die Qualität der Vorschläge zu verbessern, können Sie die Fragen verändern. Um zu sehen, ob verschiedene Modelle bessere Ergebnisse liefern, können Sie auch damit experimentieren, den Enum-Wert ChatGptModels in der Methode AddChatGpt in "MauiProgram.cs" zu ändern.

Die ChatGPT API ist ein leistungsfähiges KI-Programm, das es uns ermöglicht, Ergebnisse auf der Grundlage der Benutzeranfrage zu liefern. Die Kosten für ChatGPT API werden auf der Grundlage der Anzahl der gesendeten Anfragen berechnet. IronPDF wird verwendet, um API-Anfragen zu stellen und das Ergebnis zur späteren Verwendung in PDF zu exportieren, um zu vermeiden, dass dieselbe API-Anfrage wiederholt gestellt wird.

Mit IronPDF können wir PDFs mit nur wenigen Codezeilen erstellen. Diese Anwendung ist auch für Anfänger geeignet und erfordert nur grundlegende Kenntnisse zur Nutzung. Kein anderes Paket ist in irgendeiner Weise von IronPDF abhängig. Zum Beispiel ist es eine Bibliothek, die in einem einzigen Paket geliefert wird. IronPDF-Entwickler können aus einer Vielzahl von Lizenzen wählen, die ihren Anforderungen entsprechen. Es ist auch eine kostenlose Testversion verfügbar. Vollständige Informationen zu Preisen und Lizenzierung von IronPDF finden Sie in der lizenzierungsseite.

< PREVIOUS
Verwendung der fließenden Validierung mit IronPDF in C#
NÄCHSTES >
Wie man PDF-Signaturen in .NET erstellt

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >