Použití sémantických šablon výzev jádra

Dokončeno

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.