Przejdź do głównej zawartości
Wersja: 2026 R1

Konfiguracja AIConfiguration

Plik aiconfiguration.json jest centralnym punktem konfiguracji AI Proxy - definiuje w nim wszystkie połączenia z dostawcami AI, dostępne modele oraz strategie ich wykorzystania. Ten plik określa, które modele są dostępne dla WEBCON, w jakiej kolejności są wybierane (priority), oraz jakie parametry połączenia są używane do komunikacji z poszczególnymi dostawcami.

W tym przewodniku znajdziesz pełną strukturę pliku konfiguracji z przykładami dla wszystkich trzech obsługiwanych dostawców: Google Vertex AI, OpenAI oraz Azure AI Foundry. Każda sekcja jest szczegółowo opisana z wyjaśnieniem parametrów i przykładami wartości. Możesz użyć pełnej konfiguracji jako punkt wyjścia lub wybrać tylko te sekcje, które odpowiadają Twoim potrzebom.

Ważne dla trybu Self-hosted

W trybie Self-hosted wartości w ProviderConfiguration zawierają rzeczywiste klucze API (nie nazwy sekretów z Key Vault). Nie commituj tego pliku do repozytorium.

Czego dowiesz się z tego przewodnika

  • Jak zdefiniować połączenia z dostawcami AI (ProviderConnections)
  • Jak skonfigurować dostępne modele i ich priorytety (ProviderModels)
  • Jak przypisać modele do konretnych funkcji WEBCON (MethodTypesConfiguration)
  • Jakie parametry są wymagane dla każdego dostawcy
  • Jak skonfigurować strategie failover między dostawcami

Struktura konfiguracji

Plik zawiera trzy sekcje:

  1. ProviderConnections - definicje połączeń z dostawcami AI
  2. ProviderModels - lista dostępnych modeli
  3. MethodTypesConfiguration - przypisanie modeli do funkcji

Przykład kompletnej konfiguracji

Poniżej znajduje się kompletna konfiguracja z trzema dostawcami AI (Azure, Google Vertex, 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"
]
}
}

Wyjaśnienie sekcji

ProviderConnections

Definicje połączeń z dostawcami AI. Każdy wpis zawiera:

  • Type - typ dostawcy: AzureAi, Gemini, OpenAi
  • ProviderConfiguration - klucze API i inne parametry połączenia
wskazówka

Możesz usunąć nieużywanych dostawców z konfiguracji. Jeśli używasz tylko Google Vertex, możesz usunąć sekcje AzureFoundry i OpenAi.

ProviderModels

Lista dostępnych modeli AI. Każdy model zawiera:

  • ConnectionName - nazwa połączenia z sekcji ProviderConnections
  • Priority - priorytet (wyższy = preferowany), używany przy automatycznym wyborze
  • Name - unikalna nazwa modelu
  • TextModel, ImageModel, AudioModel, EmbeddingModel - nazwy konkretnych modeli dla różnych typów operacji

MethodTypesConfiguration

Mapowanie typów operacji na modele. Określa które modele będą używane dla różnych funkcji:

  • ConciergePrompt - odpowiedzi na pytania użytkowników
  • ConciergeExecuteTool - wykonywanie narzędzi przez AI

Kolejność w tablicy określa preferencje - AI Proxy spróbuje najpierw użyć pierwszego modelu, a jeśli nie będzie dostępny, przejdzie do następnego.

Podstawowe kroki konfiguracji

1. Przygotuj klucze API

Zdobądź klucze API od swoich dostawców:

  • Google Vertex AI - Service Account JSON, Project ID, Region
  • OpenAI - API Key rozpoczynający się od sk-
  • Azure OpenAI - API Key i Endpoint URL

2. Edytuj plik aiconfiguration.json

Uzupełnij wartości w sekcji ProviderConfiguration:

"ProviderConfiguration": {
"ApiKey": "sk-your-actual-api-key-here"
}

3. Zapisz plik

Upewnij się, że:

  • Format JSON jest poprawny (brak brakujących przecinków/nawiasów)
  • Wszystkie klucze API są uzupełnione
  • Plik znajduje się w tym samym katalogu co docker-compose.yml

4. Uruchom kontener

docker-compose up -d

Rozwiązywanie problemów

Błąd: Invalid JSON format

# Sprawdź poprawność JSON online lub edytorem
# Upewnij się, że:
# - Wszystkie cudzysłowy są podwójne "
# - Przecinki między elementami (ale nie po ostatnim)
# - Wszystkie nawiasy {} i [] są zamknięte

Błąd: Authentication failed

Typowe przyczyny:

  • Nieprawidłowy klucz API
  • Klucz wygasł lub został odwołany
  • Endpoint niepoprawny (dla Azure)

Rozwiązanie:

# Sprawdź logi kontenera
docker-compose logs ai-proxy

# Wygeneruj nowy klucz API u dostawcy
# Zaktualizuj aiconfiguration.json
# Zrestartuj kontener
docker-compose restart ai-proxy

Model nie jest używany

Przyczyny:

  • ConnectionName nie pasuje do nazwy w ProviderConnections
  • Model nie istnieje u dostawcy (literówka w ModelName)
  • Name w MethodTypesConfiguration nie pasuje do Name w ProviderModels

Rozwiązanie: Sprawdź zgodność nazw we wszystkich sekcjach - muszą dokładnie pasować (wielkość liter ma znaczenie).