Cvičení – napsání vlastní výzvy

Dokončeno

V tomto cvičení vytvoříte výzvu, která požádá velký jazykový model (LLM) o poskytnutí seznamu užitečných frází ve francouzštině. Kód můžete také otestovat v různých jazycích podle svého výběru. Pusťme se do toho.

  1. Otevřete projekt editoru Visual Studio Code, který jste vytvořili v předchozím cvičení.

  2. Aktualizujte soubor Program.cs následujícím kódem:

    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);
    
  3. Spusťte kód zadáním dotnet run do terminálu.

    Měla by se zobrazit odpověď podobná následujícímu výstupu:

    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?
    

    Odpověď pochází z modelu Azure OpenAI, který jste předali do jádra. Sada SDK sémantického jádra se připojí k rozsáhlému jazykovému modelu (LLM) a spustí výzvu. Tuto výzvu můžete vylepšit přidáním konkrétnějších pokynů.

  4. Aktualizujte výzvu tak, aby odpovídala následujícímu textu:

    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]";
    

    V této výzvě zadáte LLM s konkrétními pokyny pro formátování odpovědi. Pokud spustíte novou výzvu, měla by se zobrazit podrobnější odpověď, podobně jako v následujícím výstupu:

    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]
    

    Můžete také vyzvat LLM k zahrnutí konkrétní kategorie frází a zvážit některé základní informace o cestovateli. Pojďme to vyzkoušet!

  5. Aktualizujte výzvu tak, aby odpovídala následujícímu textu:

    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]";
    

    LlM teď může při generování seznamu frází vzít v úvahu informace o cestovatelích. Přidali jste také pokyny, které obsahují běžná slova směru.

    Výstup může vypadat podobně jako následující odpověď:

    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]
    

V dalším cvičení si procvičíte přiřazování osob do LLM, abyste zlepšili kvalitu odpovědí.

Důležité

Nezapomeňte odstranit žádný kód, který jste zatím napsali, potřebujete ho pro další cvičení.