Sider.ai
  • Vestlus
  • Wisebase
  • Tööriistad
  • Laiendus
  • Kliendid
  • Hinnakujundus
Lae alla nüüd
Logi sisse

Õpi kiiremini, mõtle sügavamalt ja kasva targemaks koos Sideriga.

Tooted
Rakendused
  • Laiendused
  • iOS
  • Android
  • Mac OS
  • Windows
Wisebase
  • Wisebase
  • Deep Research
  • Scholar Research
  • Math Solver
  • Rec NoteNew
  • Audio To Text
  • Gamified Learning
  • Interactive Reading
  • ChatPDF
Tööriistad
  • Veebi loojaNew
  • AI slaididNew
  • AI essee kirjutaja
  • Nano Banana Pro
  • Nano Banana Infographic
  • AI pildigeneraator
  • Itaalia Ajupööramise Generaator
  • Tausta eemaldaja
  • Tausta muutja
  • Foto kustutaja
  • Teksti eemaldaja
  • Inpaint
  • Pildi suurendaja
  • Loo
  • AI tõlkija
  • Pildi tõlkija
  • PDF tõlkija
Sider
  • Võta meiega ühendust
  • Abikeskus
  • Laadi alla
  • Hinnakujundus
  • Hariduskava
  • Mis on uut
  • Blogi
  • Kogukond
  • Partnerid
  • Partnerlus
  • Kutsu
©2026 Kõik õigused kaitstud
Kasutustingimused
Privaatsuspoliitika
  • Koduleht
  • Blogi
  • AI Tööriistad
  • Kuidas kasutada Semantic Kernel'i: Praktiline juhend näidete, viipade ja pluginatega

Kuidas kasutada Semantic Kernel'i: Praktiline juhend näidete, viipade ja pluginatega

Uuendatud 24. sept 2025

9 min


Kuidas kasutada Semantic Kernel'it: praktiline juhend mustrite, viipade ja pluginatega

Oled sa kunagi proovinud LLM-i oma rakendusega kokku liimida ja lõpetanud hapra viipade, abifunktsioonide ja olekute sasipuntraga? Semantic Kernel (SK) on loodud just selle probleemi lahendamiseks. See on Microsofti kergekaaluline avatud lähtekoodiga orkestreerimisraamistik tehisintellektipõhiste rakenduste ehitamiseks, mis ühendavad loomuliku keele, tööriistad ja mälu – ilma et sinu koodibaas muutuks viipade spagetikausiks.
Selles juhendis teeme praktilise, lahendustele orienteeritud ringkäigu, kuidas kasutada Semantic Kernel'it nullist tootmismustriteni. Sa õpid, kuidas struktureerida viipasid, ühendada tööriistu, lisada mälu, kutsuda mitut mudelit ja juurutada agente, kes tegutsevad järjepidevalt. Hoiame näited praktilistena ja näitame sulle, mis on oluline.

Mis on Semantic Kernel – ja miks seda kasutada?

Semantic Kernel on SDK, mis aitab sind:
  • Komponendi viipasid ja funktsioone ("oskused"/pluginad) torujuhtmetesse.
  • Kutsuda mitut mudelit (OpenAI, Azure OpenAI, kohalikud mudelid) vaheldumisi.
  • Lisada mälu konteksti ja pikaajalise meeldetuletuse jaoks manustamise kaudu.
  • Planeerida ja orkestreerida mitmeastmelisi ülesandeid usaldusväärse olekuga.
  • Integreerida tööriistu (API-d, andmebaasid, faili I/O) ohutult ja deterministlikult.
Mõtle SK-le kui kontrollerile, mis koordineerib LLM-e, sinu rakenduse loogikat ja kasutajaandmeid. Selle asemel, et kõvasti kodeerida pikki viipasid ja ad hoc tööriistakutseid, määratled sa korduskasutatavad semantilised funktsioonid ja natiivsed funktsioonid selgete sisendite/väljunditega.
Levinud kasutusjuhud:
  • Klienditoe abilised koos otsinguga täiendatud genereerimisega (RAG)
  • Töövoo agendid (võta kokku → klassifitseeri → tegutse)
  • Dokumentide küsimused ja vastused mälu ja tsitaatidega
  • Loovsisu ja koodi genereerimise torujuhtmed

Kiire algus: sinu esimene Semantic Kernel'i rakendus

