Sider.ai
  • Chat
  • Wisebase
  • Hulpmiddelen
  • Verlenging
  • Klanten
  • Prijzen
Download nu
Log in

Leer sneller, denk dieper en groei slimmer met Sider.

Producten
Apps
  • Extensies
  • iOS
  • Android
  • Mac OS
  • Windows
Wisebase
  • Wisebase
  • Deep Research
  • Scholar Research
  • Math Solver
  • Rec NoteNew
  • Audio To Text
  • Gamified Learning
  • Interactive Reading
  • ChatPDF
Tools
  • WebmakerNew
  • AI Dia'sNew
  • AI Essay Schrijver
  • Nano Banana Pro
  • Nano Banana Infographic
  • AI Afbeelding Generator
  • Italiaans Brainrot Generator
  • Achtergrond Verwijderaar
  • Achtergrond Wisselaar
  • Foto Gum
  • Tekst Verwijderaar
  • Inpaint
  • Afbeelding Upscaler
  • Creëren
  • AI Vertaler
  • Afbeelding Vertaler
  • PDF Vertaler
Sider
  • Neem contact op
  • Helpcentrum
  • Download
  • Prijzen
  • Onderwijsplan
  • Wat is nieuw
  • Blog
  • Gemeenschap
  • Partners
  • Affiliate
  • Uitnodigen
©2026 Alle rechten voorbehouden
Gebruiksvoorwaarden
Privacybeleid
  • Startpagina
  • Bloggen
  • AI Tools
  • Semantic Kernel gebruiken: Een praktische handleiding met patronen, prompts en plugins

Semantic Kernel gebruiken: Een praktische handleiding met patronen, prompts en plugins

Bijgewerkt op 24 sep 2025

9 min


Hoe Semantic Kernel te gebruiken: Een praktische gids met patronen, prompts en plugins

Heb je ooit geprobeerd een LLM aan je app te koppelen en geëindigd met een breekbare wirwar van prompts, helperfuncties en state? Semantic Kernel (SK) is er om dat probleem op te lossen. Het is een lichtgewicht, open-source orchestration framework van Microsoft voor het bouwen van AI-first apps die natuurlijke taal, tools en geheugen combineren—zonder je codebase in een prompt-spaghetti te veranderen.
In deze gids nemen we een praktische, oplossingsgerichte tour van hoe je Semantic Kernel kunt gebruiken, van nul tot productiepatronen. Je leert hoe je prompts structureert, tools aansluit, geheugen toevoegt, meerdere modellen aanroept en agents implementeert die consistent handelen. We houden de voorbeelden praktisch en laten je zien wat belangrijk is.

Wat is Semantic Kernel—en waarom zou je het gebruiken?

Semantic Kernel is een SDK die je helpt om:
  • Prompts en functies ("skills"/plugins) samen te stellen tot pipelines.
  • Meerdere modellen (OpenAI, Azure OpenAI, lokale modellen) onderling verwisselbaar aan te roepen.
  • Geheugen toe te voegen voor context en langdurige herinnering via embeddings.
  • Multi-step taken te plannen en orkestreren met betrouwbare state.
  • Tools te integreren (API's, databases, file I/O) veilig en deterministisch.
Beschouw SK als de controller die LLM's, je app-logica en gebruikersdata coördineert. In plaats van lange prompts en ad hoc tool-aanroepen hard te coderen, definieer je herbruikbare semantic functions en native functions met duidelijke inputs/outputs.
Gebruikelijke use cases:
  • Customer support copilots met retrieval-augmented generation (RAG)
  • Workflow agents (samenvatten → classificeren → actie ondernemen)
  • Document Q&A met geheugen en citaten
  • Creatieve content en code generatie pipelines

Snelle start: Je eerste Semantic Kernel App

Hieronder staat een minimale flow om te laten zien hoe je Semantic Kernel gebruikt met een chatmodel en een simpele prompt. We gebruiken C# voor de duidelijkheid; je kunt hetzelfde doen in Python of Java.

1) Installeer packages

