##################
#### Database ####
##################
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_URL=
POSTGRES_PORT=
POSTGRES_DB=
POSTGRES_CLIENT_CONNECTION_POOL_SIZE=5
POSTGRES_CLIENT_CONNECTION_POOL_MAX_OVERFLOW=15
POSTGRES_USE_SSL=true
# The URL must provide the SSL certificate in '.pem' resource format (e.g. https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem)
POSTGRES_SSL_CERT_DOWNLOAD_URL=
#[enabled, disabled] for raw inference persistence control
GENAI_ENGINE_ENABLE_PERSISTENCE=enabled

######################
#### Application #####
######################
# [local] or anything else for remote
GENAI_ENGINE_ENVIRONMENT=local
GENAI_ENGINE_LOG_FORMAT='[%(asctime)s] [%(process)d] [%(levelname)s] [%(module)s] %(message)s'
CURRENCY_DEFAULT_CURRENCY=USD

##################################
#### LLM for Rule Evaluations ####
##################################
# `Azure` or `OpenAI` (defaults to Azure)
GENAI_ENGINE_OPENAI_PROVIDER=Azure
OPENAI_API_VERSION=2025-02-01-preview
# Only one set is necessary, you can supply as many as you want with comma delimiters (ex. "DEPLOYMENT_NAME1::OPENAI_ENDPOINT1::SECRET_KEY1,DEPLOYMENT_NAME2::OPENAI_ENDPOINT2::SECRET_KEY2")
GENAI_ENGINE_OPENAI_GPT_NAMES_ENDPOINTS_KEYS=
GENAI_ENGINE_OPENAI_RATE_LIMIT_PERIOD_SECONDS=60
GENAI_ENGINE_OPENAI_RATE_LIMIT_TOKENS_PER_PERIOD=999999
# Optional configuration to provide a private endpoint IP not on DNS
#OPENAI_DNS_OVERRIDE_HOSTNAME=
# Optional configuration to provide a private endpoint IP not on DNS
#OPENAI_DNS_OVERRIDE_IP=

###############
#### Rules ####
###############
GENAI_ENGINE_SENSITIVE_DATA_CHECK_MAX_TOKEN_LIMIT=3000
GENAI_ENGINE_HALLUCINATION_CHECK_MAX_TOKEN_LIMIT=7000
GENAI_ENGINE_TOXICITY_CHECK_MAX_TOKEN_LIMIT=8000
GENAI_ENGINE_TOXICITY_HARMFUL_REQUESTS_CHUNK_SIZE=512
GENAI_ENGINE_TOXICITY_MAX_CHUNK_SIZE=32
GENAI_ENGINE_TOXICITY_MODEL_BATCH_SIZE=64
GENAI_ENGINE_USE_PII_MODEL_V2=true
GENAI_ENGINE_HALLUCINATION_V3=False

#########################################
#### Embedded API Key Authentication ####
#########################################
# The admin key
GENAI_ENGINE_ADMIN_KEY=changeme123
MAX_API_KEYS=1000
# For allowing the admin key to be used as API key (not recommended)
ALLOW_ADMIN_KEY_GENERAL_ACCESS=disabled

#################################
#### KeyCloak Authentication ####
#################################
# Set this to true in case you want to use Keycloak
KEYCLOAK_ENABLED=false
KEYCLOAK_HOST_URI=http://localhost:8080
KEYCLOAK_REALM=genai_engine
AUTH_CLIENT_ID=arthur-genai-engine
AUTH_CLIENT_SECRET=changeme123
AUTH_ADMIN_CONSOLE_USERNAME=admin
AUTH_ADMIN_CONSOLE_PASSWORD=changeme_aacp

###################
#### NewRelic #####
###################
NEWRELIC_ENABLED=false
NEW_RELIC_APP_NAME=arthur-genai-engine
OTEL_EXPORTER_OTLP_HEADERS=api-key=NEW_RELIC_LICENSE_KEY
OTEL_EXPORTER_OTLP_ENDPOINT=https://otlp.nr-data.net:4317

######################################
#### Experimental and Deprecated #####
#### (Soon to be removed) ############
######################################
# Any random alphanumeric string up to 32 characters, used for encrypting the session cookie sent to ui. Defaults to a random UUID.
#APP_SECRET_KEY=abcdef
# Provide your DNS URL (e.g. http://arthur-genai-engine.mydomain.com)
#GENAI_ENGINE_INGRESS_URI=
#GENAI_ENGINE_API_ONLY_MODE_ENABLED=disabled
#CHAT_ENABLED=enabled
# Only one is necessary, you can supply as many as you want with comma delimiters (ex. "DEPLOYMENT_NAME1::OPENAI_ENDPOINT1::SECRET_KEY1,DEPLOYMENT_NAME2::OPENAI_ENDPOINT2::SECRET_KEY2")
#GENAI_ENGINE_OPENAI_EMBEDDINGS_NAMES_ENDPOINTS_KEYS=
#DEFAULT_S3_BUCKET=
#DEFAULT_S3_ASSUMABLE_ROLE_ARN=

###################
#### Agentic ######
###################
# Poll interval for agentic job execution
GENAI_ENGINE_AGENTIC_POLLING_INTERVAL_SECONDS=3600

# chatbot max iterations
CHATBOT_ENABLED=enabled
GENAI_ENGINE_CHATBOT_MAX_ITERATIONS=30


###################
#### Audit Log ####
###################
AUDIT_LOG_ENABLED=true
AUDIT_LOG_RETENTION_DAYS=365
#AUDIT_LOG_OVERRIDE_PATH=

###################
#### Demo Mode ####
###################
GENAI_ENGINE_DEMO_MODE=disabled
