Configuration

LLM Provider Profiles

Each LLM provider is configured via Quarkus profiles in ai/src/main/resources/application.properties.

OpenAI (default)

%openai.quarkus.langchain4j.openai.api-key=${OPENAI_API_KEY}
%openai.quarkus.langchain4j.openai.chat-model.model-name=gpt-4o-mini
%openai.quarkus.langchain4j.openai.timeout=120s

Grok/xAI

Reuses the OpenAI extension with a different base URL:

%grok.quarkus.langchain4j.openai.base-url=https://api.x.ai/v1
%grok.quarkus.langchain4j.openai.api-key=${GROK_API_KEY}
%grok.quarkus.langchain4j.openai.chat-model.model-name=grok-3-mini

Gemini

%gemini.quarkus.langchain4j.ai.gemini.api-key=${GEMINI_API_KEY}

WatsonX

%watsonx.quarkus.langchain4j.watsonx.base-url=${WATSONX_BASE_URL}
%watsonx.quarkus.langchain4j.watsonx.api-key=${WATSONX_API_KEY}
%watsonx.quarkus.langchain4j.watsonx.project-id=${WATSONX_PROJECT_ID}
%watsonx.quarkus.langchain4j.watsonx.chat-model.model-name=ibm/granite-4-h-small

Scorer Configuration

The test evaluation scorer defaults to OpenAI but can be overridden:

export SCORER_BASE_URL=https://api.x.ai/v1
export SCORER_API_KEY=$GROK_API_KEY
export SCORER_MODEL=grok-3-mini

MCP Client Configuration

Tempo MCP

Connects to Tempo via streamable HTTP for trace retrieval:

quarkus.langchain4j.mcp.tempo.transport-type=streamable-http
quarkus.langchain4j.mcp.tempo.url=${tempo-mcp.endpoint}/api/mcp

Grafana MCP

Connects to Grafana via stdio process for Loki logs and Prometheus metrics:

quarkus.langchain4j.mcp.grafana.transport-type=stdio
quarkus.langchain4j.mcp.grafana.command=uvx,mcp-grafana
quarkus.langchain4j.mcp.grafana.environment.GRAFANA_URL=${grafana.endpoint}

Application Port

The AI module runs on port 8080 by default. The app.ports property configures which of your application ports to connect to via Dev MCP for source examination and dashboard generation.

LGTM Profile

For manual LGTM connection (without DevServices), use the lgtm profile. Key properties:

%lgtm.quarkus.observability.enabled=false
%lgtm.grafana.endpoint=http://localhost:3000
%lgtm.tempo-mcp.endpoint=http://localhost:3200
%lgtm.otel-collector.url=localhost:4318

LGTM Docker ports: Grafana=3000, OTLP gRPC=4317, OTLP HTTP=4318, Tempo=3200.