Allpool on minimaalne voog, mis näitab, kuidas kasutada Semantic Kernel'it vestlusmudeli ja lihtsa viipaga. Kasutame selguse huvides C#-i; sa saad sama teha Pythonis või Javas.

1) Installi paketid

# .NET
dotnet add package Microsoft.SemanticKernel
# Valikuline: konnektorid ja planeerijad varieeruvad versiooniti

2) Konfigureeri tuum ja mudel

using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
var builder = Kernel.CreateBuilder;
// Vali oma pakkuja: OpenAI või Azure OpenAI
builder.AddOpenAIChatCompletion(
modelId: "gpt-4o-mini", // või sinu eelistatud mudel
apiKey: Environment.GetEnvironmentVariable("OPENAI_API_KEY")
);
var kernel = builder.Build;

3) Määra semantiline funktsioon (viip)

using Microsoft.SemanticKernel.SemanticFunctions;
var prompt = @"Sa oled lühike seletaja.
Seleta mõiste '{topic}' 3 punktina algajale.";
var explainFunc = kernel.CreateFunctionFromPrompt(prompt);
var result = await explainFunc.InvokeAsync(kernel, new { ["topic"] = "vektormanustused" });
Console.WriteLine(result);
See on tuum: tuum, mudel ja viip, mis on muudetud korduskasutatavaks funktsiooniks sisenditega.

Semantilised funktsioonid vs. natiivsed funktsioonid

  • Semantilised funktsioonid: Viibapõhised. Sa lood need mallidest, edastad muutujaid ja saad teksti või struktureeritud väljundeid.
  • Natiivsed funktsioonid: Tavapärased koodifunktsioonid, mida SK LLM-ile tööriistade kasutamiseks eksponeerib.
Näide natiivsest funktsioonist, mis toob ilma sinu API-st ja eksponeerib selle mudelile:
public class WeatherPlugin
{
[KernelFunction, Description("Hangi linna ilm")]
public async Task<string> GetWeatherAsync(
[Description("Linna nimi")] string city)
{
// Kutsu oma ilmateenuse API siin
var temp = 22; // kohatäide
return $"Ilm linnas {city}: {temp}°C ja selge";
}
}
// Registreeri plugin
var weather = new WeatherPlugin;
kernel.Plugins.AddFromObject(weather, pluginName: "weather");
Nüüd saavad sinu viipad kutsuda weather.GetWeatherAsync kui tööriista, võimaldades mudelil maandada vastused tegelike andmetega.

Viipamustrid, mis tegelikult töötavad

Kui õpid, kuidas kasutada Semantic Kernel'it, tulevad kiireimad võidud distsiplineeritud viipamustritest:
  • Süsteem-esimene: Kasuta tugevat süsteemisõnumit, et lukustada toon, isik, ohutus ja väljundvorming.
  • Muutujapesad: Nimeta kohatäited selgelt (nt {topic}, {audience}) ja valideeri sisend.
  • Väljundlepingud: Küsi struktureeritud vorminguid nagu JSON; lisa viipasse skeem.
  • Vähe-kaadriline: Paku lühikesi näiteid stiili ja vormingu jaoks, mitte sisu paisutamiseks.
  • Piirded: Lisa piiranguid (“Kui andmed puuduvad, esita kõigepealt selgitav küsimus”).
Näide struktureeritud viipast SK sees:
var prompt = @"
Sa oled klassifitseerimismootor.
Ülesanne: klassifitseeri `sõnum` ühte [Arveldamine, Tehniline tugi, Müük].
Tagasta range JSON: { \"label\": string, \"confidence\": number }
sõnum: {message}
";
var classify = kernel.CreateFunctionFromPrompt(prompt);
var output = await classify.InvokeAsync(kernel, new { ["message"] = "Ma ei saa oma kontole sisse logida." });
Console.WriteLine(output); // {"label":"Tehniline tugi","confidence":0.89}

Mälu lisamine: manustamine, RAG ja konteksti aknad

LLM-id unustavad. Mälu muudab need kasulikuks.
  • Lühiajaline kontekst: Automaatne vestluse ajaloo kaudu.
  • Pikaajaline mälu: Salvesta kasutaja märkmete, dokumentide või sündmuste manustamised ja too konteksti jaoks asjakohased tükid.
  • RAG: Enne genereerimisfunktsiooni kutsumist päri oma vektoripoodi ja süsti tulemused viipasse.
Näide: lisa tekstmälu manustamiste abil ja too kontekst.
using Microsoft.SemanticKernel.Memory;
var memory = new MemoryBuilder
.WithMemoryStore(new VolatileMemoryStore) // vaheta vektor-DB vastu (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: "Kliendid saavad taotleda tagasimakset 30 päeva jooksul alates ostukuupäevast koos ostutšeki esitamisega."
);
// Hiljem: too ja topi viipasse
var results = memory.SearchAsync("tagasimakse aken", collection: "policies", limit: 3, minRelevanceScore: 0.7);
await foreach (var item in results)
{
Console.WriteLine($"Asjakohane: {item.Metadata.Text}");
}
Seejärel sööda parimad vasted oma semantilisse funktsiooni kontekstimuutujatena. Vihje: hoia tükid väikesed (200–400 märki) ja eemalda duplikaadid.

