Concerto for Java and AI

January 29, 2026 ยท View on GitHub

Slides

Stack

  • Java 25 (with GraalVM)
  • Spring Boot 4.0 (with Spring AI)
  • Vaadin
  • Arconia

Mousike

Mistral AI

The application consumes chat and embedding models from the Mistral AI platform.

Create an account

Visit console.mistral.ai and sign up for a new account. You can choose the "Experiment" plan, which gives you access to the Mistral APIs for free.

Configure API Key

In the Mistral AI console, navigate to API Keys and generate a new API key. Copy and securely store your API key on your machine as an environment variable. The application will use it to access the Mistral AI API.

export SPRING_AI_MISTRAL_AI_API_KEY=<YOUR-API-KEY>

OpenAI

The application consumes models from the OpenAI platform.

Create an account

Visit platform.openai.com and sign up for a new account.

Configure API Key

In the OpenAI console, navigate to Dashboard > API Keys and generate a new API key. Copy and securely store your API key on your machine as an environment variable. The application will use it to access the OpenAI API.

export SPRING_AI_ OPENAI_API_KEY=<YOUR-API-KEY>

Running the application

Run the application.

./gradlew bootRun

Alternatively, you can use the Arconia CLI:

arconia dev

Under the hood, the Arconia framework will automatically spin up the needed backing services using Arconia Dev Services and Testcontainers:

  • Docling document processor
  • Phoenix AI observability platform
  • PostgreSQL database.

The application will be accessible at http://localhost:8080.

Accessing Phoenix

The application logs will show you the URL where you can access the Phoenix AI observability platform.

...Phoenix UI: http://localhost:<port>

By default, traces are exported via OTLP using the HTTP/Protobuf format.