# .NET
dotnet add package Microsoft.SemanticKernel
# Optioneel: connectors en planners variëren per versie

2) Configureer de kernel en het model

using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
var builder = Kernel.CreateBuilder;
// Kies je provider: OpenAI of Azure OpenAI
builder.AddOpenAIChatCompletion(
modelId: "gpt-4o-mini", // of je voorkeursmodel
apiKey: Environment.GetEnvironmentVariable("OPENAI_API_KEY")
);
var kernel = builder.Build;

3) Definieer een semantic function (prompt)

using Microsoft.SemanticKernel.SemanticFunctions;
var prompt = @"Je bent een beknopte uitlegger.
Leg het concept '{topic}' uit in 3 opsommingstekens voor een beginner.";
var explainFunc = kernel.CreateFunctionFromPrompt(prompt);
var result = await explainFunc.InvokeAsync(kernel, new { ["topic"] = "vector embeddings" });
Console.WriteLine(result);
Dit is de kern: een kernel, een model en een prompt omgezet in een herbruikbare functie met inputs.

Semantic Functions vs. Native Functions

  • Semantic functions: Aangedreven door prompts. Je maakt ze van templates, geeft variabelen door en krijgt tekst of gestructureerde outputs.
  • Native functions: Reguliere codefuncties die SK blootstelt aan de LLM voor toolgebruik.
Voorbeeld van een native function die het weer ophaalt van je API en het blootstelt aan het model:
public class WeatherPlugin
{
[KernelFunction, Description("Get weather for a city")]
public async Task<string> GetWeatherAsync(
[Description("City name")] string city)
{
// Call your weather API here
var temp = 22; // placeholder
return $"Weather in {city}: {temp}°C and clear";
}
}
// Register plugin
var weather = new WeatherPlugin;
kernel.Plugins.AddFromObject(weather, pluginName: "weather");
Nu kunnen je prompts weather.GetWeatherAsync aanroepen als een tool, waardoor het model antwoorden kan baseren op echte data.

Prompt-patronen die echt werken

Bij het leren hoe je Semantic Kernel gebruikt, komen de snelste successen van gedisciplineerde prompt-patronen:
  • System-first: Gebruik een sterke system message om tone, persona, veiligheid en output format vast te leggen.
  • Variable slots: Benoem placeholders duidelijk (bijv. {topic}, {audience}) en valideer input.
  • Output contracts: Vraag om gestructureerde formaten zoals JSON; voeg een schema toe in de prompt.
  • Few-shot: Geef beknopte voorbeelden voor stijl en format, geen content bloat.
  • Guardrails: Voeg constraints toe (“Als data ontbreekt, stel eerst een verhelderende vraag”).
