AIConfiguration Configuration
The aiconfiguration.json file is the central configuration file for AI Proxy. It defines connections to AI providers, available models, and the strategies used to select them. This file determines which models are available in WEBCON, the order in which they are selected (priority), and the connection parameters used to communicate with each provider.
This guide presents the full structure of the configuration file, together with examples for all three supported providers: Google Vertex AI, OpenAI, and Azure AI Foundry. Each section is explained in detail, including parameter descriptions and sample values. You can use the complete configuration as a starting point or include only the sections that are relevant to your scenario.
In Self-hosted mode, the values in ProviderConfiguration contain actual API keys, not secret names from Key Vault. For this reason, this file should not be committed to the repository.
What you will learn in this guide
- how to define connections to AI providers (
ProviderConnections), - how to configure available models and their priorities (
ProviderModels), - how to assign models to specific WEBCON functions (
MethodTypesConfiguration), - which parameters are required for each provider,
- how to configure failover strategies between providers.
Configuration structure
The file consists of three main sections:
- ProviderConnections - definitions of connections to AI providers,
- ProviderModels - the list of available models,
- MethodTypesConfiguration - assignment of models to specific functions.
Complete configuration example
Below is an example of a complete configuration that includes three AI providers: Azure AI Foundry, Google Vertex AI, and OpenAI.
{
"ProviderConnections": {
"AzureFoundry": {
"Description": "Azure AiFoundry Connector Provider",
"Type": "AzureAi",
"ProviderConfiguration": {
"ApiKey": "your-azure-api-key-here",
"Endpoint": "https://your-endpoint.openai.azure.com/"
}
},
"GoogleVertex": {
"Description": "Google Connector Provider",
"Type": "Gemini",
"ProviderConfiguration": {
"ApiKey": "your-google-api-key-here",
"ServiceAccount": "{\"type\":\"service_account\",\"project_id\":\"your-project\"...}",
"ProjectId": "your-project-id",
"Region": "us-central1",
"BucketName": "your-bucket-name",
"DocumentationProcessBuilderRagCorpus": "your-corpus-id"
}
},
"OpenAi": {
"Description": "OpenAi Connector Provider",
"Type": "OpenAi",
"ProviderConfiguration": {
"ApiKey": "sk-your-openai-api-key-here"
}
}
},
"ProviderModels": [
{
"ConnectionName": "GoogleVertex",
"Priority": 4,
"Name": "Gemini 2.0-flash-lite-001",
"Description": "",
"TextModel": {
"ModelName": "gemini-2.0-flash-lite-001"
},
"ImageModel": {
"ModelName": "imagen-3.0-fast-generate-001"
},
"AudioModel": {
"ModelName": "gemini-2.0-flash-lite-001"
},
"EmbeddingModel": {
"ModelName": "gemini-embedding-001"
}
},
{
"ConnectionName": "GoogleVertex",
"Priority": 3,
"Name": "Vertex gemini 2.5-flash-lite",
"Description": "",
"TextModel": {
"ModelName": "gemini-2.5-flash-lite"
},
"ImageModel": {
"ModelName": "imagen-3.0-fast-generate-001"
},
"AudioModel": {
"ModelName": "gemini-2.5-flash-lite"
},
"EmbeddingModel": {
"ModelName": "gemini-embedding-001"
}
},
{
"ConnectionName": "GoogleVertex",
"Priority": 2,
"Name": "Vertex gemini 2.5-flash",
"Description": "",
"TextModel": {
"ModelName": "gemini-2.5-flash"
},
"ImageModel": {
"ModelName": "imagen-3.0-fast-generate-001"
},
"AudioModel": {
"ModelName": "gemini-2.5-flash"
},
"EmbeddingModel": {
"ModelName": "gemini-embedding-001"
}
},
{
"ConnectionName": "OpenAi",
"Priority": 1,
"Name": "OpenAi BasicTier",
"Description": "",
"TextModel": {
"ModelName": "gpt-4o-mini-2024-07-18"
},
"ImageModel": {
"ModelName": "gpt-4o-mini-2024-07-18"
},
"AudioModel": {
"ModelName": "whisper-01"
},
"EmbeddingModel": {
"ModelName": "text-embedding-3-small"
}
}
],
"MethodTypesConfiguration": {
"ConciergePrompt": [
"Vertex gemini 2.5-flash-lite",
"Gemini 2.0-flash-lite-001"
],
"ConciergeExecuteTool": [
"Vertex gemini 2.5-flash-lite",
"Gemini 2.0-flash-lite-001"
]
}
}
Section overview
ProviderConnections
This section contains definitions of connections to AI providers. Each entry includes:
- Type - the provider type, such as
AzureAi,Gemini,OpenAi, - ProviderConfiguration - API keys and other connection parameters.
You can remove unused providers from the configuration. For example, if you use only Google Vertex AI, you can remove the AzureFoundry and OpenAi sections.
ProviderModels
This section contains the list of available AI models. Each model includes:
- ConnectionName - the name of the connection defined in the
ProviderConnectionssection, - Priority - the model priority (higher = preferred), used during automatic selection,
- Name - a unique model name,
- TextModel, ImageModel, AudioModel, EmbeddingModel - the names of specific models used for different types of operations.
MethodTypesConfiguration
This section maps operation types to models. It defines which models will be used for specific functions:
- ConciergePrompt - responses to user questions,
- ConciergeExecuteTool - tool execution by AI.
The order of models in the array defines the preference. AI Proxy will first try to use the first model in the list, and if it is not available, it will move on to the next one.
Basic configuration steps
1. Prepare API keys
Obtain the required credentials from your AI providers:
- Google Vertex AI - a Service Account JSON file, Project ID, and Region,
- OpenAI - an API Key starting with
sk-, - Azure OpenAI - an API Key and Endpoint URL.
2. Edit the aiconfiguration.json file
Provide the required values in the ProviderConfiguration section:
"ProviderConfiguration": {
"ApiKey": "sk-your-actual-api-key-here"
}
3. Save the configuration file
Before starting the container, make sure that:
- the JSON syntax is valid, with no missing commas or brackets,
- all required API keys and connection parameters have been provided,
- the file is located in the same directory as
docker-compose.yml.
4. Run the container
docker-compose up -d
Troubleshooting
Error: Invalid JSON format
# Check JSON validity online or in editor
# Make sure that:
# - All quotes are double "
# - Commas between elements (but not after the last one)
# - All brackets {} and [] are closed
Error: Authentication failed
Possible causes:
- the API key is invalid,
- the API key has expired or has been revoked,
- the endpoint is incorrect, particularly in the case of Azure.
Solution:
# Check container logs
docker-compose logs ai-proxy
# Generate new API key from provider
# Update aiconfiguration.json
# Restart container
docker-compose restart ai-proxy
Model is not being used
Possible causes:
- the value of
ConnectionNamedoes not match the corresponding name inProviderConnections, - the specified model does not exist on the provider side, for example due to a typo in
ModelName, - the value of
NameinMethodTypesConfigurationdoes not match the value ofNameinProviderModels.
Solution: Check that the names used across all sections are consistent. They must match exactly, including letter case.