Použití sémantických šablon výzev jádra
Jazyk šablon pro sémantické jádro představuje jednoduchý způsob, jak definovat a skládat funkce AI pomocí prostého textu. Můžete ho použít k vytváření výzev v přirozeném jazyce, generování odpovědí, extrahování informací, vyvolání dalších výzev nebo provedení jakékoli jiné úlohy, které lze vyjádřit textem. Šablony výzev jsou cenné, protože umožňují vytvářet robustní opakovaně použitelné výzvy k rozšíření možností vaší aplikace.
Jazyk umožňuje zahrnout proměnné, volat externí funkce a předávat do funkcí všechny parametry pomocí složených závorek {{...}} k vložení výrazů do výzev. Sémantické jádro analyzuje vaši šablonu a spustí logiku za ní. Pomocí šablon výzvy můžete snadno integrovat AI do svých aplikací bez nutnosti složitého kódu.
Vytvoření šablon výzvy
Pokud chcete ve výzvě použít proměnnou, použijte {{$variableName}} syntaxi. Mezery se ignorují, takže pokud chcete, můžete také použít {{ $variableName }}. Tady je příklad šablony výzvy, která používá proměnnou city:
I'm traveling to {{$city}}. What is the best way to get around and explore the city?
Pokud chcete volat funkci a použít výsledky v příkazovém řádku, použijte syntaxi {{namespace.functionName}}. Pokud máte například funkci weather.getForecast, můžete napsat:
The weather today is {{weather.getForecast}}
Do funkce můžete také předat parametry, a to buď pomocí proměnných, nebo pevně zakódovaných hodnot. Pokud například weather.getForecast jako vstup vezme název města, můžete použít následující příklady:
The weather today in {{$city}} is {{weather.getForecast $city}}.
The weather today in Barcelona is {{weather.getForecast "Barcelona"}}.
Spouštění šablon promptů
Pokud chcete spustit prompt, musíte nejprve vytvořit KernelFunction objekt z promptu pomocí kernel.CreateFunctionFromPrompt. Pak můžete vytvořit KernelArguments objekt obsahující libovolné proměnné a vyvolat funkci pomocí InvokeAsync. Můžete volat buď na samotné jádro InvokeAsync, nebo na objekt KernelFunction. Tady je příklad:
string city = "Rome";
var prompt = "I'm visiting {{$city}}. What are some activities I should do today?";
var activitiesFunction = kernel.CreateFunctionFromPrompt(prompt);
var arguments = new KernelArguments { ["city"] = city };
// InvokeAsync on the KernelFunction object
var result = await activitiesFunction.InvokeAsync(kernel, arguments);
Console.WriteLine(result);
// InvokeAsync on the kernel object
result = await kernel.InvokeAsync(activitiesFunction, arguments);
Console.WriteLine(result);
city = "Rome"
prompt = "I'm visiting {{$city}}. What are some activities I should do today?"
activities_function = kernel.create_function_from_prompt(prompt)
arguments = {"city": city}
# Invoke on the KernelFunction object
result = await activities_function.invoke_async(kernel, arguments)
print(result)
# Invoke on the kernel object
result = await kernel.invoke_async(activities_function, arguments)
print(result)
Jazyk šablony návrhů pro sémantické jádro usnadňuje přidávání funkcí poháněných AI do vašich aplikací pomocí přirozeného jazyka. Díky podpoře proměnných, volání funkcí a parametrů můžete vytvářet opakovaně použitelné a dynamické šablony bez složitého kódu. Je to jednoduchý, ale výkonný způsob, jak vytvářet inteligentnější a lépe přizpůsobitelné aplikace.