Konfigurieren

Integrieren Sie die Dify Enterprise Edition in Oracle AI Database 26ai, um multimodalen Vektorspeicher und effizientes Abrufen zu nutzen. Um die Vektorspeicher- und Abruffunktionen von Oracle AI Database 26ai zu aktivieren, konfigurieren Sie die Datenbank vor und ändern Sie die Parameter in Dify, um sicherzustellen, dass Vektordaten nahtlos durch die Integration der Dify-Anwendung und der Oracle AI Database 26ai-Vektorverwaltung geschrieben und abgerufen werden können.

Dedizierte Oracle AI Database 26ai-Umgebung vorkonfigurieren

Installieren und konfigurieren Sie in Dify Enterprise Edition (EE) die Oracle Pluggable Database (PDB)-Datenbank.
Sie müssen zuerst einen Datenbankzugriffsbenutzer in der Oracle PDB erstellen. Konfigurieren Sie anschließend den Benutzer und das Kennwort für die Datenbankverbindung in der EE-Konfigurationsdatei Dify. Die Verwendung des PDB-Servicenamens ist ausreichend. Gehen Sie wie folgt vor:
  1. Melden Sie sich bei Oracle AI Database 26ai an.
  2. Wechseln Sie zur Ziel-PDB.
    1. Führen Sie den Befehl show pdbs aus, um alle verfügbaren PDBs (wie PDB1) anzuzeigen.
    2. Wechseln Sie mit dem folgenden Beispielbefehl zum Ziel-PDB-Container:
      alter session set container=PDB1
  3. Erstellen Sie einen Dify-Benutzer, und autorisieren Sie ihn.
    1. Führen Sie den folgenden Befehl durch, um einen dedizierten Benutzer zu erstellen:
      create user dify identified by password default tablespace users quota unlimited on users
    2. Führen Sie den folgenden Befehl aus, um dem Benutzer Berechtigungen für die Datenbankentwicklung zu erteilen:
      grant db_developer_role to dify
    Dadurch wird sichergestellt, dass der Benutzer über die Berechtigungen Tabellenerstellung und Vektorindexvorgänge verfügt.
  4. Erstellen Sie einen Tokenizer für die Vektorsuche.
    Führen Sie PL/SQL-Anweisungen aus, um einen mehrsprachigen Textumbruch zu erstellen. Beispiel:
    BEGIN CTX_DDL.CREATE_PREFERENCE('dify.world_ lexer ','WORLD_LEXER');
    END; /.
    Dieser Wortumbruch kann Text in mehreren Sprachen verarbeiten, einschließlich Chinesisch und Englisch, um einen genauen Textabruf sicherzustellen.

Verbinden Sie Dify mit Oracle AI Database

Befolgen Sie diese Schritte, um Dify-Helm-Werte und -Vorlagen zu kodifizieren. Wenden Sie dann die Konfiguration an, und prüfen Sie sie, um eine Verbindung zu Oracle AI Database 26ai herzustellen.
  1. Ändern Sie die values.yaml-Konfiguration.
    Fügen Sie der Helm-Konfigurationsdatei von Dify Oracle-Vektordatenbankparameter hinzu, um Informationen zur Datenbankverbindung und die Authentifizierungsmethode anzugeben.
    vectorDB:
      externalType: "oracle"
      externalOracleVectoRS:
        dsn: "Oracle_IP:1521/PDB1"  # Database address and PDB
        user: "dify"                # Dify dedicated username
        password: "dify_1234"       # Password
        config_dir: "/app/api/storage/wallet"
        wallet_location: "/app/api/storage/wallet"
        is_autonomous: "false"      # Is it an autonomous database?
  2. Ändern Sie die Vorlagendatei Dify. Passen Sie die Konfigurationsvorlage im Installationsverzeichnis Dify an, um sicherzustellen, dass die Oracle-Umgebungsvariablen und -schlüssel korrekt gemountet werden können.
    1. Fügen Sie die Deklaration der Oracle-Umgebungsvariablen in vectordb-config.yaml hinzu.
      {{- else if eq .Values.vectorDB.externalType "oracle" }}
      ORACLE_DSN: {{ .Values.vectorDB.externalOracleVectoRS.dsn | quote }}
      ORACLE_USER: {{ .Values.vectorDB.externalOracleVectoRS.user | quote }}
      ORACLE_CONFIG_DIR: {{ .Values.vectorDB.externalOracleVectoRS.wallet_location | quote }}
      ORACLE_WALLET_LOCATION: {{ .Values.vectorDB.externalOracleVectoRS.wallet_location | quote }}
      ORACLE_IS_AUTONOMOUS: {{ .Values.vectorDB.externalOracleVectoRS.is_autonomous | quote }}
    2. Fügen Sie die Kennwortverschlüsselungskonfiguration zu vectordb-secret.yaml hinzu, um zu vermeiden, dass Zugangsdaten im Klartext gespeichert werden.
      {{- else if eq .Values.vectorDB.externalType "oracle" }}
      ORACLE_PASSWORD: {{ .Values.vectorDB.externalOracleVectoRS.password | b64enc | quote }}
      ORACLE_WALLET_PASSWORD: {{ .Values.vectorDB.externalOracleVectoRS.wallet_password | b64enc | quote }}
  3. Wenden Sie die Konfiguration an, und prüfen Sie sie.
    1. Führen Sie ein Helm-Upgrade aus, um die Dify-Konfiguration zu aktualisieren.
    2. Führen Sie kubectl im API-Pod aus, um zu prüfen, ob Umgebungsvariablen gültig sind, und stellen Sie VECTOR_STORE=oracle sicher.
    3. Wiederholen Sie die Prüfung im Worker-Pod, um zu bestätigen, dass alle Business Components die Oracle-Konfiguration lesen können.