Skip to main content

Overview

Spring AI Vaadin provides rich user interface components for building AI-powered chat applications using Vaadin and Spring AI. This project demonstrates how to create interactive AI experiences in Spring Boot applications with modern Java UI components.

Key Features

AI Chat Interface

Interactive chat UI with file upload support for attachments

RAG Support

Upload and analyze documents to provide context for AI queries

MCP Integration

Optional Model Context Protocol integration for enhanced capabilities

Technologies

  • Vaadin - Rich Java UI components
  • Spring Boot - Application framework
  • Spring AI - AI integration
  • RAG - Document retrieval and context

Getting Started

Prerequisites

  • Java 21 or higher
  • OpenAI API key

Quick Start

export OPENAI_API_KEY=your-api-key
./mvnw spring-boot:run
The application will be available at http://localhost:8080.

Using RAG

1

Open Settings

Click the gear icon to open the settings panel
2

Upload Documents

Upload relevant documents (PDF, DOCX, TXT, etc.)
3

Ask Questions

Ask questions related to the uploaded content for contextual AI responses

Alternative Frontend

A React-based frontend using Vaadin Hilla is available on the hilla branch.When switching branches, delete the src/main/frontend/generated directory to avoid startup issues.

Resources

Maintainer

Led by tomivirkki
I