(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
Azure AI & Machine Learning
Azure AI & Machine Learning 2 min

Semantic Kernel: orquestar agentes de IA con .NET y Python

João Barros 26 de December de 2025 2 min de lectura

Semantic Kernel es el SDK open-source de Microsoft para construir aplicaciones de IA que combinan LLMs con código nativo, plugins, memoria semántica y orquestación de agentes. Es la base técnica detrás de Microsoft Copilot.

Conceptos fundamentales

Kernel       → motor central que coordina todo
Plugin       → colección de funciones (nativas o semánticas)
  KernelFunction → función individual (nativa en C#/Python o un prompt template)
Memory       → contexto vectorial persistente (RAG interno)
Planner      → selecciona y encadena funciones automáticamente para cumplir un objetivo

Crear un kernel y llamar a un LLM

import asyncio
from semantic_kernel import Kernel
from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion

kernel = Kernel()
kernel.add_service(AzureChatCompletion(
    deployment_name="gpt-4o",
    endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
    api_key=os.environ["AZURE_OPENAI_KEY"]
))

# Función semántica inline
respuesta = await kernel.invoke_prompt(
    "Traduce este texto al inglés formal: {{$input}}",
    input="El informe de ventas está listo para revisión."
)
print(respuesta)

Plugin nativo — exponer código al LLM

from semantic_kernel.functions import kernel_function

class SalesPlugin:
    @kernel_function(description="Devuelve las ventas totales de un mes")
    def get_monthly_sales(self, month: str, year: str) -> str:
        # Lógica real: query SQL, API, etc.
        return f"Ventas de {month}/{year}: 125.430€"

kernel.add_plugin(SalesPlugin(), plugin_name="sales")

# El LLM ahora puede llamar a esta función automáticamente cuando sea relevante
respuesta = await kernel.invoke_prompt(
    "¿Cuál fue el total de ventas en marzo de 2024?",
    # El planner decide llamar a get_monthly_sales(month='March', year='2024')
)

Memoria semántica

from semantic_kernel.memory import SemanticTextMemory

memory = SemanticTextMemory(storage=..., embeddings_generator=...)
await memory.save_information("politicas", id="vacaciones", text="Los empleados tienen 22 días de vacaciones al año...")

# Recuperar contexto relevante
results = await memory.search("politicas", "¿cuántos días de vacaciones tengo?")
print(results[0].text)

Conclusión

Semantic Kernel es el SDK más maduro para construir asistentes empresariales con LLMs en la stack de Microsoft. La abstracción de plugins permite que el LLM llame a código real (queries SQL, APIs) en lugar de solo generar texto — eso es lo que diferencia un chatbot de un agente útil.

Compartir: