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/configto view all configuration valuesGET /api/v1/config/{setting_name}to view a single configuration valuePUT /api/v1/config/{setting_name}to set the value for a single configuration settingDELETE /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:
| Field | Type | Default | Description |
|---|---|---|---|
| IMPORT__TEXT_OBJECT_STORE | TextObjectStore | Configuration for the text object store. | |
| GENERATION__LLM_MODEL | SupportedGenerationModel | SupportedGenerationModel.CLAUDE_4_5_HAIKU | Determines which AI model should be used when performing text-based generation tasks. |
| GENERATION__TEMPERATURE | float | 0.2 | A 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_P | float | 1 | Limits 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_K | int | 100 | A 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__COUNT | int | 5 | Specifies how many metadata fields should be generated with each field generation process. |
| GENERATION__SKILL_TAXONOMY | str | The ID of the imported skills taxonomy that Generator should coordinate with when generating SKILLS metadata. | |
| GENERATION__KEYWORD_TAXONOMY | str | The ID of the imported keywords taxonomy that Generator should coordinate with when generating KEYWORDS metadata. | |
| GENERATION__TRANSCRIBE_CUSTOM_VOCAB | CustomVocab | phrases=[] | 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_LANGUAGE | str | en-US | A language-country-variant code that specifies the language and dialect for Generator-created text. |
| ENGINE__DEFAULT_GENERATION_FIELDS | list[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_SEC | int | 30 | How 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_VTT | bool | True | Should Generator automatically configure .mp4 Engine courses with the .vtt (subtitles) it generates via Engine’s ‘ContentLangToUrl’ setting. |
| ENGINE__WEB_IMPORT_MAX_DEPTH | int | 1 | The default depth to use when scraping a web page. |
| ENGINE__WEB_IMPORT_DEFAULT_REGEX_FILTER | EngineWebImportRegexBehavior | EngineWebImportRegexBehavior.MATCH_DOMAIN | The default regex filter to use when scraping a web page. |
| DB__TENANT_DB_CONNECTION_STRING | str (optional) | None | The 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_SIZE | int (optional) | None | The 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_OVERFLOW | int (optional) | None | The 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_TIMEOUT | int (optional) | None | The 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:
| Field | Type | Description |
|---|---|---|
| phrases | list[CustomVocabPhrase] | A list of custom vocabulary phrases that should be used when transcribing audio/video files. |
Properties of CustomVocabPhrase:
| Field | Type | Description |
|---|---|---|
| phrase | str | The phrase to transcribe. |
| display_as | str | The display as the phrase should be shown as. |
Properties of S3Location:
| Field | Type | Description |
|---|---|---|
| bucket | str | The name of the S3 bucket where text should be stored. |
| region | str (optional) | AWS region name (e.g., ‘us-east-1’). If omitted, the AWS SDK will use the default configured region. |
| access_key_id | str (optional) | AWS access key ID. If omitted, credentials will be resolved via the standard AWS provider chain. |
| secret_access_key | str (optional) | AWS secret access key. Required if access_key_id is provided manually. |
| session_token | str (optional) | AWS session token for temporary security credentials. |
Properties of TextObjectStore:
| Field | Type | Default | Description |
|---|---|---|---|
| enabled | bool | False | Whether Generator should store text in an S3 bucket. |
| format | TextFormat | TextFormat.JSON | The format to use when serializing the text for storage. |
| s3_location | S3Location (optional) | None | The 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 |