Comment utiliser ChatGPT avec IronPDF pour développeur C#
1.0 Qu'est-ce que ChatGPT ?
ChatGPT est un chatbot d'intelligence artificielle (IA) créé par OpenAI. Le terme "ChatGPT" combine les mots "Chat", qui fait allusion à la fonctionnalité de chatbot du système, et "GPT", qui signifie Transformer Pré-entraîné Génératif et est un type de grand modèle de langage (LLM). Les modèles GPT fondamentaux d'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 par renforcement, qui inclut l'apprentissage automatique, le traitement du langage naturel et l'intelligence artificielle. ChatGPT peut comprendre et générer du texte similaire à celui des humains.
Cet article va démontrer comment développer une application MAUI utilisant l'API OpenAI ChatGPT pour prendre des messages, offrir des résultats basés sur les requêtes des utilisateurs, puis exporter ces résultats en fichier PDF pour une utilisation ultérieure avec IronPDF.
1.1 Configuration du compte OpenAI
Pour vous inscrire à un compte OpenAI, procédez comme suit :
- Visitez le site officiel d'OpenAI.
- Sur la page d'accueil du site, localisez et cliquez sur le bouton S'inscrire. Cela vous mènera au formulaire de création de compte.
- Complétez les champs essentiels du formulaire d'inscription.
- Cliquez sur le lien de vérification envoyé à votre adresse e-mail enregistrée 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 à OpenAI, allez sur le site et connectez-vous avec vos informations de compte.
Accès au site d'OpenAI - Naviguez jusqu'à la zone API de la plateforme OpenAI. Ensuite Paramètres du compte > Voir la clé API où vous pouvez la trouver.
-
Vous pouvez maintenant créer une nouvelle clé API secrète.
Créer des clés API
2.0 Commencer avec une application .NET MAUI
Vous avez besoin de Visual Studio 2022 et de .NET 7 Framework installés pour créer l'application .NET MAUI écrite en C#. Ensuite, suivez les étapes suivantes pour créer et écrire une application .NET MAUI.
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 recherche. Après l'avoir choisi, donnez-lui un nom approprié et choisissez l'emplacement du projet. Cliquez sur "Suivant" après avoir terminé la configuration.
Créer une nouvelle application .NET MAUI dans Visual Studio
2.3 Sélectionner le framework
Choisissez le framework nécessaire ; néanmoins, par exemple, il est recommandé 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.
Configurer le nouveau projet
Dans Visual Studio 2022, un nouveau projet .NET MAUI sera créé. .NET MAUI, par défaut, développe une application compteur simple.
Sélection du framework .NET
En modifiant l'application .NET MAUI, ChatGPT OpenAI peut être intégré et exporter le résultat dans des fichiers PDF en utilisant la bibliothèque PDF C# IronPDF sur cette variante de plateformes.
2.4 Installer le package OpenAI
Entrez la commande suivante dans la console du gestionnaire de packages NuGet.
Install-Package OpenAI
Cette commande installera le package OpenAI, qui fournit l'accès à l'API nécessaire pour interagir avec ChatGPT en utilisant C#.
2.5 Installer IronPDF
Entrez la commande suivante pour installer le package IronPDF:
Install-Package IronPdf
La commande ci-dessus installe IronPDF dans le projet MAUI. IronPDF est utilisé pour rendre le contenu HTML en fichiers PDF et est une partie clé de l'exportation de données de l'application vers un document PDF.
3.0 Qu'est-ce que IronPDF ?
Les développeurs peuvent rapidement créer, lire et modifier des documents PDF grâce à IronPDF, une base SDK PDF robuste pour le traitement des PDF. Le moteur Chrome est utilisé par la bibliothèque IronPDF pour convertir HTML en PDF. Parmi les différents composants web pris en charge par la bibliothèque figurent MAUI, Xamarin, Blazor, Unity, applications HoloLens, Windows Forms, HTML, ASPX, Razor HTML, .NET Core, ASP.NET, et WPF. Microsoft.NET et .NET Core peuvent être utilisés dans des applications Windows traditionnelles et des applications web ASP.NET.
Grâce à HTML5, JavaScript, CSS et images, IronPDF vous permet de créer de beaux PDF avec un titre et un pied de page. La bibliothèque API comprend un convertisseur HTML-TO-PDF robuste qui peut gérer les PDF ainsi qu'un outil et un moteur de conversion PDF autonome qui est indépendant de toute source extérieure.
- Les utilisateurs peuvent générer des PDF avec IronPDF à partir de diverses sources, y compris des fichiers image, HTML, HTML5, ASPX, et Razor/MVC View.
- La bibliothèque propose des programmes pour la recherche de texte, l'extraction de texte et d'images à partir de pages PDF, et la conversion des pages PDF en images. Elle propose également un programme pour le remplissage et la soumission de formulaires interactifs.
- La bibliothèque fournit également des liens comme base pour les publications PDF, ainsi que l'utilisation d'agents utilisateurs, de proxys, de cookies, d'en-têtes HTTP et de variables de formulaire pour l'authentification derrière les formulaires de connexion HTML.
- IronPDF accepte les noms d'utilisateur et les mots de passe en échange de l'accès aux fichiers PDF protégés par mot de passe.
Pour en savoir plus sur IronPDF, veuillez vous référer aux pages du tutoriel sur la conversion HTML en PDF.
4.0 Exporter le résultat de l'API ChatGPT avec IronPDF
Ajoutez le code ci-dessous dans le fichier "MauiProgram.cs":
builder.Services.AddChatGpt(options =>
{
options.UseOpenAI("API key here"); // Replace with your actual OpenAI API key
options.DefaultModel = OpenAIChatGptModels.Gpt35Turbo; // Set the default model
options.MessageLimit = 10; // Limit number of messages per session
options.MessageExpiration = TimeSpan.FromMinutes(5); // Set message expiration time
});
builder.Services.AddChatGpt(options =>
{
options.UseOpenAI("API key here"); // Replace with your actual OpenAI API key
options.DefaultModel = OpenAIChatGptModels.Gpt35Turbo; // Set the default model
options.MessageLimit = 10; // Limit number of messages per session
options.MessageExpiration = TimeSpan.FromMinutes(5); // Set message expiration time
});
builder.Services.AddChatGpt(Sub(options)
options.UseOpenAI("API key here") ' Replace with your actual OpenAI API key
options.DefaultModel = OpenAIChatGptModels.Gpt35Turbo ' Set the default model
options.MessageLimit = 10 ' Limit number of messages per session
options.MessageExpiration = TimeSpan.FromMinutes(5) ' Set message expiration time
End Sub)
Ce fragment de code enregistre un service pour l'API ChatGPT, qui peut ensuite être utilisé par d'autres classes ou pages de votre application.
Ajoutez le code suivant sur la page principale de l'application dans la méthode de chargement de la page. Cela aide à obtenir l'instance du service ChatGPT et à la stocker dans un objet local.
_chatGptClient = Handler.MauiContext.Services.GetService<IChatGptClient>();
_chatGptClient = Handler.MauiContext.Services.GetService<IChatGptClient>();
_chatGptClient = Handler.MauiContext.Services.GetService(Of IChatGptClient)()
Ce code récupère l'instance du client ChatGPT du fournisseur de services, permettant à la page principale d'interagir avec l'API ChatGPT.
Ensuite, créez une interface utilisateur comme celle représentée dans le code XAML suivant :
<?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>
</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="Send 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 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>
</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="Send 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>
Le ContentPage ci-dessus définit la mise en page de l'interface utilisateur de l'application. Les utilisateurs peuvent entrer des requêtes, interagir avec l'API ChatGPT via le bouton "Envoyer la requête" et exporter les résultats sous forme de PDF en utilisant le bouton "Exporter". Les résultats sont affichés dans TableView.
Ci-dessous se trouve la logique de code-behind pour gérer les clics de boutons et exporter des données :
private void OnExportClicked(object sender, EventArgs e)
{
StringBuilder db = new();
foreach (var tableSection in Table_View.Root.ToList())
{
foreach (var cell in tableSection)
{
if (cell is TextCell textCell)
{
db.Append("<p style='color:red;text-align:left;'>" + textCell.Text + "</p>");
db.Append("<p style='color:black;text-align:justify;'>" + textCell.Detail + "</p>");
}
}
}
// Create and save the PDF
var renderer = new IronPdf.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))
{
var query = Userquest.Text;
Userquest.Text = "";
var tableSection = AddQueryToTable(query);
ChatGptResponse response = await _chatGptClient.AskAsync(_sessionGuid, query);
var resp = response.GetMessage();
AddResponseToTable(tableSection, resp);
}
}
private TableSection AddQueryToTable(string query)
{
var textCell = new TextCell
{
Text = query,
TextColor = Colors.Red,
DetailColor = Colors.WhiteSmoke,
Detail = ""
};
var tableSection = new TableSection { textCell };
Table_View.Root.Add(tableSection);
return tableSection;
}
private void AddResponseToTable(TableSection section, string response)
{
if (section.FirstOrDefault() is TextCell textCell)
{
textCell.Detail = response;
}
}
private void OnExportClicked(object sender, EventArgs e)
{
StringBuilder db = new();
foreach (var tableSection in Table_View.Root.ToList())
{
foreach (var cell in tableSection)
{
if (cell is TextCell textCell)
{
db.Append("<p style='color:red;text-align:left;'>" + textCell.Text + "</p>");
db.Append("<p style='color:black;text-align:justify;'>" + textCell.Detail + "</p>");
}
}
}
// Create and save the PDF
var renderer = new IronPdf.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))
{
var query = Userquest.Text;
Userquest.Text = "";
var tableSection = AddQueryToTable(query);
ChatGptResponse response = await _chatGptClient.AskAsync(_sessionGuid, query);
var resp = response.GetMessage();
AddResponseToTable(tableSection, resp);
}
}
private TableSection AddQueryToTable(string query)
{
var textCell = new TextCell
{
Text = query,
TextColor = Colors.Red,
DetailColor = Colors.WhiteSmoke,
Detail = ""
};
var tableSection = new TableSection { textCell };
Table_View.Root.Add(tableSection);
return tableSection;
}
private void AddResponseToTable(TableSection section, string response)
{
if (section.FirstOrDefault() is TextCell textCell)
{
textCell.Detail = response;
}
}
Private Sub OnExportClicked(ByVal sender As Object, ByVal e As EventArgs)
Dim db As New StringBuilder()
For Each tableSection In Table_View.Root.ToList()
For Each cell In tableSection
Dim tempVar As Boolean = TypeOf cell Is TextCell
Dim textCell As TextCell = If(tempVar, CType(cell, TextCell), Nothing)
If tempVar Then
db.Append("<p style='color:red;text-align:left;'>" & textCell.Text & "</p>")
db.Append("<p style='color:black;text-align:justify;'>" & textCell.Detail & "</p>")
End If
Next cell
Next tableSection
' Create and save the PDF
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(db.ToString())
pdf.SaveAs("F:\Download\Demo.pdf")
End Sub
Private Async Sub SendqueryClicked(ByVal sender As Object, ByVal e As EventArgs)
If Not String.IsNullOrEmpty(Userquest.Text) Then
Dim query = Userquest.Text
Userquest.Text = ""
Dim tableSection = AddQueryToTable(query)
Dim response As ChatGptResponse = Await _chatGptClient.AskAsync(_sessionGuid, query)
Dim resp = response.GetMessage()
AddResponseToTable(tableSection, resp)
End If
End Sub
Private Function AddQueryToTable(ByVal query As String) As TableSection
Dim textCell As New TextCell With {
.Text = query,
.TextColor = Colors.Red,
.DetailColor = Colors.WhiteSmoke,
.Detail = ""
}
Dim tableSection As New TableSection From {textCell}
Table_View.Root.Add(tableSection)
Return tableSection
End Function
Private Sub AddResponseToTable(ByVal section As TableSection, ByVal response As String)
Dim tempVar As Boolean = TypeOf section.FirstOrDefault() Is TextCell
Dim textCell As TextCell = If(tempVar, CType(section.FirstOrDefault(), TextCell), Nothing)
If tempVar Then
textCell.Detail = response
End If
End Sub
Explication :
-
La méthode
OnExportClickedcrée un PDF à partir du contenu HTML recueilli à partir de l'interface utilisateur à l'aide d' IronPDF. Le PDF généré est enregistré à un emplacement spécifié. -
La méthode
SendqueryClickedprend la requête de l'utilisateur, l'envoie à l'API OpenAI en utilisant_chatGptClientet affiche la réponse. Il ajoute également la requête et la réponse àTableView. - Les méthodes d'assistance
AddQueryToTableetAddResponseToTableaident à mettre à jour les composants d'interface utilisateur avec les requêtes des utilisateurs et les réponses du chatbot.
Après avoir ajouté le code ci-dessus, essayez d'exécuter votre solution. Entrez une requête et récupérez le résultat en cliquant sur le bouton "Envoyer la requête". Cela enverra la requête de l'utilisateur à l'API ChatGPT, récupérera le résultat et affichera le message à l'écran.
Ajouter une requête texte dans l'application
Cliquez sur le bouton "Exporter" pour exporter les résultats sous forme de PDF.
Le fichier PDF exporté
Maintenant, nous avons pu créer un chatbot en utilisant ChatGPT et exporter ce chat avec IronPDF sur une application MAUI. En utilisant le concept ci-dessus, il est possible d'inclure des images, de l'audio, et de la vidéo de l'API ChatGPT pour des résultats plus précis.
5.0 Conclusion
Le but 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 des utilisateurs et exporter ces résultats sous forme de fichier PDF. Pour améliorer la qualité 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 également expérimenter en modifiant la valeur de l'énumération ChatGptModels dans la méthode AddChatGpt dans "MauiProgram.cs".
L'API ChatGPT est un programme d'IA puissant 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 en PDF pour des utilisations futures, évitant de requêter à répétition la même requête API.
Nous pouvons créer des PDF en quelques lignes de code avec IronPDF. Cette application convient aux débutants et ne nécessite que des connaissances fondamentales pour être utilisée. Aucun autre package n'est dépendant de IronPDF d'aucune manière. Par exemple, c'est une bibliothèque qui vient dans un seul package. Les développeurs IronPDF peuvent choisir parmi une variété de licences pour répondre à leurs besoins. Il existe également un essai gratuit disponible. Pour des informations complètes sur les prix et les licences d'IronPDF, veuillez vous référer à la page de licences IronPDF.
Questions Fréquemment Posées
Comment intégrer ChatGPT dans une application .NET MAUI ?
Pour intégrer ChatGPT dans une application .NET MAUI, commencez par configurer un compte OpenAI et obtenez une clé API. Ensuite, installez le package OpenAI dans votre projet via NuGet et configurez l'API dans votre application pour gérer les requêtes utilisateur.
Comment convertir les résultats de l'API en PDF dans une application MAUI ?
Vous pouvez convertir les résultats de l'API en PDF dans une application MAUI en using IronPDF. Après avoir récupéré les réponses de l'API ChatGPT, utilisez les méthodes d'IronPDF pour rendre le contenu HTML sous forme de PDF.
Quelles étapes sont impliquées dans la configuration d'une application MAUI propulsée par ChatGPT ?
Pour configurer une application MAUI propulsée par ChatGPT, créez un nouveau projet .NET MAUI dans Visual Studio, installez les packages OpenAI et IronPDF, configurez les paramètres de l'API dans votre code et écrivez la logique pour traiter les requêtes et les exporter en PDF.
IronPDF peut-il gérer le contenu HTML, JavaScript et CSS lors de la création de PDFs ?
Oui, IronPDF peut gérer le contenu HTML, JavaScript et CSS lors de la création de PDFs. Il utilise le moteur de rendu de Chrome pour convertir le contenu HTML en un document PDF.
Est-il possible de personnaliser les paramètres de l'API ChatGPT dans mon application ?
Oui, vous pouvez personnaliser les paramètres de l'API ChatGPT dans votre application en ajustant des paramètres tels que les types de modèles, les limites de messages et les délais d'expiration dans le fichier MauiProgram.cs.
Quels sont les avantages d'utiliser IronPDF dans une application MAUI ?
IronPDF fournit un SDK robuste pour créer, lire et éditer des PDFs. Il permet la conversion de contenu HTML en PDFs, supporte l'extraction de texte, et offre diverses fonctionnalités pour améliorer la gestion des PDFs dans une application MAUI.
Existe-t-il un essai gratuit pour IronPDF ?
Oui, IronPDF propose un essai gratuit, permettant aux développeurs d'explorer ses fonctionnalités avant de s'engager dans un plan de licence.
Comment installer les packages nécessaires pour un projet PDF ChatGPT dans MAUI ?
Utilisez la Console du Gestionnaire de Packages NuGet dans Visual Studio pour installer les packages OpenAI et IronPDF. Exécutez Install-Package OpenAI et Install-Package IronPDF pour les ajouter à votre projet.
Quel est le rôle d'IronPDF dans la gestion des documents PDF ?
IronPDF est utilisé pour créer, éditer et convertir des documents PDF. Il permet aux développeurs de convertir du contenu web en PDFs, de faire des recherches de texte et d'extraire des images, ce qui le rend idéal pour les applications nécessitant des capacités PDF.
IronPDF est-il entièrement compatible avec .NET 10 ?
Oui, IronPDF est entièrement compatible avec .NET 10. Il prend en charge toutes les principales versions de .NET, y compris .NET 10, 9, 8, 7, 6, Core et .NET Framework, et est conçu pour fonctionner immédiatement dans les projets .NET 10 sans nécessiter de configuration particulière.