Tööriistade kasutamine ja planeerimine: mitmeastmelised töövoogud

Semantic Kernel toetab planeerijaid, mis saavad kasutaja eesmärgi jagada sammudeks ja valida, milliseid funktsioone kutsuda. See on ideaalne, kui sul on natiivsete ja semantiliste funktsioonide tööriistakomplekt.
Muster:
  1. Kogu kasutajalt eesmärk ja piirangud.
  1. Koosta plaan (funktsioonikõnede jada argumentidega).
  1. Täida samm-sammult, kontrolli väljundeid ja taastu vigadest.
Pseudokoodi näide:
// 1) Määra pluginad (semantiline + natiivne) nagu varem
// 2) Kasuta planeerijat (API pind võib versiooniti erineda)
var goal = "Võta lisatud poliitika kokku, klassifitseeri risk ja saada aruanne e-postiga";
// Eeldame, et meil on pluginad: failid, võta kokku, klassifitseeri, saada e-post
// Planeerija koostab plaani: files.Load → summarize.Run → classify.Run → email.Send
// Täida plaan järjestikku, valideeri JSON-väljundeid sammude vahel
Parimad praktikad:
  • Tee sammud idempotentseteks ja testitavateks.
  • Määra sammude vahel selged väljundskeemid.
  • Kasuta võrgutööriistade puhul uuesti proovimisi/tagasiastumist.
  • Logi sisendeid/väljundeid jälgitavuse jaoks (aga puhasta PII).

Mitme mudeli strateegia: vali töö jaoks õige mudel

Kasutades Semantic Kernel'it, saad suunata ülesandeid erinevatele mudelitele:
  • Kiired mustandid → väikesed, odavad mudelid
  • Arutlusmahukad sammud → suuremad mudelid
  • Manustamised → spetsiaalne manustamismudel
  • Kood → koodi jaoks optimeeritud mudelid
Praktikas:
var kernel = Kernel.CreateBuilder
.AddOpenAIChatCompletion("gpt-4o-mini", apiKey)
.Build;
var fastKernel = Kernel.CreateBuilder
.AddOpenAIChatCompletion("gpt-4o-mini", apiKey) // kiiruse jaoks optimeeritud
.Build;
// Suuna lihtsamad viipad fastKernelile; keerulised ülesanded kernelile
Või konfigureeri mitu teenust samas tuumas ja vali funktsiooni kohta.

Prototüübist tootmisse: piirded ja testimine

Kui õpid, kuidas kasutada Semantic Kernel'it reaalsetes rakendustes, on usaldusväärsus oluline:
  • Skeem-esimesed väljundid: Kasuta JSON-skeeme ja TryParse väravaid.
  • Deterministlikkus, kui vaja: Määra madal temperatuur ja piira väljundeid.
  • Ohutusfiltrid: Lisa sisufiltrid ja punase meeskonna viipad.
  • Vahemällu salvestamine: Salvesta RAG-i tulemused ja stabiilsed genereerimised vahemällu.
  • Jälgitavus: Logi viipamallid, muutujad, latentsus, märgi kasutamine.
  • Ühikutestid: Kuldsete testviipade hetkvõrdlused.
Näide: valideeri JSON-väljund.
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; }
}

Reaalse maailma mustrid, mida saad taaskasutada

  • RAG Chatbot: too(kontekst) → vasta(küsimus, kontekst) koos tsitaatidega.
  • Kinnitamise töövoogud: klassifitseeri → genereeri mustand → inimese ülevaatus → saada.
  • Sisu toimingud: visanda → koosta mustand → kontrolli fakte → kohanda tooni → avalda.
  • Agent tööriistadega: calendar.lookup, docs.search, email.send; planeerimise ja mäluga.
