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:

  1. Basis-Konfiguration
  2. Weaviate-Konfiguration
  3. Embedding-Konfiguration
  4. 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:

ParameterBeschreibungVerpflichtendStandard
idDie eindeutige ID des Vaults (wird bei der Erstellung in meinGPT generiert)-
standalone_modeWenn true werden keine Datenpool-Konfigurationen von meinGPT abgerufen, sondern ausschließlich die lokal konfigurierten verwendetfalse
data_dirVerzeichnis für temporäre Daten und Dateien. Dient als Synchronisationsziel für rclone./tmp
secretGeheimer 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.

ParameterBeschreibungVerpflichtendStandard
connection_typeArt der Verbindung zum Weaviate-Server. Mögliche Werte: local oder customlocal
hostHTTP-Host der Weaviate-Instanzweaviate
portHTTP-Port der Weaviate-Instanz8001
grpc_hostgRPC-Host der Weaviate-Instanzweaviate
grpc_portgRPC-Port der Weaviate-Instanz50051
api_keyAPI-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.