Settings and Configuration

Settings and Configurations

Rustici Generator uses configuration settings to adjust the application’s behavior to better suit your needs. Although we have done our best to set appropriate default values for each setting, you may find that alternative values work better for you and your organization.

The following endpoints should be used to manage the application’s configuration settings:

  • GET /api/v1/config to view all configuration values
  • GET /api/v1/config/{setting_name} to view a single configuration value
  • PUT /api/v1/config/{setting_name} to set the value for a single configuration setting
  • DELETE /api/v1/config/{setting_name} to unset the configuration setting’s tenant-level value (see below for more information)

Configuration Scope

Configuration settings can be configured with different scopes. Each configuration setting can be configured with:

  • a system-level value, which is used as the default value for the setting applied across the application, and
  • a tenant-level value, which specifies settings’ value to within the specified tenant.

By default, each tenant uses the system-level value for a configuration setting. Tenant-level setting values overwrite the setting’s system-level values for a particular tenant.

When interacting through the API, the tenant-id header is used to determine which level is being requested by the API request. When the tenant-id header is provided, the application will consider the setting’s tenant-level value. If no tenant-id header is provided in the request, the setting’s system-level value is considered.

For example, if you wanted to change the default value for the GENERATION__LLM_MODEL setting across the entire application, you would use the PUT /api/v1/config/GENERATION__LLM_MODEL endpoint and not include a tenant-id header.

Now, suppose your application has two tenants: tenantA and tenantB. If you wanted to change the value of the GENERATION__LLM_MODEL setting for tenantA, you would use the PUT /api/v1/config/GENERATION__LLM_MODEL endpoint and include a tenant-id: tenantA header. Changing the tenant-level value of a configuration setting for tenantA does not impact its value in tenantB.

The tenant-id header is optional for the GET and PUT configuration endpoints. However, the tenant-id header is required when using the DELETE /api/v1/config/{setting_name} endpoint. The application uses the system-level configuration as the default value, so you are unable to delete this setting. When calling the DELETE endpoint for a tenant-level configuration, the application is unsetting its value, which functionally reverts it to the system-level value.

Settings

The following configuration settings are supported:

FieldTypeDefaultDescription
IMPORT__TEXT_OBJECT_STORETextObjectStoreConfiguration for the text object store.
GENERATION__LLM_MODELSupportedGenerationModelSupportedGenerationModel.CLAUDE_4_5_HAIKUDetermines which AI model should be used when performing text-based generation tasks.
GENERATION__TEMPERATUREfloat0.2A parameter ranging from 0 to 1 that indicates how ‘random’ an LLM response should be. A higher temerpature results in more diverse and creative outputs.
GENERATION__TOP_Pfloat1Limits the LLM to the ‘most-likely’ tokens available to use in a response. The model will choose from the smallest set of words whose cumulative probability exceeds the GENERATION__TOP_P value.
GENERATION__TOP_Kint100A parameter greater than 0 that limits the LLM to the number of ‘most-likely’ tokens available to use in a response. A low GENERATION__TOP_K value would restrict the LLM response to only tokens with a high probability.
GENERATION__COUNTint5Specifies how many metadata fields should be generated with each field generation process.
GENERATION__SKILL_TAXONOMYstrThe ID of the imported skills taxonomy that Generator should coordinate with when generating SKILLS metadata.
GENERATION__KEYWORD_TAXONOMYstrThe ID of the imported keywords taxonomy that Generator should coordinate with when generating KEYWORDS metadata.
GENERATION__TRANSCRIBE_CUSTOM_VOCABCustomVocabphrases=[]A list of custom vocabulary phrases that should be used when transcribing audio/video files. NOTE: Changing this setting will add a significant one-time delay to the next import job that requires transcription.
GENERATION__OUTPUT_LANGUAGEstren-USA language-country-variant code that specifies the language and dialect for Generator-created text.
ENGINE__DEFAULT_GENERATION_FIELDSlist[GeneratedFieldApiType][]A list parameter involved with the Engine Webhook Import process to specify any metadata fields that should be generated as part of the content import process.
ENGINE__MPX_DELAY_SECint30How long should Generator wait after receiving an MPX webhook import from Engine. If a VTT is configured for that Engine course and a webhook is sent to Generator within that window, then Generator will cancel the MPX import and just use the new VTT.
ENGINE__MP4_CONFIGURE_VTTboolTrueShould Generator automatically configure .mp4 Engine courses with the .vtt (subtitles) it generates via Engine’s ‘ContentLangToUrl’ setting.
ENGINE__WEB_IMPORT_MAX_DEPTHint1The default depth to use when scraping a web page.
ENGINE__WEB_IMPORT_DEFAULT_REGEX_FILTEREngineWebImportRegexBehaviorEngineWebImportRegexBehavior.MATCH_DOMAINThe default regex filter to use when scraping a web page.
DB__TENANT_DB_CONNECTION_STRINGstr (optional)NoneThe hostname of the database where tenant data will be stored. If not provided, tenant data be saved to the system database.
Example format: postgresql+psycopg2://[USERNAME]:[PASSWORD]@[HOST]:[PORT]/[DATABASE]
Cannot be set at the system level, so a tenant-id header is required when updating this setting.
DB__TENANT_DB_POOL_SIZEint (optional)NoneThe size of the connection pool to use when connecting to the tenant database. If not provided, the system database pool size will be used.
DB__TENANT_DB_MAX_OVERFLOWint (optional)NoneThe maximum number of connections to allow in the connection pool when connecting to the tenant database. If not provided, the system database max overflow will be used.
DB__TENANT_DB_POOL_TIMEOUTint (optional)NoneThe maximum amount of time to wait for a connection to become available when connecting to the tenant database. If not provided, the system database pool timeout will be used.

Properties of CustomVocab:

FieldTypeDescription
phraseslist[CustomVocabPhrase]A list of custom vocabulary phrases that should be used when transcribing audio/video files.

Properties of CustomVocabPhrase:

FieldTypeDescription
phrasestrThe phrase to transcribe.
display_asstrThe display as the phrase should be shown as.

Properties of S3Location:

FieldTypeDescription
bucketstrThe name of the S3 bucket where text should be stored.
regionstr (optional)AWS region name (e.g., ‘us-east-1’). If omitted, the AWS SDK will use the default configured region.
access_key_idstr (optional)AWS access key ID. If omitted, credentials will be resolved via the standard AWS provider chain.
secret_access_keystr (optional)AWS secret access key. Required if access_key_id is provided manually.
session_tokenstr (optional)AWS session token for temporary security credentials.

Properties of TextObjectStore:

FieldTypeDefaultDescription
enabledboolFalseWhether Generator should store text in an S3 bucket.
formatTextFormatTextFormat.JSONThe format to use when serializing the text for storage.
s3_locationS3Location (optional)NoneThe S3 location to use when storing text in an S3 bucket.

Values of EngineWebImportRegexBehavior:

Value
NO_FILTER
MATCH_DOMAIN
MATCH_DIRECTORY
EXACT_MATCH

Values of TextFormat:

Value
text
json
vtt

Values of GeneratedFieldApiType:

Value
TITLE
SUMMARY
BLURB
PLUG
SKILLS
KEYWORDS
QUESTIONS

Values of SupportedGenerationModel:

Value
CLAUDE_4_5_HAIKU
CLAUDE_3_5_HAIKU
CLAUDE_3_HAIKU