Cloud Native Diary #14

LLM-powered applications with Java and Spring AI. Updates from CNCF WG App Development. News from GOTO Copenhagen and KCD Denmark.

Autumn forest, with sunlight filtering through the branches.

In Cloud Native Diary, I periodically share my journey working with application development, platform engineering, and cloud native technologies.

In this issue, I'll share some updates about Java and AI, the CNCF WG App Development work, and news from GOTO Copenhagen and KCD Denmark. Let's get to it!

Java and AI

Spring AI is a framework for infusing Java applications with AI capabilities. It's working its way toward the first GA release. The third milestone was recently released. Check it out!

Spring AI 1.0.0 M3 Released
Level up your Java code and explore what Spring can do for you.

One of Spring AI's core abstractions is the Advisor API, which you can use to build advanced workflows involving LLM interactions. For example, you can use it to implement a Retrieval Augmented Generation (RAG) workflow or to introduce input and output guardrails to your AI interaction, ensuring safety and reduced hallucinations.

Supercharging Your AI Applications with Spring AI Advisors
Level up your Java code and explore what Spring can do for you.

My activity contributing features, improvements, and bug fixes to Spring AI continues. I want to thank Dr. Mark Pollack and Christian Tzolov from the Spring AI team for the incredible support I receive and for the insightful and stimulating conversations we have about artificial intelligence and Java.

Since the last issue of Cloud Native Diary, I have contributed several improvements to Spring AI and have more in the backlog.

  • Extended and improved the observability support for chat clients, chat models, embedding models, image models, and vector stores (#1466, #1467, #1469, #1470, #1472, #1473, #1474).
  • Enhanced the user experience of ChatClient (#1287) and ChatModel APIs (#1325).
  • Introduced Mistral support in Kubernetes Bindings (#1479).
  • Improved the documentation about Spring AI core concepts (#1279) and chat model integrations (#1285).

If you're interested in building LLM-powered applications with Java and Spring AI, feel free to check out my GitHub repository. It has tons of examples showcasing the many features of Spring AI and demonstrating actual use cases such as classification, semantic search, structured data extraction, question answering with documents, and chatbots.

GitHub - ThomasVitale/llm-apps-java-spring-ai: Samples showing how to build Java applications powered by Generative AI and LLMs using Spring AI and Spring Boot.
Samples showing how to build Java applications powered by Generative AI and LLMs using Spring AI and Spring Boot. - ThomasVitale/llm-apps-java-spring-ai

GOTO Conference

This month, I was happy to attend GOTO Copenhagen again. The conference was very well organized and packed with interesting and insightful sessions from exceptional speakers. I had a really great time!

I enjoyed running a full-day workshop about building AI-infused Java applications with large language models (LLMs) and Spring AI. During the conference, I presented my Concerto for Java and AI, featuring live coding, live music, and live inference. I showcased some of the main features of Spring AI and how to use LLMs to enhance the user experience of existing applications, keeping an eye on production readiness and developer experience. 

CNCF WG Application Development

The CNCF's Application Development Working Group is working hard to prepare the first deliverable in time for KubeCon+CloudNativeCon North America and KubeCon+CloudNativeCon India. Our goal is to bring a developer perspective to the CNCF Landscape and involve more application developers to unlock even more potential from cloud native technologies.

The group is part of the CNCF TAG App Delivery. I'm one of the group's chairs, along with my friends Mauricio Salatino and Daniel Oh. We meet on the first and third Wednesdays of each month. Feel free to join the group and help us deliver our first work for KubeCon North America. You can also find us on Slack (#wg-app-development).

App Development Working Group
TAG App Delivery focuses on enabling projects and initiatives related to delivering cloud-native applications, including building, deploying, managing, and operating them.

KCD Denmark

KCD Denmark 2024 is only a month away, and we are very excited to bring it to Copenhagen this year. We have announced the full schedule and are ready to welcome you for two days of insightful presentations and engaging conversations with the cloud native community. Join us on November 19 and 20!

Kubernetes Community Days Denmark
Experience the power of community at the Kubernetes Community Days in Denmark!

Cover image generated with DALL-E.