Sider.ai
  • Xat
  • Wisebase
  • Eines
  • Extensió
  • Clients
  • Preus
Descarrega ara
iniciar Sessió

Aprèn més ràpid, pensa més profundament i creix més intel·ligent amb Sider.

Productes
Aplicacions
  • Extensions
  • iOS
  • Android
  • Mac OS
  • Windows
Wisebase
  • Wisebase
  • Deep Research
  • Scholar Research
  • Math Solver
  • Rec NoteNew
  • Audio To Text
  • Gamified Learning
  • Interactive Reading
  • ChatPDF
Eines
  • Creador de llocs webNew
  • AI SlidesNew
  • Escriptor d'assajos AI
  • Nano Banana Pro
  • Nano Banana Infographic
  • Generador d'imatges AI
  • Generador de Brainrot Italià
  • Eliminador de fons
  • Canviador de fons
  • Esborrador de fotos
  • Eliminador de text
  • Repintar
  • Millorador d'imatges
  • Crear
  • Traductor AI
  • Traductor d'imatges
  • Traductor de PDF
Sider
  • Contacta'ns
  • Centre d'ajuda
  • Descarregar
  • Preus
  • Pla d'Educació
  • Què hi ha de nou
  • Blog
  • Comunitat
  • Socis
  • Afiliat
  • Convida
©2026 Tots els drets reservats
Condicions d'ús
Política de privacitat
  • Pàgina d'inici
  • Bloc
  • Eines d'IA
  • Com utilitzar Semantic Kernel: Una guia pràctica amb patrons, prompts i plugins

Com utilitzar Semantic Kernel: Una guia pràctica amb patrons, prompts i plugins

Actualitzat el 24 Set. 2025

9 min


Com utilitzar Semantic Kernel: Una guia pràctica amb patrons, i

Alguna vegada has intentat enganxar un LLM a la teva aplicació i has acabat amb un embolic fràgil de , funcions d'ajuda i estat? Semantic Kernel (SK) existeix per solucionar exactament això. És un marc d'orquestració lleuger i de codi obert de Microsoft per construir aplicacions d'IA que combinen llenguatge natural, eines i memòria, sense convertir la teva base de codi en un bol d'espaguetis de .
En aquesta guia, farem un recorregut pràctic i orientat a la solució sobre com utilitzar Semantic Kernel des de zero fins a patrons de producció. Aprendràs a estructurar , connectar eines, afegir memòria, cridar múltiples models i desplegar agents que actuïn de manera consistent. Mantindrem els exemples amb els peus a terra i et mostrarem el que importa.

Què és Semantic Kernel i per què utilitzar-lo?

Semantic Kernel és un SDK que t'ajuda a:
  • Compondre <i>prompts</i> i funcions ("skills"/) en .
  • Cridar múltiples models (OpenAI, Azure OpenAI, models locals) de manera intercanviable.
  • Afegir memòria per a context i record a llarg termini mitjançant .
  • Planificar i orquestrar tasques de múltiples passos amb un estat fiable.
  • Integrar eines (APIs, bases de dades, E/S de fitxers) de manera segura i determinista.
Pensa en SK com el controlador que coordina els LLMs, la lògica de la teva aplicació i les dades de l'usuari. En lloc de codificar llargs i crides d'eines ad hoc, defineixes funcions semàntiques reutilitzables i funcions natives amb entrades/sortides clares.
Casos d'ús comuns:
  • Copilots d'atenció al client amb generació augmentada per recuperació (RAG)
  • Agents de flux de treball (resumir → classificar → prendre mesures)
  • Q&A de documents amb memòria i citacions
  • de generació de contingut creatiu i codi

Inici ràpid: La teva primera aplicació Semantic Kernel

A continuació, es mostra un flux mínim per mostrar com utilitzar Semantic Kernel amb un model de xat i un senzill. Utilitzarem C# per claredat; pots fer el mateix en Python o Java.

1) Instal·lar paquets

# .NET
dotnet add package Microsoft.SemanticKernel
# Opcional: els connectors i els planificadors varien segons la versió

2) Configurar el i el model

using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
var builder = Kernel.CreateBuilder;
// Tria el teu proveïdor: OpenAI o Azure OpenAI
builder.AddOpenAIChatCompletion(
modelId: "gpt-4o-mini", // o el teu model preferit
apiKey: Environment.GetEnvironmentVariable("OPENAI_API_KEY")
);
var kernel = builder.Build;

3) Definir una funció semàntica ()

