Semantic Kernel (AI LLM Integration) Gets VS Code Tools, Python Support
Microsoft has been busy updating its recently open sourced internal incubation project called Semantic Kernel, an SDK that lets developers mix conventional programming languages with the latest in Large Language Model (LLM) AI prompts.
It helps developers infuse advanced AI technology into their apps, including wildly popular generative AI systems like ChatGPT and GPT-4 from Microsoft partner OpenAI. The SDK provides templating, chaining and planning capabilities for creating AI-first apps faster and easier, according to Microsoft.
Better prompting, related to the emerging discipline of "prompt engineering" that can pay up to $335,000 per year, is one of the four key benefits that Microsoft lists for the open source project:
- Fast integration: SK is designed to be embedded in any kind of application, making it easy for you to test and get running with LLM AI.
- Extensibility: With SK, you can connect with external data sources and services -- giving their apps the ability to use natural language processing in conjunction with live information.
Better prompting: SK's templated prompts let you quickly design semantic functions with useful abstractions and machinery to unlock LLM AI's potential.
- Novel-But-Familiar: Native code is always available to you as a first-class partner on your prompt engineering quest. You get the best of both worlds.
After open sourcing Semantic Kernel last month, the company last week announced the release of Semantic Kernel Tools, an extension for Visual Studio Code, and this week announced it was available in a Python flavor.
Semantic Kernel Tools
This VS Code extension now available in the code editor's marketplace is designed to help developers write skills for Semantic Kernel. Microsoft's "What Are Skills?" documentation describes a skill as a domain of expertise made available to the kernel as a single function, or even as a group of functions related to the skill. A function can be an LLM AI prompt, native code or a combination of both. For one example, a summarization skill could use LLM AI prompts to generate summaries of text or speech.
The Semantic Kernel Tools marketplace listing explains how to create a semantic skill and execute a semantic function, along with troubleshooting and other guidance. As a brand-new tool, it has been downloaded only 424 times as of this writing, having debuted on April 11 and been updated on Monday.
Microsoft said the streamlined development experience provided by the tools can help coders create and test new skills more quickly and efficiently, allowing them to focus on the creative aspects of their projects instead of getting mired in technical details.
"With the ability to create custom skills, developers can tailor their projects to meet specific needs and goals," the company said. "Whether it's chat and conversation interaction, code generation or transformation, question-answering, or any other intended use case, Semantic Kernel Tools provides the flexibility and power needed to create innovative and impactful projects.
"We believe that Semantic Kernel Tools represents a significant step forward in the development of AI technologies. By providing a user-friendly and accessible development environment, we hope to empower developers to create the next generation of AI-powered applications and services."
Semantic Kernel Now Available In Python Flavor
When Semantic Kernel debuted, it worked with C# projects only, though Python support was in preview. As of this week, that Python support has graduated from an experimental preview to an official release available on GitHub.
"Python is widely used in AI and ML -- making it a great choice for AI exploration and integration," Microsoft said. "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."
That same announcement post also features a short Q&A with Devis Lucato, a principal software architect at Microsoft who helped create Semantic Kernel. Lucato, when asked what makes Python a great language for AI-first applications, said:
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.
Microsoft said it added official Python support in response to community feedback and earlier indicated that such feedback may prompt support for other programming languages, including its own TypeScript.
About the Author
David Ramel is an editor and writer for Converge360.