Create AI-Infused Java Apps with LangChain4j

Track: Cloud Native
Abstract
Generative AI has taken the world by storm over the last year, and it seems like every executive leader out there is telling us “regular” Java application developers to “add AI” to our applications. Does that mean we need to drop everything we’ve built and become data scientists instead now?

Fortunately, we can actually infuse AI models built by actual AI experts into our applications fairly straightforwardly, thanks to some new projects out there. We promise it’s not as complicated as you might think! Thanks to the ease of use and superb developer experience of Quarkus and the nice AI integration capabilities that the LangChain4j libraries offer, it becomes trivial to start working with AI and make your stakeholders happy :)

In this lab, you’ll explore a variety of AI capabilities. We’ll start from the Quarkus DevUI where you can try out AI models even before writing any code. Then we’ll get our hands dirty with writing some code and exploring LangChain4j features such as prompting, chaining, and preserving state; agents and function-calling; enriching your AI model’s knowledge with your own documents using retrieval augmented generation (RAG); and discovering ways to run (and train) models locally using tools like Ollama and/or Podman AI Lab. In addition, you’ll add observability and fault tolerance to the AI integration and compile the app to a native binary. You might even try new features, such as generating images or audio!

Come to this session to learn how to build AI-infused applications with Java and Quarkus.

Note: We can provide a virtual environment for you but if you want to run it on your own laptop, you should have Java 17+ installed (better if it's Java 21), and a container runtime such as Podman or Docker. If you need help with the setup, visit this page: https://redhat-developer-demos.github.io/quarkus-tutorial/quarkus-tutorial/01_setup.html
Kevin Dubois
Kevin is a Java Champion, software engineer, author and international speaker with a passion for Open Source, Java, and Cloud Native Development & Deployment practices. He currently works as developer advocate at Red Hat where he gets to enjoy working with Open Source projects and improving the developer experience. He previously worked as a (lead) software engineer at a variety of organizations across the world ranging from small startups to large enterprises and even government agencies. Kevin is actively involved in Open Source communities, contributing to projects such as Quarkus, Knative, Apache Camel, and Podman (Desktop). He is also a member of the Belgian CNCF and the Belgian Java User Group. Kevin speaks English, Dutch, French and Italian fluently and is currently based in Belgium, having lived in Italy and the USA as well. In his free time you can find Kevin somewhere in the wild hiking, gravel biking, snowboarding or packrafting.
Daniel Oh
Daniel Oh is a Java Champion and Senior Principal Developer Advocate at Red Hat to evangelize developers for building cloud-native apps and serverless ob Kubernetes ecosystems. He's also contributing to various cloud open-source projects and ecosystems as a CNCF ambassador for accelerating DevOps adoption in enterprises. He's speaking at lots of technical seminars, workshops, and meetups to elaborate on new emerging technologies for enterprise developers & DevOps teams.