using Microsoft.SemanticKernel.SemanticFunctions;
var prompt = @"Ets un explicador concís.
Explica el concepte de '{topic}' en 3 punts per a un principiant.";
var explainFunc = kernel.CreateFunctionFromPrompt(prompt);
var result = await explainFunc.InvokeAsync(kernel, new { ["topic"] = "vector embeddings" });
Console.WriteLine(result);
Aquest és el nucli: un , un model i un convertit en una funció reutilitzable amb entrades.

Funcions semàntiques vs. Funcions natives

  • Funcions semàntiques: Impulsades per . Les crees a partir de plantilles, passes variables i obtens text o sortides estructurades.
  • Funcions natives: Funcions de codi regulars que SK exposa al LLM per a l'ús d'eines.
Exemple de funció nativa que obté el temps de la teva API i l'exposa al model:
public class WeatherPlugin
{
[KernelFunction, Description("Obtenir el temps per a una ciutat")]
public async Task<string> GetWeatherAsync(
[Description("Nom de la ciutat")] string city)
{
// Cridar la teva API del temps aquí
var temp = 22; // marcador de posició
return $"Temps a {city}: {temp}°C i clar";
}
}
// Registrar el
var weather = new WeatherPlugin;
kernel.Plugins.AddFromObject(weather, pluginName: "weather");
Ara els teus poden cridar weather.GetWeatherAsync com a eina, permetent que el model basi les respostes en dades reals.

Patrons de que realment funcionen

Quan aprenguis a utilitzar Semantic Kernel, les victòries més ràpides provenen de patrons de disciplinats:
  • Primer el sistema: Utilitza un missatge de sistema fort per bloquejar el to, la persona, la seguretat i el format de sortida.
  • Espais de variables: Anomena els marcadors de posició clarament (per exemple, {topic}, {audience}) i valida l'entrada.
  • Contractes de sortida: Demana formats estructurats com JSON; inclou un esquema al .
  • Few-shot: Proporciona exemples concisos per a l'estil i el format, no per a la inflació de contingut.
  • Guardrails: Inclou restriccions ("Si falten dades, fes primer una pregunta aclaridora").
Exemple de estructurat dins de SK:
var prompt = @"
Ets un motor de classificació.
Tasca: Classifica el `message` en un de [Facturació, Suport Tècnic, Vendes].
Retorna JSON estricte: { \"label\": string, \"confidence\": number }
message: {message}
";
var classify = kernel.CreateFunctionFromPrompt(prompt);
var output = await classify.InvokeAsync(kernel, new { ["message"] = "No puc iniciar sessió al meu compte." });
Console.WriteLine(output); // {"label":"Suport Tècnic","confidence":0.89}

Afegir memòria: , RAG i finestres de context

Els LLMs obliden. La memòria els fa útils.
  • Context a curt termini: Automàtic mitjançant l'historial de converses.
  • Memòria a llarg termini: Emmagatzema de notes d'usuari, documents o esdeveniments i recupera fragments rellevants per al context.
  • RAG: Abans de cridar una funció de generació, consulta el teu magatzem de vectors i injecta els resultats al .
Exemple: afegir memòria de text amb i recuperar context.
using Microsoft.SemanticKernel.Memory;
var memory = new MemoryBuilder
.WithMemoryStore(new VolatileMemoryStore) // intercanvia per una base de dades vectorial (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: "Els clients poden sol·licitar un reemborsament en un termini de 30 dies des de la compra amb prova de rebut."
);
// Més tard: recuperar i introduir al
var results = memory.SearchAsync("finestra de reemborsament", collection: "policies", limit: 3, minRelevanceScore: 0.7);
await foreach (var item in results)
{
Console.WriteLine($"Rellevant: {item.Metadata.Text}");
}
A continuació, alimenta les coincidències principals a la teva funció semàntica com a variables de context. Consell: mantén els fragments petits (200-400 tokens) i desduplica.

Ús d'eines i planificació: Fluxos de treball de múltiples passos

Semantic Kernel admet planificadors que poden dividir un objectiu d'usuari en passos i triar quines funcions cridar. Això és perfecte quan tens una caixa d'eines de funcions natives i semàntiques.
Patró:
  1. Recull l'objectiu i les restriccions de l'usuari.
  1. Redacta un pla (seqüència de crides de funcions amb arguments).
  1. Executa pas a pas, verifica les sortides i recupera't dels errors.
Exemple de pseudocodi:
// 1) Defineix els (semàntics + natius) com abans
// 2) Utilitza un planificador (la superfície de l'API pot variar segons la versió)
var goal = "Resumir la política adjunta, classificar el risc i enviar un informe per correu electrònic";
// Suposem que tenim : fitxers, resumir, classificar, correu electrònic
// El planificador muntarà un pla: files.Load → summarize.Run → classify.Run → email.Send
// Executa el pla seqüencialment, valida les sortides JSON entre els passos
Millors pràctiques:
  • Fes que els passos siguin idempotents i provables.
  • Estableix esquemes de sortida explícits entre els passos.
  • Utilitza reintents/backoff a les eines en xarxa.
  • Registra les entrades/sortides per a l'observabilitat (però neteja la PII).

