AI Module Configuration Example

This page provides example configurations for integrating the AI Content Assistant with a vector store for Retrieval-Augmented Generation (RAG), with the ingestion process set to preview mode:

  • LiteLLM (using OpenAI) + PgVector
  • AWS Bedrock (Claude via the Converse API) + Amazon Titan embeddings + PgVector (available from 17.3.0)

For detailed information about available options and supported configurations, see Initialize and configure the AI Content Assistant and its related pages.

LiteLLM + PgVector

Properties Format

The following example shows how to configure the AI module using Java properties:

brxm.ai.provider=LiteLLM
brxm.ai.chat.max-messages=30
brxm.ai.chat.pdf.max-size-bytes=19000

#LiteLLM
spring.ai.litellm.api.url=https://mylitellmhost/
spring.ai.litellm.api_key=mykey
spring.ai.litellm.chat.options.model=openai/gpt-4o
spring.ai.litellm.chat.options.max-tokens=15000
spring.ai.litellm.embedding.options.model=openai/text-embedding-3-large
spring.ai.litellm.embedding.options.dimensions=1536

#Vector store config
brxm.ai.vectorstore=PgVector
brxm.ai.vectorstore.pgvector.url=jdbc:postgresql://mypostgreshost:5432/myvectordb
brxm.ai.vectorstore.pgvector.password=mypassword
brxm.ai.vectorstore.pgvector.username=mypguser
brxm.ai.vectorstore.pgvector.dimensions=1536

#Ingestion config
brxm.ai.ingest.mode=preview
brxm.ai.ingest.types=myproject:bannerdocument, hippogallery:exampleAssetSet
brxm.ai.ingest.interval=120
brxm.ai.ingest.batch-size=5
brxm.ai.ingest.delay=1000
brxm.ai.ingest.initial-delay=300

YAML Format

The following example shows the same configuration in Bloomreach JCR YAML format:

/hippo:moduleconfig: jcr:primaryType: hipposys:moduleconfig brxm.ai.provider: LiteLLM brxm.ai.chat.max-messages: '30' brxm.ai.chat.pdf.max-size-bytes: '19000' #LiteLLM spring.ai.litellm.api.url: https://mylitellmhost/ spring.ai.litellm.api_key: mykey spring.ai.litellm.chat.options.model: openai/gpt-4o spring.ai.litellm.chat.options.max-tokens: '15000' spring.ai.litellm.embedding.options.model: openai/text-embedding-3-large spring.ai.litellm.embedding.options.dimensions: '1536' #Vector store config brxm.ai.vectorstore: PgVector brxm.ai.vectorstore.pgvector.url: jdbc:postgresql://mypostgreshost:5432/myvectordb brxm.ai.vectorstore.pgvector.password: mypassword brxm.ai.vectorstore.pgvector.username: mypguser brxm.ai.vectorstore.pgvector.dimensions: '1536' #Ingestion config brxm.ai.ingest.mode: preview brxm.ai.ingest.types: myproject:bannerdocument, hippogallery:exampleAssetSet brxm.ai.ingest.interval: '120' brxm.ai.ingest.batch-size: '5' brxm.ai.ingest.delay: '1000' brxm.ai.ingest.initial-delay: '300'

AWS Bedrock + PgVector

This example configures AWS Bedrock (available from 17.3.0) with a Claude chat model through the Converse API and Amazon Titan Text Embeddings v2, storing vectors in PgVector.

Info: No credentials are set in the configuration below. The AWS region is required, but authentication is handled by the standard AWS credential chain — for example a Bedrock API key / bearer token exposed via the AWS_BEARER_TOKEN_BEDROCK environment variable, an IAM role, or AWS access keys. If you prefer static keys, add spring.ai.bedrock.aws.access-key and spring.ai.bedrock.aws.secret-key. The target models must be enabled for your account in the Bedrock console. Note that temperature is intentionally omitted here because Claude Sonnet-class models reject an explicit temperature. Titan Text Embeddings v2 produces 1024-dimension vectors, so the PgVector dimensions value is set to 1024 to match.

Properties Format

brxm.ai.provider=Bedrock
brxm.ai.chat.max-messages=30
brxm.ai.chat.pdf.max-size-bytes=19000

#AWS Bedrock
spring.ai.bedrock.aws.region=us-east-1
spring.ai.bedrock.converse.chat.options.model=us.anthropic.claude-sonnet-4-5-20250929-v1:0
spring.ai.bedrock.converse.chat.options.max-tokens=15000
spring.ai.bedrock.embedding.options.model=amazon.titan-embed-text-v2:0

#Vector store config
brxm.ai.vectorstore=PgVector
brxm.ai.vectorstore.pgvector.url=jdbc:postgresql://mypostgreshost:5432/myvectordb
brxm.ai.vectorstore.pgvector.password=mypassword
brxm.ai.vectorstore.pgvector.username=mypguser
brxm.ai.vectorstore.pgvector.dimensions=1024

#Ingestion config
brxm.ai.ingest.mode=preview
brxm.ai.ingest.types=myproject:bannerdocument, hippogallery:exampleAssetSet
brxm.ai.ingest.interval=120
brxm.ai.ingest.batch-size=5
brxm.ai.ingest.delay=1000
brxm.ai.ingest.initial-delay=300

YAML Format

/hippo:moduleconfig: jcr:primaryType: hipposys:moduleconfig brxm.ai.provider: Bedrock brxm.ai.chat.max-messages: '30' brxm.ai.chat.pdf.max-size-bytes: '19000' #AWS Bedrock spring.ai.bedrock.aws.region: us-east-1 spring.ai.bedrock.converse.chat.options.model: us.anthropic.claude-sonnet-4-5-20250929-v1:0 spring.ai.bedrock.converse.chat.options.max-tokens: '15000' spring.ai.bedrock.embedding.options.model: amazon.titan-embed-text-v2:0 #Vector store config brxm.ai.vectorstore: PgVector brxm.ai.vectorstore.pgvector.url: jdbc:postgresql://mypostgreshost:5432/myvectordb brxm.ai.vectorstore.pgvector.password: mypassword brxm.ai.vectorstore.pgvector.username: mypguser brxm.ai.vectorstore.pgvector.dimensions: '1024' #Ingestion config brxm.ai.ingest.mode: preview brxm.ai.ingest.types: myproject:bannerdocument, hippogallery:exampleAssetSet brxm.ai.ingest.interval: '120' brxm.ai.ingest.batch-size: '5' brxm.ai.ingest.delay: '1000' brxm.ai.ingest.initial-delay: '300'
Share Feedback
Page: /content-ai/setup-configuration/ai-module-configuration-example
Section: Content AI
Category *