UTILISATION D'IRONPDF

Comment utiliser ChatGPT avec IronPDF pour les développeurs C#

Mise à jour mars 17, 2024
Partager:

1.0 Qu'est-ce que ChatGPT ?

ChatGPT est une intelligence artificielle(AI) créé par OpenAI. Le terme "ChatGPT" combine les mots "Chat", qui fait référence à la fonction de chatbot du système, et "GPT", qui signifie Generative Pre-trained Transformer (transformateur génératif pré-entraîné) et qui est une sorte de grand modèle de langage(LLM). Les modèles GPT fondamentaux de l'OpenAI, à savoir GPT-3.5 et GPT-4, servent de base à ChatGPT, qui a été affiné(une méthode d'apprentissage par transfert) pour les applications conversationnelles en utilisant une combinaison de techniques d'apprentissage supervisé et de renforcement, ce qui inclut l'apprentissage automatique, le traitement du langage naturel et l'intelligence artificielle. ChatGPT peut comprendre et générer des textes de type humain.

Cet article montre comment développer une application MAUI qui utilise l'API OpenAI ChatGPT pour prendre des messages, proposer des résultats basés sur les requêtes de l'utilisateur, puis exporter ces résultats sous forme de fichier PDF pour une utilisation ultérieure à l'aide d'IronPDF.

1.1 Création d'un compte OpenAI

Pour créer un compte OpenAI, procédez comme suit :

  • Visitez le site officiel de l'OpenAI.
  • Sur la page d'accueil du site web, localisez et cliquez sur le bouton Sign-Up. Vous accéderez au formulaire de création de compte.
  • Remplir les champs essentiels du formulaire d'inscription.
  • Cliquez sur le lien de vérification envoyé à votre compte e-mail enregistré pour confirmer votre adresse e-mail.
  • Si votre inscription est réussie, vous devriez pouvoir accéder à votre compte OpenAI en entrant les informations de connexion que vous avez fournies lors de votre inscription.

1.2 Obtenir une clé API OpenAI

  • Pour accéder à l'OpenAI, rendez-vous sur le site web et connectez-vous à l'aide de vos informations de compte.

    Comment utiliser ChatGPT avec IronPDF pour les développeurs C#, Figure 1 : Accéder au site web de l'OpenAI

    **Accéder au site web de l'OpenAI

  • Naviguez jusqu'à la zone API de la plateforme OpenAI. Ensuite, Paramètres du compte > Afficher la clé API, où vous trouverez peut-être ceci.
  • Vous pouvez maintenant créer une nouvelle clé API secrète.

    Comment utiliser ChatGPT avec IronPDF pour les développeurs C#, Figure 2 : Créer des clés API

    Créer des clés API

2.0 Démarrage de l'application .NET MAUI

Vous devez disposer de Visual Studio 2022 et du Framework .NET 7 pour créer l'application .NET MAUI en C#. Ensuite, suivez les étapes suivantes pour créer et écrire une application MAUI .NET.

2.1 Ouvrir Visual Studio

Ouvrez Visual Studio, puis sélectionnez "Créer un nouveau projet" dans le menu et entrez ".NET MAUI" dans le champ de recherche.

2.2 Choisir l'application .NET MAUI

Dans Visual Studio, choisissez le modèle d'application .NET MAUI dans la liste des résultats de la recherche. Après l'avoir choisi, donnez-lui un nom décent et choisissez l'emplacement du projet. Cliquez sur "Suivant" une fois la configuration terminée.

Comment utiliser ChatGPT avec IronPDF for C# Developer, Figure 3 : Créer une nouvelle application MAUI .NET dans Visual Studio

Créer une nouvelle application MAUI .NET dans Visual Studio

2.3 Sélectionner le cadre

Choisir le cadre nécessaire ; néanmoins, il est conseillé, par exemple, de choisir le Framework .NET le plus récent. Appuyez sur le bouton Créer dans Visual Studio après avoir choisi la version du framework.

Comment utiliser ChatGPT avec IronPDF Pour le développeur C#, Figure 4 : Configurer le nouveau projet

Configurer le nouveau projet

Dans Visual Studio 2022, un nouveau projet .NET MAUI sera créé. nET MAUI, par défaut, développe une application de comptoir simple.

Comment utiliser ChatGPT avec IronPDF pour le développeur C#, Figure 5 : Sélection du Framework .NET

Sélection du Framework .NET

En modifiant l'application .NET MAUI, il est possible d'intégrer l'OpenAI ChatGPT et d'exporter le résultat dans des fichiers PDF à l'aide de la bibliothèque IronPDF for .NET PDF sur cette variante de plates-formes.

2.4 Installer le paquet OpenAI

Entrez la commande suivante dans la console du gestionnaire de paquets NuGet.

Install-Package OpenAI

Saisissez la ligne de code ci-dessus dans la console du gestionnaire de paquets, qui vous aidera à installer le paquet OpenAI.

Install-Package IronPdf

Le code ci-dessus permet d'installer IronPDF dans le code MAUI.

3.0 Qu'est-ce qu'IronPDF ?

Les développeurs peuvent créer, lire et modifier rapidement des documents PDF grâce à IronPDF, un SDK robuste pour le traitement des PDF. Le moteur Chrome est utilisé par la bibliothèque IronPDF pour convertir HTML en PDF. Parmi les plusieurs composants web que la bibliothèque prend en charge, on trouve MAUI, Xamarin, Blazor, Unity, les apps HoloLens, Windows Forms, HTML, ASPX, Razor HTML, .NET Core, ASP.NET et WPF. La programmation Microsoft.NET et .NET Core peut être utilisée à la fois dans les applications Windows traditionnelles et dans les applications web ASP.NET.