Voorbeeld van een gestructureerde prompt binnen SK:
var prompt = @"
Je bent een classificatie-engine.
Taak: Classificeer het `bericht` in een van [Billing, Tech Support, Sales].
Retourneer strikte JSON: { \"label\": string, \"confidence\": number }
bericht: {message}
";
var classify = kernel.CreateFunctionFromPrompt(prompt);
var output = await classify.InvokeAsync(kernel, new { ["message"] = "Ik kan niet inloggen op mijn account." });
Console.WriteLine(output); // {"label":"Tech Support","confidence":0.89}

Geheugen toevoegen: Embeddings, RAG en Context Windows

LLM's vergeten. Geheugen maakt ze nuttig.
  • Kortetermijncontext: Automatisch via conversatiegeschiedenis.
  • Langetermijngeheugen: Sla embeddings op van gebruikersnotities, documenten of events en haal relevante chunks op voor context.
  • RAG: Voordat je een generatiefunctie aanroept, query je je vector store en injecteer je resultaten in de prompt.
Voorbeeld: tekstgeheugen toevoegen met embeddings en context ophalen.
using Microsoft.SemanticKernel.Memory;
var memory = new MemoryBuilder
.WithMemoryStore(new VolatileMemoryStore) // swap for a vector DB (Qdrant, Pinecone, Azure AI Search)
.WithTextEmbeddingGeneration(
new OpenAITextEmbeddingGeneration("text-embedding-3-small", Environment.GetEnvironmentVariable("OPENAI_API_KEY")))
.Build;
await memory.SaveInformationAsync(
collection: "policies", id: "refund-policy",
text: "Customers can request a refund within 30 days of purchase with proof of receipt."
);
// Later: retrieve and stuff into prompt
var results = memory.SearchAsync("refund window", collection: "policies", limit: 3, minRelevanceScore: 0.7);
await foreach (var item in results)
{
Console.WriteLine($"Relevant: {item.Metadata.Text}");
}
Voer vervolgens de topmatches in je semantic function als contextvariabelen. Tip: houd chunks klein (200–400 tokens) en dedupliceer.

Toolgebruik en Planning: Multi-Step Workflows

Semantic Kernel ondersteunt planners die een gebruikersdoel in stappen kunnen opsplitsen en kiezen welke functies aan te roepen. Dit is perfect als je een toolbox hebt met native en semantic functions.
Patroon:
  1. Verzamel doel en constraints van de gebruiker.
  1. Stel een plan op (reeks functieaanroepen met argumenten).
  1. Voer stap voor stap uit, verifieer outputs en herstel van fouten.
Pseudocode voorbeeld:
// 1) Definieer plugins (semantic + native) zoals voorheen
// 2) Gebruik een planner (API surface kan variëren per versie)
var goal = "Vat het bijgevoegde beleid samen, classificeer risico en e-mail een rapport";
// Stel dat we plugins hebben: files, summarize, classify, email
// Planner zal een plan samenstellen: files.Load → summarize.Run → classify.Run → email.Send
// Voer het plan sequentieel uit, valideer JSON-outputs tussen stappen
Best practices:
  • Maak stappen idempotent en testbaar.
  • Stel expliciete output schema's in tussen stappen.
  • Gebruik retries/backoff op networked tools.
  • Log inputs/outputs voor observability (maar scrub PII).

Multi-Model Strategie: Kies het juiste model voor de job

Met Semantic Kernel kun je taken naar verschillende modellen routeren:
  • Snelle concepten → kleine, goedkope modellen
  • Redeneer-intensieve stappen → grotere modellen
  • Embeddings → gespecialiseerd embedding model
  • Code → code-geoptimaliseerde modellen
In de praktijk:
var kernel = Kernel.CreateBuilder
.AddOpenAIChatCompletion("gpt-4o-mini", apiKey)
.Build;
var fastKernel = Kernel.CreateBuilder
.AddOpenAIChatCompletion("gpt-4o-mini", apiKey) // speed-optimized
.Build;
// Routeer eenvoudigere prompts naar fastKernel; complexe taken naar kernel
Of configureer meerdere services in dezelfde kernel en selecteer per functie.

Van Prototype naar Productie: Guardrails en Testing

Als je leert hoe je Semantic Kernel in echte apps gebruikt, is betrouwbaarheid belangrijk:
  • Schema-first outputs: Gebruik JSON schema's en TryParse gates.
  • Determinisme indien nodig: Stel de temperatuur laag in en beperk outputs.
  • Safety filters: Voeg content filters en red-team prompts toe.
  • Caching: Cache RAG-resultaten en stabiele generaties.
  • Observability: Log prompt templates, variabelen, latency, token usage.
  • Unit tests: Golden test prompts met snapshot vergelijkingen.
Voorbeeld: valideer JSON output.
record Classification(string label, double confidence);
bool TryParseClassification(string text, out Classification cls)
{
try { cls = System.Text.Json.JsonSerializer.Deserialize<Classification>(text)!; return true; }
catch { cls = default!; return false; }
}

Real-World Patronen die je kunt hergebruiken

  • RAG Chatbot: retrieve(context) → answer(question, context) met citaten.
  • Approval workflows: classify → generate draft → human review → send.
  • Content ops: outline → draft → fact-check → tone adjust → publish.
  • Agent met tools: calendar.lookup, docs.search, email.send; met planning en geheugen.
Tip: Encapsuleer elke stap als een functie (semantic of native) en stel ze samen in pipelines.

Voorbeeld: Document Q&A met Citaten

Laten we een simpele Q&A pipeline aansluiten die bronnen citeert met behulp van RAG.
// 1) Ingest docs in geheugen
await memory.SaveInformationAsync("handbook", "vacation-policy",
"Employees accrue 1.5 days of PTO per month and can carry over 5 days.");
// 2) Haal context op voor een vraag
var top = memory.SearchAsync("carry over PTO", "handbook", limit: 3, minRelevanceScore: 0.75);
var contexts = new List<string>;
await foreach (var r in top) contexts.Add(r.Metadata.Text);
// 3) Stel een vraag met context en vraag om citaten
var qaPrompt = @"
Je antwoordt strikt vanuit de verstrekte context. Als er iets ontbreekt, zeg dan dat je het niet weet.
Voeg inline citaten toe zoals [bron i] met behulp van de index van context items, beginnend bij 1.
Context:
1) {{ctx1}}
2) {{ctx2}}
Question: {{q}}
";
var qa = kernel.CreateFunctionFromPrompt(qaPrompt);
var variables = new KernelArguments
{
["ctx1"] = contexts.ElementAtOrDefault(0) ?? "",
["ctx2"] = contexts.ElementAtOrDefault(1) ?? "",
["q"] = "How many PTO days can I carry over?"
};
var answer = await qa.InvokeAsync(kernel, variables);
Console.WriteLine(answer);

