Config Structure
Note: Fields not specifically mentioned as required are optional.
version
- required
Key | Type | Description | Example |
---|---|---|---|
version | String | Specifies the version of the configuration file. | version: 1.0.8 |
cache
Key | Type | Description | Example |
---|---|---|---|
cache | Boolean | Toggles caching on or off. Set to `true` to enable caching (default). | cache: true |
fileStrategy
Key | Type | Description | Example |
---|---|---|---|
fileStrategy | String | Determines where to save user uploaded/generated files. Defaults to `"local"` if omitted. | fileStrategy: "firebase" |
filteredTools
Key | Type | Description | Example |
---|---|---|---|
filteredTools | Array of Strings | Filters out specific tools from both Plugins and OpenAI Assistants endpoints. | filteredTools: ["scholarai", "calculator"] |
- Notes:
- If
includedTools
andfilteredTools
are both specified, onlyincludedTools
will be recognized. - Affects both
gptPlugins
andassistants
endpoints - You can find the names of the tools to filter in
api/app/clients/tools/manifest.json
- Use the
pluginKey
value
- Use the
- Also, any listed under the “.well-known” directory
api/app/clients/tools/.well-known
- Use the
name_for_model
value
- Use the
- If
includedTools
Key | Type | Description | Example |
---|---|---|---|
includedTools | Array of Strings | Includes specific tools from both Plugins and OpenAI Assistants endpoints. | includedTools: ["calculator"] |
- Notes:
- If
includedTools
andfilteredTools
are both specified, onlyincludedTools
will be recognized. - Affects both
gptPlugins
andassistants
endpoints - You can find the names of the tools to filter in
api/app/clients/tools/manifest.json
- Use the
pluginKey
value
- Use the
- Also, any listed under the “.well-known” directory
api/app/clients/tools/.well-known
- Use the
name_for_model
value
- Use the
- If
secureImageLinks
Key | Type | Description | Example |
---|---|---|---|
secureImageLinks | Boolean | Whether or not to secure access to image links that are hosted locally by the app. Default: false. | secureImageLinks: true |
imageOutputType
- Note: Case-sensitive. Google endpoint only supports “jpeg” and “png” output types.
- Options: “png” | “webp” | “jpeg”
Key | Type | Description | Example |
---|---|---|---|
imageOutputType | String | The image output type for image responses. Defaults to "png" if omitted. | imageOutputType: "webp" |
fileConfig
Key:
Key | Type | Description | Example |
---|---|---|---|
fileConfig | Object | Configures file handling settings for the application, including size limits and MIME type restrictions. |
Subkeys:
Key | Type | Description | Example |
---|---|---|---|
endpoints | Record/Object | Specifies file handling configurations for individual endpoints, allowing customization per endpoint basis. | |
serverFileSizeLimit | Number | The maximum file size (in MB) that the server will accept. Applies globally across all endpoints unless overridden by endpoint-specific settings. | |
avatarSizeLimit | Number | Maximum size (in MB) for user avatar images. |
see: File Config Object Structure
rateLimits
Key:
Key | Type | Description | Example |
---|---|---|---|
rateLimits | Object | Defines rate limiting policies to prevent abuse by limiting the number of requests. |
Subkeys:
Key | Type | Description | Example |
---|---|---|---|
fileUploads | Object | Configures rate limits specifically for file upload operations. | |
conversationsImport | Object | Configures rate limits specifically for conversation import operations. | |
stt | Object | Configures rate limits specifically for speech-to-text (stt) requests | |
tts | Object | Configures rate limits specifically for text-to-speech (tts) requests |
fileUploads Subkeys:
Key | Type | Description | Example |
---|---|---|---|
ipMax | Number | Maximum number of uploads allowed per IP address per window. | |
ipWindowInMinutes | Number | Time window in minutes for the IP-based upload limit. | |
userMax | Number | Maximum number of uploads allowed per user per window. | |
userWindowInMinutes | Number | Time window in minutes for the user-based upload limit. |
conversationsImport Subkeys:
Key | Type | Description | Example |
---|---|---|---|
ipMax | Number | Maximum number of imports allowed per IP address per window. | |
ipWindowInMinutes | Number | Time window in minutes for the IP-based imports limit. | |
userMax | Number | Maximum number of imports per user per window. | |
userWindowInMinutes | Number | Time window in minutes for the user-based imports limit. |
tts Subkeys:
Key | Type | Description | Example |
---|---|---|---|
ipMax | Number | Maximum number of requests allowed per IP address per window. | |
ipWindowInMinutes | Number | Time window in minutes for the IP-based requests limit. | |
userMax | Number | Maximum number of requests per user per window. | |
userWindowInMinutes | Number | Time window in minutes for the user-based requests limit. |
stt Subkeys:
Key | Type | Description | Example |
---|---|---|---|
ipMax | Number | Maximum number of requests allowed per IP address per window. | |
ipWindowInMinutes | Number | Time window in minutes for the IP-based requests limit. | |
userMax | Number | Maximum number of requests per user per window. | |
userWindowInMinutes | Number | Time window in minutes for the user-based requests limit. |
- Example:
rateLimits
rateLimits:
fileUploads:
ipMax: 100
ipWindowInMinutes: 60
userMax: 50
userWindowInMinutes: 60
conversationsImport:
ipMax: 100
ipWindowInMinutes: 60
userMax: 50
userWindowInMinutes: 60
stt:
ipMax: 100
ipWindowInMinutes: 1
userMax: 50
userWindowInMinutes: 1
tts:
ipMax: 100
ipWindowInMinutes: 1
userMax: 50
userWindowInMinutes: 1
registration
Key:
Key | Type | Description | Example |
---|---|---|---|
registration | Object | Configures registration-related settings for the application. |
Subkeys:
Key | Type | Description | Example |
---|---|---|---|
socialLogins | Social login configurations. | ||
allowedDomains | Specifies allowed domains for registration. |
see also:
interface
Key:
Key | Type | Description | Example |
---|---|---|---|
interface | Object | Configures user interface elements within the application, allowing for customization of visibility and behavior of various components. |
Subkeys:
Key | Type | Description | Example |
---|---|---|---|
privacyPolicy | Object | Contains settings related to the privacy policy link provided. | |
termsOfService | Object | Contains settings related to the terms of service link provided. | |
endpointsMenu | Boolean | Controls the visibility of the endpoints dropdown menu. | |
modelSelect | Boolean | Determines whether the model selection feature is available. | |
parameters | Boolean | Toggles the visibility of parameter configuration options AKA conversation settings. | |
sidePanel | Boolean | Controls the visibility of the right-most side panel. | |
presets | Boolean | Enables or disables the presets menu | |
prompts | Boolean | Enables or disables all prompt-related features for all users | |
bookmarks | Boolean | Enables or disables all bookmarks-related features for all users | |
multiConvo | Boolean | Enables or disables all "multi convo", AKA multiple response streaming, related features for all users |
see: Interface Object Structure
modelSpecs
Key:
Key | Type | Description | Example |
---|---|---|---|
modelSpecs | Object | Configures model specifications, allowing for detailed setup and customization of AI models and their behaviors within the application. |
Subkeys:
Key | Type | Description | Example |
---|---|---|---|
enforce | Boolean | Determines whether the model specifications should strictly override other configuration settings. | |
prioritize | Boolean | Specifies if model specifications should take priority over the default configuration when both are applicable. | |
list | Array of Objects | Contains a list of individual model specifications detailing various configurations and behaviors. |
see: Model Specs Object Structure
endpoints
Key:
Key | Type | Description | Example |
---|---|---|---|
endpoints | Object | Defines custom API endpoints for the application. |
Subkeys:
Key | Type | Description | Example |
---|---|---|---|
custom | Array of Objects | Each object in the array represents a unique endpoint configuration. | |
azureOpenAI | Object | Azure OpenAI endpoint-specific configuration | |
assistants | Object | Assistants endpoint-specific configuration. | |
azureAssistants | Object | Azure Assistants endpoint-specific configuration. |