This app is an AI-powered customer support application that:
- Has access to terms and conditions (retrieval augmented generation, RAG)
- Can access tools (Java methods) to perform actions
- Uses an LLM to interact with the user
The application includes implementations for:
- LangChain4j in the
main
branch - Quarkus in the
quarkus
branch (thanks to @edeandrea!) - Spring AI in the
spring-ai
branch (thanks to @tzolov!) - Semantic Kernel in the
semantic-kernel
branch (thanks to @sohamda!)
The UI is built using Vaadin Hilla and the backend is built using Spring Boot.
- Java 17+
- OpenAI API key in
OPENAI_API_KEY
environment variable
Run the app by running Application.java
in your IDE or mvn
in the command line.
This demo was inspired by the LangChain4jCustomer Support Agent example.
I want to thank the LangChain4j, Quarkus, Spring AI, and Microsoft teams for their support in building this demo. Especially, I want to thank @edeandrea from the Quarkus team for his help in building the Quarkus implementation, @tzolov from The Spring AI team for his help in building the Spring AI implementation and @sohamda from Microsoft for the Semantic Kernel implementation.