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_BEDROCKenvironment variable, an IAM role, or AWS access keys. If you prefer static keys, addspring.ai.bedrock.aws.access-keyandspring.ai.bedrock.aws.secret-key. The target models must be enabled for your account in the Bedrock console. Note thattemperatureis intentionally omitted here because Claude Sonnet-class models reject an explicit temperature. Titan Text Embeddings v2 produces 1024-dimension vectors, so the PgVectordimensionsvalue is set to1024to 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'