Vihje: kapselda iga samm funktsioonina (semantiline või natiivne) ja koosta need torujuhtmetesse.

Näide: dokumentide küsimused ja vastused tsitaatidega

Ühendame lihtsa küsimuste ja vastuste torujuhtme, mis tsiteerib allikaid RAG-i abil.
// 1) Sisesta dokumendid mällu
await memory.SaveInformationAsync("handbook", "vacation-policy",
"Töötajad koguvad 1,5 päeva PTO-d kuus ja saavad üle kanda 5 päeva.");
// 2) Too küsimuse jaoks kontekst
var top = memory.SearchAsync("kanna üle PTO", "handbook", limit: 3, minRelevanceScore: 0.75);
var contexts = new List<string>;
await foreach (var r in top) contexts.Add(r.Metadata.Text);
// 3) Küsi koos kontekstiga ja taotle tsitaate
var qaPrompt = @"
Sa vastad rangelt esitatud kontekstist. Kui puudub, siis ütle, et sa ei tea.
Lisa reasisesed tsitaadid nagu [allikas i], kasutades kontekstüksuste indeksit alates 1.
Kontekst:
1) {{ctx1}}
2) {{ctx2}}
Küsimus: {{q}}
";
var qa = kernel.CreateFunctionFromPrompt(qaPrompt);
var variables = new KernelArguments
{
["ctx1"] = contexts.ElementAtOrDefault(0) ?? "",
["ctx2"] = contexts.ElementAtOrDefault(1) ?? "",
["q"] = "Mitu PTO päeva ma saan üle kanda?"
};
var answer = await qa.InvokeAsync(kernel, variables);
Console.WriteLine(answer);

Levinud vead (ja kuidas neid vältida)

  • Üks hiiglaslik viip: Jaga funktsioonideks; edasta ainult vajalik kontekst.
  • Väljundlepingud puuduvad: Määra alati masinloetavate sammude skeemid.
  • RAG ilma hügieenita: Tükelda hästi, eemalda duplikaadid ja järjestage asjakohasuse ja hiljutisuse järgi.
  • Tööriistade vohamine: Hoia pluginate liidesed väikesed ja dokumenteeritud.
  • Inimene-ahelas puudub: Lisa kõrge riskiga toimingute jaoks kinnitused.

Kuidas kasutada Semantic Kernel'it esikülgedega

  • Veebirakendused: Majuta oma SK orkestreerimist API kihis; voogedasta märke kasutajaliidesesse.
  • Vestluse kasutajaliidesed: Säilita vestluse olek serveripoolel; kärbi ja võta kokku.
  • Autentimine: Isikustamiskindlad kõned – ära lase mudelil kunagi märke vermida. Värava tööriistakõned läbi oma taustaprogrammi.

Juurutamise kontrollnimekiri

  • Keskkonnamuutujad võtmete ja lõpp-punktide jaoks
  • Määra piirangud ja uuesti proovimised mudeli/tööriistakõnede jaoks
  • Viipamalli lähtekoodi kontroll
  • Vektoripoe varukoopiad ja PII käsitlemine
  • Jälgitavuse armatuurlauad (latentsus, kulu, vead)
  • A/B testimine viipade ja marsruutimise jaoks

KKK-stiilis tõrkeotsing

  • “Mudel hallutsineerib isegi RAG-iga.” Pinguta juhiseid: "Vasta ainult kontekstist" ja lisa keeldumise näide. Suurenda otsingu spetsiifilisust ja vähenda temperatuuri.
  • “JSON läheb pidevalt katki.” Lisa väike näide kehtivast JSON-ist ja keela kommentaarid. Järelvalideeri ja ümbersõnasta ebaõnnestumise korral.
  • “Latentsus on kõrge.” Too vähem, asjakohasemaid tükke; lülita lihtsad sammud väiksematele mudelitele; paralleelista sõltumatuid samme.
  • “Kulud kasvavad hüppeliselt.” Salvesta vahemällu, tihenda konteksti ja suuna lihtsad ülesanded odavamatele mudelitele.

Väärib märkimist: ehita kiiremini Sider.AI-ga

