Aktivér funktioner automatisk
Den semantiske kerne-SDK understøtter en effektiv funktionskaldsfunktion til automatisk funktion. Aktivering af automatisk funktionskald gør det muligt for kernen automatisk at vælge, hvilke funktioner og prompter der skal bruges på nogle angivne input. Denne funktion kan hjælpe dig med at spare tid på manuelt at aktivere funktioner og prompter og gøre dine programmer smartere.
Hvis du vil bruge automatisk funktionskald, skal du bruge en OpenAI-model, der understøtter den. I øjeblikket omfatter disse modeller GPT-3.5-turbo- og GPT-4-modeller, der er version 0613 eller nyere.
Hvis du vil aktivere kald af automatisk funktion, skal du angive egenskaben ToolCallBehavior for det OpenAIPromptExecutionSettings objekt til AutoInvokeKernelFunctions.
Lad os f.eks. antage, at du har nogle ingrediens-plug-ins, der understøtter følgende funktioner:
- `GetIngredients`: Gets a list of the user's available ingredients
- `GetRecipe`: Gets a list of ingredients for a given recipe
- `GetMissingIngredients`: Gets a list of ingredients that are missing from the user's kitchen for a given recipe
Du kan bruge funktionsmåden AutoInvokeKernelFunctions til automatisk at køre en funktion baseret på en prompt. For eksempel:
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
var builder = Kernel.CreateBuilder();
builder.AddAzureOpenAIChatCompletion(
"your-deployment-name",
"your-endpoint",
"your-api-key",
"deployment-model");
kernel.ImportPluginFromType<IngredientsPlugin>();
kernel.ImportPluginFromPromptDirectory("Prompts/IngredientPrompts");
// Set the ToolCallBehavior property
OpenAIPromptExecutionSettings settings = new()
{
ToolCallBehavior = ToolCallBehavior.AutoInvokeKernelFunctions
};
string prompt = @"What ingredients am I missing from my current list of ingredients
to make a recipe for aloo jeera?";
// Use the settings to automatically invoke plugins based on the prompt
var result = await kernel.InvokePromptAsync(prompt, new(settings));
Console.WriteLine(result);
Afhængigt af dine ingredienser og funktionsoplysninger kan outputtet af denne kode svare til følgende svar:
Based on the list of ingredients for aloo jeera, you are missing the following items:
- Cumin seeds
- Green chilies
- Ginger
- Turmeric powder
- Red chili powder
- Coriander powder
- Fresh coriander leaves
- Salt
- Oil
Funktionskald gør det muligt for AI at aktivere funktioner med de relevante parametre i den korrekte rækkefølge. LLM kan iterativt kalde funktioner for at imødekomme brugerens behov. Dette gøres via en feedbackløkke, hvor AI'en kan kalde en funktion, kontrollere resultatet og derefter beslutte, hvad der skal gøres.
Indstillingen AutoInvokeKernelFunctions kalder automatisk de nødvendige plug-ins for at køre prompten, hvilket gør dit program dynamisk og robust med mindre kode. Denne funktion kan hjælpe dig med at oprette mere komplekse programmer, der kan håndtere en række forskellige scenarier.