En utilisant HTML5, JavaScript, CSS et des images, IronPDF vous permet de créer des PDF attrayants qui disposent d'un titre et d'un pied de page. La bibliothèque API comprend un convertisseur HTML-PDF robuste qui peut traiter les PDF, ainsi qu'un outil et un moteur de conversion PDF autonome, indépendant de toute source extérieure.

4.0 Exportation du résultat de l'API ChatGPT à l'aide d'IronPDF

Ajoutez le code ci-dessous dans le fichier "MauiProgram.cs" :

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#

Cela permet de créer un service pour l'API ChatGPT, qui peut alors être récupéré et utilisé par d'autres classes/pages.

Ajoutez le texte ci-dessous sur la page principale de l'application dans la méthode de chargement de la page. Cela permet d'obtenir l'instantané du service ChatGPT et de le stocker dans un objet local.

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

Créez ensuite l'interface utilisateur comme dans l'image ci-dessous.

Comment utiliser ChatGPT avec IronPDF pour le développeur C#, Figure 6 : Interface utilisateur de l'application MAUI

UI de l'application MAUI

<?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

Le code ci-dessus permet de concevoir et de mettre en œuvre la page de l'interface utilisateur. Sur la page de conception, la zone de texte permet à l'utilisateur de saisir la requête. Une fois qu'ils ont saisi le texte nécessaire, lorsqu'ils cliquent sur le bouton, une requête est envoyée qui interagit avec l'API ChatGPT et produit le résultat. Le résultat sera affiché dans Tableview.

Dans la version démo de ChatGPT, le service n'empêche pas plus de 3 demandes par minute. L'interface utilisateur dispose également d'un bouton appelé "export" qui permet d'exporter la requête de l'utilisateur et la réponse de l'API ChatGPT dans un document PDF qui pourra être utilisé à l'avenir à titre de référence.

Les exemples de code ci-dessous sont utilisés pour l'exportation vers Excel.

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#

Après avoir récupéré les données d'entrée une par une à l'aide de la boucle for, ajoutez la chaîne HTML dans la chaîne pour formater le texte d'affichage. IronPDF peut ensuite être utilisé pour exporter les résultats au format PDF et les enregistrer à l'endroit souhaité.

Après avoir ajouté le code ci-dessus, essayez d'exécuter la solution. Saisissez ensuite la requête et récupérez le résultat en cliquant sur le bouton "envoyer la requête". Il enverra la requête de l'utilisateur pour récupérer le résultat et affichera le message sur l'écran comme dans l'image ci-dessous.

Comment utiliser ChatGPT avec IronPDF Pour le développeur C#, Figure 7 : Ajouter une requête de texte dans l'application

Ajouter une requête de texte dans l'application

Cliquez sur le bouton d'exportation pour exporter les résultats au format PDF, comme dans l'image ci-dessous.

Comment utiliser ChatGPT avec IronPDF pour le développeur C#, Figure 8 : Le fichier PDF exporté

Le fichier PDF exporté

Maintenant, nous avons pu créer un chatbot en utilisant ChatGPT et exporter ce chat en utilisant IronPDF sur MAUI App. En utilisant le concept ci-dessus, il est possible d'inclure des images, de l'audio et de la vidéo à partir de l'API ChatGPT pour obtenir des résultats plus précis.

5.0 Conclusion

L'objectif de cet article est de développer une application MAUI qui utilise l'API OpenAI ChatGPT pour prendre des messages, offrir des résultats basés sur les requêtes de l'utilisateur et exporter ces résultats sous la forme d'un fichier PDF. Pour améliorer le calibre des suggestions, n'hésitez pas à explorer en modifiant les questions. Pour voir si différents modèles produisent de meilleurs résultats, vous pouvez aussi expérimenter en modifiant la valeur de l'enum ChatGptModels dans la méthode AddChatGpt de "MauiProgram.cs".

L'API ChatGPT est un puissant programme d'intelligence artificielle qui nous permet de fournir des résultats basés sur la requête de l'utilisateur. Le coût de l'API ChatGPT est calculé en fonction du nombre de requêtes envoyées. IronPDF est utilisé pour effectuer des requêtes API et exporter le résultat au format PDF pour des utilisations ultérieures, ce qui évite d'effectuer plusieurs fois la même requête API.

Avec IronPDF, nous pouvons créer des PDF en utilisant seulement quelques lignes de code. Cette application convient aux débutants et ne nécessite que des connaissances de base pour être utilisée. Aucun autre paquet ne dépend d'IronPDF de quelque manière que ce soit. Par exemple, il s'agit d'une bibliothèque qui se présente sous la forme d'un paquet unique. Les développeurs IronPDF peuvent choisir parmi une variété de licences pour répondre à leurs besoins. Une version d'essai gratuite est également disponible. Pour obtenir des informations complètes sur les prix et les licences d'IronPDF, veuillez vous référer à la page d'accueil du site Web d'IronPDFPage de licences IronPDF.

< PRÉCÉDENT
Comment utiliser la validation fluide avec IronPDF en C#
SUIVANT >
Comment créer des signatures PDF dans .NET