Configurar

Integra Dify Enterprise Edition con Oracle AI Database 26ai para aprovechar el almacenamiento vectorial multimodal y la recuperación eficiente. Para activar las capacidades de almacenamiento y recuperación de vectores de Oracle AI Database 26ai, preconfigure la base de datos y modifique los parámetros en Dify para garantizar que los datos vectoriales se puedan escribir y recuperar sin problemas mediante la integración de la aplicación Dify y la gestión de vectores de Oracle AI Database 26ai.

Preconfiguración de un entorno dedicado de Oracle AI Database 26ai

En Dify Enterprise Edition (EE), instale y configure la base de datos Pluggable Database (PDB) de Oracle.
Primero debe crear un usuario de acceso a la base de datos en la PDB de Oracle. A continuación, configure el usuario y la contraseña de conexión a la base de datos en el archivo de configuración de EE Dify. El uso del nombre de servicio PDB es suficiente. Realice los siguientes pasos:
  1. Inicia sesión en Oracle AI Database 26ai.
  2. Cambie al PDB de destino.
    1. Ejecute el comando show pdbs para ver todas las PDB disponibles (como PDB1).
    2. Cambie al contenedor de PDB de destino mediante el siguiente comando de ejemplo:
      alter session set container=PDB1
  3. Cree un usuario de Dify y autorícelo.
    1. Ejecute el siguiente comando para crear un usuario dedicado:
      create user dify identified by password default tablespace users quota unlimited on users
    2. Ejecute el siguiente comando para otorgar permisos de desarrollo de base de datos al usuario:
      grant db_developer_role to dify
    Esto garantiza que el usuario tenga permisos de creación de tablas y operaciones de índice de vector.
  4. Crear un tokenizador de búsqueda de vectores.
    Ejecute sentencias PL/SQL para crear un divisor de palabras multilingüe. Por ejemplo:
    BEGIN CTX_DDL.CREATE_PREFERENCE('dify.world_ lexer ','WORLD_LEXER');
    END; /.
    Este divisor de palabras puede procesar texto en varios idiomas, incluidos el chino y el inglés, para garantizar una recuperación de texto precisa.

Conecte Dify a Oracle AI Database

Siga estos pasos para codificar las plantillas y los valores de Helm de Dify y, a continuación, aplique y verifique la configuración para conectarse a Oracle AI Database 26ai.
  1. Modifique la configuración de values.yaml.
    Agregue los parámetros de la base de datos vectorial de Oracle al archivo de configuración de Helm de Dify para especificar la información de conexión de la base de datos y el método de autenticación.
    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. Modifique el archivo de plantilla Dify. Ajuste la plantilla de configuración en el directorio de instalación Dify para asegurarse de que las variables de entorno y las claves de Oracle se puedan montar correctamente.
    1. Agregue la declaración de variable de entorno de Oracle en vectordb-config.yaml.
      {{- 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. Agregue la configuración de cifrado de contraseña a vectordb-secret.yaml para evitar almacenar credenciales en texto sin formato.
      {{- 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. Aplique la configuración y verifique.
    1. Ejecute la actualización de Helm para actualizar la configuración de Dify.
    2. Ejecute kubectl en el pod de API para verificar que las variables de entorno sean efectivas y asegúrese de que VECTOR_STORE=oracle.
    3. Repita la verificación en el pod de trabajador para confirmar que todos los componentes de negocio pueden leer la configuración de Oracle.