Semantic Kernel Now Available In Python Flavor
Just a few weeks ago we came out with Semantic Kernel in C# and with an experimental branch for Python. Today we’re happy to announce that based upon community feedback, we have an official Python release now available on GitHub. You know what that means …
% pip install semantic-kernel
and you’re good to go! 🎉🎉🎉
Why Release Semantic Kernel In Python?
Python is widely used in AI and ML — making it a great choice for AI exploration and integration. As a result SK gains plenty of AI algorithms, functions, and libraries such as TensorFlow, PyTorch, Scikit-learn, Pandas, Keras, NLTK, Caffe, etc. In addition, SK developers can easily benefit from pre-trained models from HuggingFace, eaissly advantage of GPU and cloud computing. Lastly, there’s many good visualization options that have been pioneered by the data science community, allowing users to build charts, histograms, and plots.
And frankly, the opportunity for the team to collaborate on SK in Python with Guido van Rossum, Python’s creator and Microsoft Distinguished Engineer, was just too good to pass up (smile).
Quick Python Q&A With SK’s Product Architect, Devis Lucato
John Maeda: Hey Devis! So what was your original motivation to co-create Semantic Kernel?
Devis Lucato: As someone who has worked in software engineering for many years, I’m always looking for ways to make the development process simpler, faster and more efficient. With Semantic Kernel, I can finally do exactly that.
JM: I know we started out with C# with all of its inherent benefits. But what makes Python such a great language for AI-first applications? Is it Python’s elegant flexibility? Or its vaunted efficiency of expression?
Devis: Well, John, in my humble opinion Python is the Mona Lisa of programming languages. Python elegantly marries beauty and power in such a perfect match that it is no wonder Italians like myself love it so dearly. Traditional coding requires people to master a computer language syntax that can feel like speaking machine. On the other hand, Python has always read close to regular written language. And Python with SK goes even further by extending regular coding with natural language in a seamless, powerful manner. As a result, AI developers will be able to move fast, write less code, and enjoy SK in the Mona Lisa of programming languages.
JM: What exactly do you think makes Python so special? I remember when it first came out, I liked how it reminded me of LISP but without the dreaded parentheses!
Devis: Just as Italians enjoy a rather long and distinguished history of creating the finest quality products #humblebrag, I believe that code written in Python exudes a similar finesse. Because a well-crafted, single line of Python can easily read as a masterpiece in programming.
JM: What was your role in the development of Semantic Kernel?
Devis: As Product Architect for the Semantic Kernel project, I was responsible for architecting and designing the bulk of how SK came together in C# and now Python. We wanted to make it possible to move fast and create a powerful SDK that bridges natural language semantics and traditional code.
JM: What features does Semantic Kernel offer?
Devis: SK supports a range of features out of the box, including prompt templating, function chaining, vectorized memory and planning capabilities — giving you the power to quickly craft amazing AI-first applications.
JM: Thanks for the quick overview, Devis. This has all happened so quickly that the ink hasn’t even dried on our Learn documentation site. The documentation tree is currently being updated, but until that’s fully in place where should beginners go?
Devis: They should definitely check out our Python notebooks — they’re available in the GitHub repo.
Devis Lucato is a Principal Software Architect at Microsoft, innovating app development with AI and focused on natural language processing. He is passionate about crafting the future of computing, and is the product architect of Semantic Kernel, the SDK that enables integration of AI Large Language Models with conventional programming languages. A self-confessed open source enthusiast, Devis has worked on multiple projects over the years, pushing the boundaries of software engineering to make app development faster, simpler, and more efficient.