Back to Blog
1 min read

LangChain vs Semantic Kernel: Choosing Your AI Framework

LangChain and Semantic Kernel are the two leading frameworks for building AI applications. Let’s compare them.

Framework Comparison

# LangChain approach
from langchain.chat_models import AzureChatOpenAI
from langchain.agents import AgentExecutor, create_openai_tools_agent
from langchain.tools import tool

@tool
def query_database(query: str) -> str:
    """Execute SQL query."""
    return execute_sql(query)

llm = AzureChatOpenAI(deployment_name="gpt-4o")
agent = create_openai_tools_agent(llm, [query_database], prompt)
executor = AgentExecutor(agent=agent, tools=[query_database])

result = executor.invoke({"input": "Get sales data"})

# Semantic Kernel approach
import semantic_kernel as sk

kernel = sk.Kernel()
kernel.add_service(AzureChatCompletion(...))

@sk.kernel_function
def query_database(query: str) -> str:
    """Execute SQL query."""
    return execute_sql(query)

kernel.add_plugin(plugin, "data")
result = await kernel.invoke_prompt("Get sales data")
FeatureLangChainSemantic Kernel
LanguagePython-first.NET & Python
EcosystemLarge, many integrationsMicrosoft-focused
Learning CurveModerateEasier
Enterprise SupportCommunityMicrosoft

Choose based on your ecosystem and team skills.

Michael John Peña

Michael John Peña

Senior Data Engineer based in Sydney. Writing about data, cloud, and technology.