Estratègia de múltiples models: Tria el model adequat per a la feina

Amb Semantic Kernel, pots encaminar les tasques a diferents models:
  • Esborranys ràpids → models petits i barats
  • Passos amb molta raó → models més grans
  • Embeddings → model d' especialitzat
  • Codi → models optimitzats per a codi
A la pràctica:
var kernel = Kernel.CreateBuilder
.AddOpenAIChatCompletion("gpt-4o-mini", apiKey)
.Build;
var fastKernel = Kernel.CreateBuilder
.AddOpenAIChatCompletion("gpt-4o-mini", apiKey) // optimitzat per a la velocitat
.Build;
// Encaminar més senzills a fastKernel; tasques complexes a kernel
O bé, configura múltiples serveis al mateix i selecciona per funció.

Des del prototip fins a la producció: i proves

A mesura que aprenguis a utilitzar Semantic Kernel en aplicacions reals, la fiabilitat importa:
  • Sortides primer amb esquema: Utilitza esquemes JSON i portes TryParse.
  • Determinisme quan sigui necessari: Estableix la temperatura baixa i restringeix les sortides.
  • Filtres de seguretat: Afegeix filtres de contingut i d'equip vermell.
  • Caching: Emmagatzema en memòria cau els resultats de RAG i les generacions estables.
  • Observabilitat: Registra les plantilles de , les variables, la latència, l'ús de .
  • Proves unitàries: Prova daurada de amb comparacions d'instantànies.
Exemple: validar la sortida JSON.
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; }
}

Patrons del món real que pots reutilitzar

  • Chatbot RAG: retrieve(context) → answer(question, context) amb citacions.
  • Fluxos de treball d'aprovació: classificar → generar esborrany → revisió humana → enviar.
  • Operacions de contingut: esbossar → redactar → verificar fets → ajustar el to → publicar.
  • Agent amb eines: calendar.lookup, docs.search, email.send; amb planificació i memòria.
Consell: Encapsula cada pas com una funció (semàntica o nativa) i compon-les en .

Exemple: Q&A de documents amb citacions

Connectem un senzill de Q&A que cita fonts utilitzant RAG.
// 1) Ingerir documents a la memòria
await memory.SaveInformationAsync("handbook", "vacation-policy",
"Els empleats acumulen 1,5 dies de PTO per mes i poden transferir 5 dies.");
// 2) Recuperar el context per a una pregunta
var top = memory.SearchAsync("transferir PTO", "handbook", limit: 3, minRelevanceScore: 0.75);
var contexts = new List<string>;
await foreach (var r in top) contexts.Add(r.Metadata.Text);
// 3) Preguntar amb context i sol·licitar citacions
var qaPrompt = @"
Respon estrictament a partir del context proporcionat. Si falta, digues que no ho saps.
Inclou citacions en línia com [font i] utilitzant l'índex d'elements de context començant per 1.
Context:
1) {{ctx1}}
2) {{ctx2}}
Pregunta: {{q}}
";
var qa = kernel.CreateFunctionFromPrompt(qaPrompt);
var variables = new KernelArguments
{
["ctx1"] = contexts.ElementAtOrDefault(0) ?? "",
["ctx2"] = contexts.ElementAtOrDefault(1) ?? "",
["q"] = "Quants dies de PTO puc transferir?"
};
var answer = await qa.InvokeAsync(kernel, variables);
Console.WriteLine(answer);

Errors comuns (i com evitar-los)

  • Prompt gegant únic: Divideix en funcions; passa només el context que necessites.
  • Sense contractes de sortida: Defineix sempre esquemes per a passos llegibles per màquina.
  • RAG sense higiene: Divideix bé, desduplica i classifica per rellevància i antiguitat.
  • Proliferació d'eines: Mantén les interfícies de petites i documentades.
  • Sense humà en el bucle: Afegeix aprovacions per a accions d'alt risc.

Com utilitzar Semantic Kernel amb

  • Aplicacions web: Allotja la teva orquestració SK en una capa d'API; transmet a la IU.
  • IUs de xat: Mantén l'estat de la conversa al costat del servidor; poda i resumeix.
  • Autenticació: Cridar segures per a la suplantació: mai deixis que el model encunyi . Porta les crides d'eines a través del teu .