Kui sa prototüpeerid viipasid, testid tööriistavooge või võrdled vastuseid erinevate mudelite vahel, võib kaaslane nagu Sider.ai kiirendada iteratsiooni. Sa saad koostada viipasid, käivitada A/B võrdlusi ja jäädvustada korduskasutatavaid fragmente enne nende teisaldamist Semantic Kernel'i mallidesse – suurepärane juhiste ja väljundskeemide teravdamiseks.

Järgmised sammud: muuda see töötavaks agendiks

  • Alusta ühe selge ülesandega (nt toetuse e-kirjade klassifitseerimine).
  • Määra semantilised/natiivsed funktsioonid rangete sisendite/väljunditega.
  • Lisa mälu ainult siis, kui see vastuseid mõõdetavalt parandab.
  • Instrueeri kõike; testi reaalse maailma näidistega.
  • Itereeri viipasid liivakasti abil, seejärel kodifitseeri SK-s.
Peamised järeldused:
  • Semantic Kernel aitab sul koostada viipasid, tööriistu ja mälu usaldusväärseteks töövoogudeks.
  • Kasuta väljundskeeme, planeerijaid ja mitme mudeli marsruutimist vastupidavuse ja kulude kontrolli jaoks.
  • RAG pluss piirded ületavad hiiglaslikke viipasid iga kord.
Kui sa valdad, kuidas kasutada Semantic Kernel'it nende mustritega, saad sa tehisintellekti funktsioone, mis ei ole lihtsalt muljetavaldavad demod – vaid usaldusväärsed süsteemid.

KKK

Q1: Milleks kasutatakse Semantic Kernel'it tehisintellekti rakendustes? Semantic Kernel on orkestreerimise SDK tehisintellekti töövoogude ehitamiseks, mis ühendavad LLM-i viipasid, tööriistu (natiivsed funktsioonid) ja mälu. See aitab sul struktureerida ülesandeid, lisada RAG-i ja kutsuda mitut mudelit usaldusväärselt.
Q2: Kuidas ma saan kasutada Semantic Kernel'it RAG-i jaoks oma dokumentidega? Sisesta oma dokumendid vektoripoodi SK mälu API-de kaudu, seejärel too kõige asjakohasemad tükid päringu kohta ja süsti need oma viipasse. See parandab täpsust ja vähendab hallutsinatsioone.
Q3: Kas Semantic Kernel saab kutsuda väliseid API-sid ja teenuseid? Jah. Mässi API-d pluginas natiivsete funktsioonidena ja registreeri need tuumaga, et mudel saaks neid tööriistadena kasutada. Hoia liidesed väikesed ja jõusta sisend-/väljundvalideerimine.
Q4: Millised mudelid töötavad Semantic Kernel'iga? Semantic Kernel toetab OpenAI-d, Azure OpenAI-d ja muid konnektoreid. Sa saad suunata ülesandeid erinevatele mudelitele – näiteks väiksemad mudelid mustandite jaoks ja suuremad mudelid arutlusmahukate sammude jaoks.
Q5: Kuidas ma saan muuta Semantic Kernel'i väljundid järjepidevaks (nt JSON)? Kasuta struktureeritud viipasid, mis nõuavad ranget JSON-i ja sisaldavad minimaalset näidet või skeemi. Määra madal temperatuur, valideeri väljundid pärast kõnet ja proovi uuesti või paranda, kui parsimine ebaõnnestub.

Viimased artiklid
Kuidas valitseda ChatPDF-i: Kiirem ülevaade mahukatest dokumentidest

Kuidas valitseda ChatPDF-i: Kiirem ülevaade mahukatest dokumentidest

Parim X automaatse tõlke alternatiiv kiirete ja täpsete dokumentide jaoks

Parim X automaatse tõlke alternatiiv kiirete ja täpsete dokumentide jaoks

Samsungi tehisintellekti tõlge ei ole Iraanis saadaval? Praktilised lahendused

Samsungi tehisintellekti tõlge ei ole Iraanis saadaval? Praktilised lahendused

Pärsia tõlkete tööriistad: praktiline juhend kiirema ja täpsema töö jaoks

Pärsia tõlkete tööriistad: praktiline juhend kiirema ja täpsema töö jaoks

Parim Groki alternatiiv põhjalikuks ja viidatud uurimistööks

Parim Groki alternatiiv põhjalikuks ja viidatud uurimistööks

AI pildigeneraatori 15 parimat funktsiooni, mida sa tegelikult kasutad

AI pildigeneraatori 15 parimat funktsiooni, mida sa tegelikult kasutad