Упражнение. Написание собственного запроса
В этом упражнении вы создадите запрос, который просит большую языковую модель (LLM) предоставить список полезных фраз на французском языке. Вы также можете протестировать код с различными языками. Приступим.
Откройте проект Visual Studio Code, созданный в предыдущем упражнении.
Обновите файл Program.cs, используя соответствующий код:
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);
Запустите код, введя
dotnet run
в терминал.Вы увидите ответ, аналогичный следующему выводу:
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?
Ответ поступает из модели Azure OpenAI, переданной в ядро. Пакет SDK для семантического ядра подключается к крупной языковой модели (LLM) и запускает запрос. Вы можете улучшить этот запрос, добавив более конкретные инструкции.
Обновите запрос, чтобы он соответствовал следующему тексту:
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]";
В этом запросе вы предоставляете LLM с определенными инструкциями по форматированию ответа. При выполнении нового запроса вы увидите более подробный ответ, аналогичный следующим выходным данным:
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]
Вы также можете предложить LLM включить определенную категорию фраз и рассмотреть некоторые фоновые сведения о путешественнике. Давайте попробуем!
Обновите запрос, чтобы он соответствовал следующему тексту:
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 может рассмотреть информацию путешественника при создании списка фраз. Вы также добавили инструкции для включения общих слов направления.
Выходные данные могут выглядеть примерно так:
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]
В следующем упражнении вы научитесь назначать лиц в LLM, чтобы улучшить качество ответов.
Внимание
Не забудьте удалить любой код, который вы написали до сих пор, вам потребуется для следующего упражнения.