Skip to content

Quarkus AI Hands-on Lab: From AI services to Agentic System

Welcome to the Quarkus AI Hands-on Lab! This hands-on lab will guide you through building AI-infused applications and agentic systems using IBM Enterprise Build of Quarkus and LangChain4j.

You will learn how to:

  • Integrate LLMs (Language Models) into your Quarkus application
  • Build a chatbot using Quarkus
  • Configure and send prompts to the LLM
  • Implement guardrails for safe interactions
  • Build simple and advanced RAG (Retrieval-Augmented Generation) patterns
  • Use remote tools via the Model Context Protocol (MCP)
  • Connect with remote agents using Agent-to-Agent (A2A) communication
  • Design agentic systems using workflow and supervisor patterns

hands-on lab Scenario

Throughout the hands-on lab, you will create an LLM-powered customer support chatbot for a car rental company.

The hands-on lab is divided into two sections:

  • Section 1 – AI-infused application (10 steps):
    You’ll progressively build a chatbot, starting with basic LLM integration and adding features such as structured outputs, guardrails, and RAG.

  • Section 2 – Agentic systems (6 steps):
    You’ll extend the chatbot into an agentic workflow, introducing planning, supervision, and collaboration patterns.

Each step builds on the previous one, with the results stored in separate directories (step-XX):

  • Final solution for Section 1: section-1/step-11
  • Final solution for Section 2: section-2/step-04

How to Work with Steps

Tip

We recommend starting with the main branch, then opening the project from step-01 in your IDE.
If you prefer, you can make a copy of the directory instead.

Note

To reset to a particular step, either overwrite your working directory with the content of that step,
or open the project directly from the desired step directory.


Quarkus LangChain4j hands-on lab Architecture


Let’s Get Started!

First, check the requirements page to prepare your environment.

Once ready, you can pick one of these entries points to start the hands-on lab: