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_MODEL setting across the entire application, you would use the PUT /api/v1/config/GENERATION_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_MODEL setting for tenantA, you would use the PUT /api/v1/config/GENERATION_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
GENERATION__LLM_MODELSupportedGenerationModelSupportedGenerationModel.CLAUDE_3_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__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.
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__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.

Values of GeneratedFieldApiType:

Value
TITLE
SUMMARY
BLURB
PLUG
SKILLS
KEYWORDS
QUESTIONS

Values of SupportedGenerationModel:

Value
CLAUDE_3_5_HAIKU
CLAUDE_3_HAIKU

Values of EngineWebImportRegexBehavior:

Value
NO_FILTER
MATCH_DOMAIN
MATCH_DIRECTORY
EXACT_MATCH