Semantic Kernel, an SDK that meshes Large Language Models (LLMs) with popular programming languages, is now available for Java. Microsoft announced the arrival of the Java library in its recent blog post. Microsoft first open-sourced the Semantic Kernel earlier this year. Microsoft terms Semantic Kernel as a lightweight SDK enabling integration of AI LLMs. Other than Java, the Semantic Kernel SDK also supports C# and Python programming languages.
In July 2023, Microsoft also announced updates to the Semantic Kernel Tools. The Visual Studio Code extension now allows developers to measure the performance of different AI tools, and the API supports switching between different providers. Furthermore, integration to Azure Cognitive Search brings on Vector search capabilities to the Semantic Kernel as well. However, at this point, this feature is not available to Java developers.
Meanwhile, Java as a language itself is also undergoing changes, geared towards better native support for integration and computation. Developers increasingly recognize the need to utilize existing LLMs, a vital step for Java applications to fully adopt and benefit from modern development practices, such as integration with Generative AI. This approach to development has the potential to significantly enhance user experience and flexibility in application design and functionality.
The World Economic Forum, an influential international organization, has recognized the growing importance of Prompt Engineering in the tech industry. It even went as far as listing it as one of the top three emerging jobs, underscoring its significance. Prompt Engineering, a method that allows applications to leverage LLMs for a wide array of use cases, reshapes how applications are developed and can use LLMs for multiple vertical use cases. This can be particularly beneficial for developers working with Java, given its wide usage in many mission-critical and business systems. However, the challenge for prompt engineers is always problem formulation or asking the right questions and working with multiple prompts.
The Semantic Kernel SDK presents a solution to this challenge. It enables developers to use multiple prompts as skills, chain those prompts, and define contexts that are shared amongst prompts. For developers, it can also be viewed as management of the prompting pipeline and opinionated design patterns. Bruno Borges, principal product manager at Microsoft, provided some code snippets in his blog post. To delve deeper into these examples and to gain hands-on experience, developers are encouraged to explore the Semantic Kernel GitHub repository and particularly use the experimental-java branch.
This recent development underlines the continuing evolution of AI integration within popular programming languages. As LLMs become more sophisticated and their applications more diverse, tools like the Semantic Kernel SDK will be increasingly important in allowing developers to harness their potential effectively and efficiently.