Veelvoorkomende valkuilen (en hoe ze te vermijden)

  • Enkele gigantische prompt: Splits op in functies; geef alleen de context door die je nodig hebt.
  • Geen output contracts: Definieer altijd schema's voor machine-leesbare stappen.
  • RAG zonder hygiëne: Chunk goed, dedupliceer en rangschik op relevantie en recentheid.
  • Tool sprawl: Houd plugin interfaces klein en gedocumenteerd.
  • Geen human-in-the-loop: Voeg approvals toe voor acties met een hoog risico.

Hoe Semantic Kernel te gebruiken met Frontends

  • Web apps: Host je SK orchestration in een API-laag; stream tokens naar de UI.
  • Chat UIs: Behoud conversatie state server-side; prune en vat samen.
  • Auth: Impersonation-safe calls—laat het model nooit tokens minten. Gate tool calls via je backend.

Deployment Checklist

  • Omgevingsvariabelen voor keys en endpoints
  • Rate limiting en retries voor model/tool aanroepen
  • Prompt template source control
  • Vector store back-ups en PII handling
  • Observability dashboards (latency, kosten, fouten)
  • A/B testing voor prompts en routing

FAQ-Style Troubleshooting

  • “Het model hallucineert, zelfs met RAG.” Verscherp instructies: "Antwoord alleen vanuit context" en voeg een weigeringsvoorbeeld toe. Verhoog de retrieval specificiteit en verlaag de temperatuur.
  • “JSON blijft breken.” Voeg een mini-voorbeeld van geldige JSON toe en verbied commentaar. Post-valideer en herformuleer bij falen.
  • “Latency is hoog.” Haal minder, meer relevante chunks op; schakel eenvoudige stappen over naar kleinere modellen; paralleliseer onafhankelijke stappen.
  • “Kosten lopen op.” Cache, comprimeer context en routeer eenvoudige taken naar goedkopere modellen.

Het vermelden waard: Bouw sneller met Sider.AI

