- Vårt erbjudande
- Kundcase
- Insikter & Inspiration
- Om oss

Bygg kraftfulla AI-agenter med Semantic Kernel och Azure OpenAI
/ AI /
Bygg kraftfulla AI-agenter med Semantic Kernel och Azure OpenAI
Vad är AI-agenter och Semantic Kernel?
En AI-agent är en programvara som kan resonera, planera och utföra uppgifter baserat på naturligt språk. Tänk på dem som digitala assistenter – men med förmågan att integrera direkt med dina system och API:er.
Semantic Kernel är ett kraftfullt SDK från Microsoft som gör det enkelt att bygga sådana agenter i .NET. Det erbjuder:
- Enkel integration med Large Language Models (LLMs) via Azure OpenAI.
- Ett flexibelt plugin-system för att AI-agenten ska kunna utföra handlingar (actions).
- Stöd för multi-agent-samarbeten.
För att komma igång behöver du:
- Sätta upp Azure OpenAI-tjänster.
- Välja vilka modeller du vill använda, t.ex. gpt-4o eller gpt-35-turbo.
Exempel: Kom igång med Semantic Kernel
using Microsoft.SemanticKernel;
namespace MySemanticKernelApp;
public class BaseDemo
{
public async Task Run()
{
// Modell- och API-information från Azure OpenAI
var modelId = "gpt-35-turbo";
var endpoint = "https://sandbox-semantic-kernel-1.openai.azure.com/";
var apiKey = "din-api-nyckel-här";
// Skapa och konfigurera en Kernel-instans
var builder = Kernel.CreateBuilder();
builder.AddAzureOpenAIChatCompletion(modelId, endpoint, apiKey);
var kernel = builder.Build();
// Kör ett enkelt prompt-anrop
var result = await kernel.InvokePromptAsync("Be creative and tell me a funny joke about programmers");
Console.Clear();
ConsoleHelper.WritePretty(result); // Extension-metod för "snyggare" utmatning, Console.WriteLine(...) går bra med
}
}
Lägg till Plugins för att ge din agent superkrafter
Med plugins kan du låta din agent utföra riktiga åtgärder som att styra smarta hemmet, boka resor eller hantera tredjepartssystem. Plugins definieras som vanliga C#-klasser och Semantic Kernel kan automatiskt förstå deras metoder (this will blow your mind).
Exempel på hur du importerar plugins:
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
using MySemanticKernelApp.Plugins.HomePlugins;
namespace MySemanticKernelApp;
public class PluginDemo
{
public async Task Run()
{
// 🏗️ Basuppsättning av Kernel
var modelId = "gpt-4o";
var endpoint = "https://openai-sandbox-semantic-kernel-1.openai.azure.com/";
var apiKey = "din-api-nyckel-här";
var builder = Kernel.CreateBuilder();
builder.AddAzureOpenAIChatCompletion(modelId, endpoint, apiKey);
var kernel = builder.Build();
// 📦 Importera smarta hem-plugins
kernel.ImportPluginFromType();
kernel.ImportPluginFromType();
kernel.ImportPluginFromType();
// Lägg till fler plugins efter behov...
var settings = new OpenAIPromptExecutionSettings()
{
ToolCallBehavior = ToolCallBehavior.AutoInvokeKernelFunctions
};
Console.Clear();
var promptTemplate = @"
You're a smart home assistant named Jarvis.
Help the user with {{$input}}.
Use available plugins to control devices if needed.";
var prompt = "Let's prepare for a cozy dinner with friends.";
ConsoleHelper.WritePretty($"Prompt: {prompt}");
// 🧠 Agenten analyserar prompten och kallar plugins vid behov
var response = await kernel.InvokePromptAsync(
promptTemplate,
new KernelArguments(settings) { { "input", prompt } });
ConsoleHelper.WritePretty($"Response: {response}");
}
}
Lägg märke till ToolCallBehavior = ToolCallBehavior.AutoInvokeKernelFunctions. På så sätt berättar vi för Semantic Kernel och vår LLM att agenten är fri att använda våra plugins om vår LLM anser att det finns ett behov för det. 🤯
Multi-agent-samarbeten – En glimt av framtidens AI-lösningar
Multi-agent-samarbeten är fortfarande på ett tidigt experimentstadium, men potentialen är enorm. Tänk dig en framtid där olika AI-agenter inte bara hanterar uppgifter inom ett företag, utan också samarbetar över organisationsgränser för att lösa komplexa problem.
Det här handlar inte bara om att automatisera enskilda processer, utan om att skapa ekosystem där specialiserade agenter kommunicerar, förhandlar och koordinerar för att driva verksamheter framåt. Vårt demo är just ett exempel på hur detta kan se ut – men vi har bara börjat skrapa på ytan av vad som är möjligt.
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Agents;
using Microsoft.SemanticKernel.Agents.Chat;
using Microsoft.SemanticKernel.ChatCompletion;
using Microsoft.SemanticKernel.Connectors.OpenAI;
namespace MySemanticKernelApp;
public class MultiAgentDemo
{
public async Task Run()
{
var gargamel = CreateWizardworksAgent();
var amelia = CreateTravelBookingAgent();
var chat = new AgentGroupChat(gargamel, amelia)
{
ExecutionSettings = new()
{
TerminationStrategy = new PhraseTerminationStrategy("Abra-ka-finished!")
{
MaximumIterations = 10
}
}
};
await chat.ResetAsync();
var prompt = """
Hi Gargamel, we need a conference in Paris in December.
If December is unavailable, suggest another month and book a hotel.
""";
chat.AddChatMessage(new ChatMessageContent(AuthorRole.User, prompt));
Console.Clear();
ConsoleHelper.WritePretty($"[User] {prompt}");
// 🚀 Agenterna pratar nu med varandra och löser uppgiften
await foreach (var result in chat.InvokeAsync())
{
Console.ForegroundColor = result.AuthorName switch
{
"Gargamel" => ConsoleColor.Magenta,
"Amelia" => ConsoleColor.Cyan,
_ => ConsoleColor.Gray
};
Console.WriteLine($"\n[{result.AuthorName}] {result.Content}");
}
Console.ResetColor();
Console.WriteLine("\n🎉 [SYSTEM] Demo finished.");
}
}
Avslutningsvis
- Semantic Kernel gör det enkelt att bygga kraftfulla AI-agenter med C# och .NET.
- Genom att integrera med Azure OpenAI får du tillgång till de senaste modellerna.
- Plugins ger agenterna möjligheten att interagera med omvärlden.
- Med multi-agent-samarbete kan du bygga avancerade lösningar där agenter koordinerar med varandra.
