Announcing the General Availability of Semantic Kernel for Java

Bruno Borges

Last year we published the initial release of Semantic Kernel for Java. It has been nearly a year of work building and shaping this SDK to help developers quickly and idiomatically build intelligent Java apps with OpenAI. Throughout this time, all teams behind Semantic Kernel SDKs (for Python, Java, and .NET) have done significant research in terms of API design and best practices that have now come to a common ground as part of a v1 release of all SDKs.

Today, we are pleased to announce the general availability of Semantic Kernel Java SDK v1.

What’s new in Semantic Kernel Java SDK v1?

New features

The new features of Semantic Kernel for Java include tool calling, which enables the AI service to request the invocation of native Java functions, essentially functioning as a planning mechanism. Additionally, the audio service now supports both text-to-audio and audio-to-text conversions. Type conversion has been enhanced to allow users to register types and serialize/deserialize them to and from prompts. Furthermore, hooks have been introduced to monitor key points such as function calls, enabling users to log or intercept them for better tracking and debugging.

Improved API Consistency

The new release improves the consistency of the API, making it more intuitive and easier to adopt for new users. While adhering to Java principles, and maintaining compatibility with Java 8 and later, the SDK reflects the naming conventions of the .NET SDK more closely, helping cross-language developers maintain parity with their code, concepts, and explanations, as well as share knowledge with their cousin teams.

Expanded Documentation and Samples

We have expanded our documentation covering all languages, including Java. The sample code folder has been restructured to help you get started quickly and leverage the full potential of the Semantic Kernel Java SDK. More syntax examples will be added in the near future. Additionally, new samples have been added, such as the booking-agent-m365.

Along with documentation, two great articles introduce the latest developments in Semantic Kernel Java SDK:

For developers interested in complete, end-to-end application demos, we are constantly maintaining and updating the Java version of the ChatGPT + Enterprise data with Azure OpenAI and Azure AI Search. It demonstrates best practices for creating ChatGPT-like experiences over your own data using the Retrieval Augmented Generation pattern. It uses Azure OpenAI Service to access the ChatGPT model gpt-35-turbo, and Azure Azure AI Search for data indexing and retrieval. The application can be easily deployed with Azure Developer CLI: as simple as cloning the repository and running azd up!

Microservice RAG Architecture

Simplified Maven dependencies

The releases following v1 are now simpler. The Semantic Kernel Java SDK v1 is available on Maven Central under the following coordinates, also compatible with Gradle:

  • Group ID: com.microsoft.semantic-kernel
  • Artifact ID: semantickernel-api
  • Version: 1.1.3 (latest)

Getting Started

To start using Semantic Kernel Java SDK v1, head over to our GitHub repository (in the java-development branch) where you can find installation instructions, detailed documentation, and a variety of sample projects to quick start your development journey.

We believe that the new features and enhancements in this release will significantly improve your AI and app development processes. As always, we are eager to hear your feedback and thoughts on this release.

Happy coding!

0 comments

Leave a comment

Feedback usabilla icon