Als je prompts aan het prototypen bent, tool flows aan het testen bent of responses over modellen aan het vergelijken bent, kan een companion zoals Sider.ai de iteratie versnellen. Je kunt prompts opstellen, A/B vergelijkingen uitvoeren en herbruikbare snippets vastleggen voordat je ze naar Semantic Kernel templates verplaatst—geweldig voor het aanscherpen van instructies en output schema's.

Volgende stappen: Maak hier een werkende Agent van

  • Begin met één duidelijke taak (bijv. support e-mails classificeren).
  • Definieer semantic/native functions met strikte inputs/outputs.
  • Voeg alleen geheugen toe waar het antwoorden meetbaar verbetert.
  • Instrumenteer alles; test met real-world samples.
  • Itereer op prompts met behulp van een sandbox en codificeer vervolgens in SK.
Belangrijkste takeaways:
  • Semantic Kernel helpt je prompts, tools en geheugen samen te stellen tot betrouwbare workflows.
  • Gebruik output schema's, planners en multi-model routing voor robuustheid en kostenbeheersing.
  • RAG plus guardrails verslaat gigantische prompts elke keer.
Zodra je beheerst hoe je Semantic Kernel met deze patronen kunt gebruiken, zul je AI-features leveren die niet alleen indrukwekkende demo's zijn—maar betrouwbare systemen.

FAQ

Q1:Waar wordt Semantic Kernel voor gebruikt in AI-apps? Semantic Kernel is een orchestration SDK voor het bouwen van AI-workflows die LLM-prompts, tools (native functions) en geheugen combineren. Het helpt je taken te structureren, RAG toe te voegen en meerdere modellen betrouwbaar aan te roepen.
Q2:Hoe gebruik ik Semantic Kernel voor RAG met mijn documenten? Ingest je documenten in een vector store via de geheugen-API's van SK, haal vervolgens de meest relevante chunks per query op en injecteer ze in je prompt. Dit verbetert de nauwkeurigheid en vermindert hallucinaties.
Q3:Kan Semantic Kernel externe API's en services aanroepen? Ja. Wrap API's als native functions in een plugin en registreer ze bij de kernel, zodat het model ze als tools kan gebruiken. Houd interfaces klein en dwing input/output validatie af.
Q4:Welke modellen werken met Semantic Kernel? Semantic Kernel ondersteunt OpenAI, Azure OpenAI en andere connectors. Je kunt taken naar verschillende modellen routeren—bijvoorbeeld kleinere modellen voor concepten en grotere modellen voor redeneer-intensieve stappen.
Q5:Hoe maak ik Semantic Kernel outputs consistent (bijv. JSON)? Gebruik gestructureerde prompts die strikte JSON eisen en voeg een minimaal voorbeeld of schema toe. Stel een lage temperatuur in, valideer outputs post-call en probeer het opnieuw of herstel wanneer het parseren mislukt.

Recente Artikelen
Hoe je ChatPDF onder de knie krijgt: Sneller inzichten uit uitgebreide documenten

Hoe je ChatPDF onder de knie krijgt: Sneller inzichten uit uitgebreide documenten

Het beste alternatief voor X Auto-Translation voor snelle, nauwkeurige documenten

Het beste alternatief voor X Auto-Translation voor snelle, nauwkeurige documenten

Samsung AI-vertaling niet beschikbaar in Iran? Praktische oplossingen

Samsung AI-vertaling niet beschikbaar in Iran? Praktische oplossingen

Perzische vertaalt tools: een praktische gids voor sneller en nauwkeuriger werk

Perzische vertaalt tools: een praktische gids voor sneller en nauwkeuriger werk

Het beste alternatief voor Grok voor diepgaand, geciteerd onderzoek

Het beste alternatief voor Grok voor diepgaand, geciteerd onderzoek

Top 15 functies van een AI-beeldgenerator die u daadwerkelijk zult gebruiken

Top 15 functies van een AI-beeldgenerator die u daadwerkelijk zult gebruiken