Der DataVault wird über eine YAML-Datei konfiguriert, deren Pfad aus der VAULT_CONFIG_FILE_PATH Umgebungsvariable gelesen wird.
Die Konfiguration besteht im wesentlichen aus drei Teilen:
- Basis-Konfiguration
- Weaviate-Konfiguration
- Embedding-Konfiguration
- Datenpools
Basis-Konfiguration
Die Konfigurationsdatei für den Vault unterstützt das laden von Werten aus der
Ugebungsvariablen mit der Syntax key: $ENVIRONMENT_VARIABLE. Dies ist
besonder nützlich, wenn geheime Werte wie API-Schlüssel getrennt von der
Konfiguration aufbewahrt werden sollen.
Die Basis-Konfiguration erfolgt im vault-Abschnitt der Konfigurationsdatei und enthält folgende Parameter:
| Parameter | Beschreibung | Verpflichtend | Standard |
|---|
id | Die eindeutige ID des Vaults (wird bei der Erstellung in meinGPT generiert) | ✓ | - |
standalone_mode | Wenn true werden keine Datenpool-Konfigurationen von meinGPT abgerufen, sondern ausschließlich die lokal konfigurierten verwendet | ✗ | false |
data_dir | Verzeichnis für temporäre Daten und Dateien. Dient als Synchronisationsziel für rclone | ✗ | ./tmp |
secret | Geheimer Schlüssel für die Authentifizierung des Vaults (wird bei der Erstellung in meinGPT generiert) | ✓ | - |
Beispiel-Konfiguration:
vault:
id: vault_1234567890
standalone_mode: false
data_dir: /data/vault
secret: $VAULT_SECRET # Laden des Secrets aus Umgebungsvariable
Der geheime Schlüssel (secret) sollte sicher verwahrt und nicht im Klartext
in der Konfigurationsdatei gespeichert werden. Nutzen Sie stattdessen
Umgebungsvariablen oder ein sicheres Secret Management System.
Weaviate-Konfiguration
Die Weaviate-Konfiguration erfolgt im weaviate-Abschnitt der Konfigurationsdatei und definiert die Verbindung zur Vektor-Datenbank.
| Parameter | Beschreibung | Verpflichtend | Standard |
|---|
connection_type | Art der Verbindung zum Weaviate-Server. Mögliche Werte: local oder custom | ✗ | local |
host | HTTP-Host der Weaviate-Instanz | ✗ | weaviate |
port | HTTP-Port der Weaviate-Instanz | ✗ | 8001 |
grpc_host | gRPC-Host der Weaviate-Instanz | ✗ | weaviate |
grpc_port | gRPC-Port der Weaviate-Instanz | ✗ | 50051 |
api_key | API-Schlüssel für die Authentifizierung bei der Weaviate-Instanz | ✗ | "" |
Im local-Modus werden nur der host, port und grpc_host beachtet. Wenn zusätzliche Parameter gebraucht werden, kann der custom-Modus verwendet werden, um einen abweichenden grpc_host zu setzen und Authentifizierung zu aktivieren.
Beispiel-Konfiguration für eine lokale Weaviate-Instanz:
weaviate:
connection_type: "local"
host: weaviate
port: 8001
grpc_port: 50051
Beispiel-Konfiguration für eine externe Weaviate-Instanz:
weaviate:
connection_type: "custom"
host: weaviate.example.com
port: 443
grpc_host: grpc.weaviate.example.com
grpc_port: 443
api_key: $WEAVIATE_API_KEY
Für die meisten Anwendungsfälle kann die Standard-Konfiguration verwendet
werden, wenn Weaviate wie in der Docker-Compose-Datei beschrieben deployed
wird.