Exercice : écrire votre propre invite
Pour cet exercice, vous créez une invite qui demande au grand modèle de langage (LLM) de fournir une liste d’expressions utiles en français. Vous pouvez également tester votre code avec différentes langues de votre choix. C’est parti !
Ouvrez le projet Visual Studio Code que vous avez créé dans l’exercice précédent.
Mettez à jour votre fichier Program.cs avec le code suivant :
using Microsoft.SemanticKernel; using Microsoft.SemanticKernel.Plugins.Core; var builder = Kernel.CreateBuilder(); builder..AddAzureOpenAIChatCompletion( "your-deployment-name", "your-endpoint", "your-api-key", "deployment-model"); var kernel = builder.Build(); string language = "French"; string prompt = @$"Create a list of helpful phrases and words in ${language} a traveler would find useful."; var result = await kernel.InvokePromptAsync(prompt); Console.WriteLine(result);
Exécutez le code en entrant
dotnet run
dans le terminal.Vous devez voir une réponse similaire à la sortie suivante :
1. Bonjour - Hello 2. Merci - Thank you 3. Oui - Yes 4. Non - No 5. S'il vous plaît - Please 6. Excusez-moi - Excuse me 7. Parlez-vous anglais? - Do you speak English? 8. Je ne comprends pas - I don't understand 9. Pouvez-vous m'aider? - Can you help me? 10. Combien ça coûte? - How much does it cost? 11. Où est la gare? - Where is the train station?
La réponse provient du modèle Azure OpenAI que vous avez transmis au noyau. Le Kit de développement logiciel (SDK) Semantic Kernel se connecte au grand modèle de langage (LLM) et exécute l’invite. Vous pouvez améliorer cette invite en ajoutant des instructions plus spécifiques.
Mettez à jour votre invite pour qu’elle corresponde au texte suivant :
string prompt = @$"Create a list of helpful phrases and words in ${language} a traveler would find useful. Group phrases by category. Display the phrases in the following format: Hello - Ciao [chow]";
Dans cette invite, vous fournissez au LLM des instructions spécifiques pour mettre en forme la réponse. Si vous exécutez la nouvelle invite, vous devriez voir une réponse plus détaillée, semblable à la sortie suivante :
Restaurant Phrases: - Water, please - De l'eau, s'il vous plaît [duh loh, seel voo pleh] - Check, please - L'addition, s'il vous plaît [lah-di-syo(n), seel voo pleh] - Bon appétit - Bon appétit [bohn ah-peh-teet] Transportation Phrases: - Where is the train station? - Où est la gare? [oo-eh lah gahr] - How do I get to...? - Comment aller à...? [ko-mahn tah-lay ah] - I need a taxi - J'ai besoin d'un taxi [zhay buh-zwan dunn tah-xee]
Vous pouvez également inviter le LLM à inclure une catégorie spécifique d’expressions et à prendre en compte certaines informations en arrière-plan sur le voyageur. Essayons-le !
Mettez à jour votre invite pour qu’elle corresponde au texte suivant :
string language = "French"; string history = @"I'm traveling with my kids and one of them has a peanut allergy."; string prompt = @$"Consider the traveler's background: ${history} Create a list of helpful phrases and words in ${language} a traveler would find useful. Group phrases by category. Include common direction words. Display the phrases in the following format: Hello - Ciao [chow]";
À présent, le LLM peut prendre en compte les informations du voyageur lors de la génération de la liste d’expressions. Vous ajoutez également des instructions pour inclure des mots d’orientation courants.
Vous devez obtenir une sortie semblable à la réponse suivante :
Phrases for dealing with peanut allergy: My child has a peanut allergy - Mon enfant a une allergie aux arachides [mon on-fon ah oon ah-lair-zhee oh a-rah-sheed] Is there a peanut-free option available? - Y a-t-il une option sans arachide? [ee ah-teel une oh-pee-syon sahn ah-rah-sheed] Phrases for directions: Turn left - Tournez à gauche [toor-nay ah gohsh] Turn right - Tournez à droite [toor-nay ah dwaht]
Dans l’exercice suivant, vous allez vous exercer à affecter des personnages au LLM pour améliorer la qualité des réponses.
Important
Veillez à conserver tout le code que vous avez écrit jusqu’à présent, car vous en aurez besoin pour l’exercice suivant.