Seb's blog

Tinkering with LLMs and learning as I go

LangChain & SemanticKernel

I recently read Generative AI with LangChain by Ben Auffarth, a solid guide for building a Python chatbot with memory and RAG. Really interesting and well-structured.

However, at the Techorama conference in Antwerp, I had a chat with Stijn Castelyns, a U2U instructor who was presenting Semantic Kernel, Microsoft’s framework for integrating LLMs.

As a .NET developer, I was naturally curious, especially because something about LangChain has been bothering me lately: it doesn’t seem to be the top priority anymore. For example, in the memory documentation, you’ll find this: “As of the v0.3 release of LangChain, we recommend that LangChain users take advantage of LangGraph persistence to incorporate memory into new LangChain applications.”

Okay, great… but for something as basic as loading and saving conversation history, we’re now being steered toward LangGraph? What’s even left in LangChain at this point?

Anyway, long story short: I rewrote my chatbot in .NET using Semantic Kernel, and so far, it’s working pretty well. The trickiest part was untangling the NuGet package dependencies (still feels a bit messy, honestly), and the documentation is pretty sparse. But the codebase itself is small, so it’s not too hard to navigate.