{"id":25,"date":"2025-07-30T20:03:36","date_gmt":"2025-07-30T18:03:36","guid":{"rendered":"https:\/\/seblog.dev\/?p=25"},"modified":"2025-07-30T20:03:36","modified_gmt":"2025-07-30T18:03:36","slug":"langchain-semantickernel","status":"publish","type":"post","link":"https:\/\/seblog.dev\/?p=25","title":{"rendered":"LangChain &amp; SemanticKernel"},"content":{"rendered":"\n<p>I recently read <em>Generative AI with LangChain<\/em> by Ben Auffarth, a solid guide for building a Python chatbot with memory and RAG. Really interesting and well-structured.<\/p>\n\n\n\n<p>However, at the Techorama conference in Antwerp, I had a chat with Stijn Castelyns, a U2U instructor who was presenting Semantic Kernel, Microsoft\u2019s framework for integrating LLMs.<\/p>\n\n\n\n<p>As a .NET developer, I was naturally curious, especially because something about LangChain has been bothering me lately: it doesn\u2019t seem to be the top priority anymore. For example, in the memory documentation, you\u2019ll find this: <em>&#8220;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.&#8221;<\/em><\/p>\n\n\n\n<p>Okay, great\u2026 but for something as basic as loading and saving conversation history, we\u2019re now being steered toward LangGraph? What\u2019s even left in LangChain at this point?<\/p>\n\n\n\n<p>Anyway, long story short: I rewrote my chatbot in .NET using Semantic Kernel, and so far, it\u2019s 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\u2019s not too hard to navigate.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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\u2019s framework for integrating LLMs. As a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-25","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/seblog.dev\/index.php?rest_route=\/wp\/v2\/posts\/25","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/seblog.dev\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/seblog.dev\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/seblog.dev\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/seblog.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=25"}],"version-history":[{"count":1,"href":"https:\/\/seblog.dev\/index.php?rest_route=\/wp\/v2\/posts\/25\/revisions"}],"predecessor-version":[{"id":26,"href":"https:\/\/seblog.dev\/index.php?rest_route=\/wp\/v2\/posts\/25\/revisions\/26"}],"wp:attachment":[{"href":"https:\/\/seblog.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/seblog.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/seblog.dev\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}