Llista de verificació de desplegament

  • Variables d'entorn per a claus i punts finals
  • Limitació de velocitat i reintents per a crides de model/eina
  • Control de codi font de plantilles de
  • Còpies de seguretat del magatzem de vectors i gestió de PII
  • Panells d'observabilitat (latència, cost, errors)
  • Proves A/B per a i encaminament

Resolució de problemes a l'estil de les preguntes freqüents

  • "El model al·lucina fins i tot amb RAG." Ajusta les instruccions: "Respon només a partir del context" i inclou un exemple de rebuig. Augmenta l'especificitat de la recuperació i redueix la temperatura.
  • "JSON continua trencant-se." Afegeix un mini exemple de JSON vàlid i prohibeix els comentaris. Post-valida i reformula en cas de fallada.
  • "La latència és alta." Recupera menys fragments, més rellevants; canvia els passos senzills a models més petits; paral·leliza els passos independents.
  • "Els costos estan augmentant." Emmagatzema en memòria cau, comprimeix el context i encamina les tasques fàcils a models més barats.

Val la pena destacar: Construeix més ràpid amb Sider.AI

Si estàs prototipant , provant fluxos d'eines o comparant respostes entre models, un company com Sider.ai pot accelerar la iteració. Pots redactar , executar comparacions A/B i capturar fragments reutilitzables abans de moure'ls a les plantilles de Semantic Kernel, ideal per afinar les instruccions i els esquemes de sortida.

Passos següents: Converteix això en un agent de treball

  • Comença amb una tasca clara (per exemple, classificar els correus electrònics de suport).
  • Defineix funcions semàntiques/natives amb entrades/sortides estrictes.
  • Afegeix memòria només on millori les respostes de manera mesurable.
  • Instrumenta tot; prova amb mostres del món real.
  • Itera sobre els utilitzant un , després codifica a SK.
Principals conclusions:
  • Semantic Kernel t'ajuda a compondre , eines i memòria en fluxos de treball fiables.
  • Utilitza esquemes de sortida, planificadors i encaminament de múltiples models per a la robustesa i el control de costos.
  • RAG més supera els gegants cada vegada.
Un cop que domines com utilitzar Semantic Kernel amb aquests patrons, enviaràs funcions d'IA que no només són demostracions impressionants, sinó sistemes fiables.

Preguntes freqüents

P1: Per a què s'utilitza Semantic Kernel a les aplicacions d'IA? Semantic Kernel és un SDK d'orquestració per construir fluxos de treball d'IA que combinen LLM, eines (funcions natives) i memòria. T'ajuda a estructurar tasques, afegir RAG i cridar múltiples models de manera fiable.
P2: Com utilitzo Semantic Kernel per a RAG amb els meus documents? Ingereix els teus documents en un magatzem de vectors mitjançant les APIs de memòria de SK, després recupera els fragments més rellevants per consulta i injecta'ls al teu . Això millora la precisió i redueix les al·lucinacions.
P3: Pot Semantic Kernel cridar APIs i serveis externs? Sí. Embolcalla les APIs com a funcions natives en un i registra-les amb el perquè el model pugui utilitzar-les com a eines. Mantén les interfícies petites i aplica la validació d'entrada/sortida.
P4: Quins models funcionen amb Semantic Kernel? Semantic Kernel admet OpenAI, Azure OpenAI i altres connectors. Pots encaminar les tasques a diferents models, per exemple, models més petits per a esborranys i models més grans per a passos amb molta raó.
P5: Com faig que les sortides de Semantic Kernel siguin consistents (per exemple, JSON)? Utilitza estructurats que exigeixin JSON estricte i inclou un exemple o esquema mínim. Estableix una temperatura baixa, valida les sortides posteriorment a la crida i torna a intentar o reparar quan l'anàlisi falli.

Articles Recents
Com dominar ChatPDF: obtenir informació més ràpidament de documents densos

Com dominar ChatPDF: obtenir informació més ràpidament de documents densos

La millor alternativa a X Auto-Translation per a documents ràpids i precisos

La millor alternativa a X Auto-Translation per a documents ràpids i precisos

La traducció AI de Samsung no està disponible a l'Iran? Solucions pràctiques

La traducció AI de Samsung no està disponible a l'Iran? Solucions pràctiques

Eines de traducció persa: una guia pràctica per a un treball més ràpid i precís

Eines de traducció persa: una guia pràctica per a un treball més ràpid i precís

La millor alternativa a Grok per a una recerca profunda i citada

La millor alternativa a Grok per a una recerca profunda i citada

Les 15 millors funcions del generador d'imatges d'IA que realment utilitzaràs

Les 15 millors funcions del generador d'imatges d'IA que realment utilitzaràs