DBMS_CLOUD_AIパッケージの構成

DBMS_CLOUD_AIを使用するステップについて説明します。

DBMS_CLOUD_AIを使用するには、次が必要です。

  • Oracle Cloud Infrastructureクラウド・アカウントおよびAutonomous Databaseインスタンスへのアクセス。
  • サポートされているAIプロバイダの有料APIアカウント。次のいずれかです。
    • OpenAI: APIキーを取得するには、OpenAIの使用を参照してください。
    • Cohere秘密APIキーを取得するには、Cohereの使用を参照してください。
    • Azure OpenAI ServiceAzure OpenAI Serviceの構成方法の詳細は、Azure OpenAI Serviceの使用を参照してください。
    • OCI生成AI。OCI生成AIの使用を参照してください。
  • 外部AIプロバイダにアクセスするためのネットワークACL権限。
    ノート

    OCI生成AIにはネットワークACL権限は必要ありません。
  • AIプロバイダへのアクセスを提供する資格証明。

DBMS_CLOUD_AIの有効化

DBMS_CLOUD_AIを構成するには:
  1. DBMS_CLOUD_AIパッケージに対するEXECUTE権限を、Select AIを使用するユーザーに付与します。

    デフォルトでは、ADMINユーザーのみがEXECUTE権限を付与されます。ADMINユーザーは、他のユーザーにEXECUTE権限を付与できます。

  2. Select AIを使用するユーザーおよびAIプロバイダ・エンドポイントにネットワークACLアクセス権を付与します。

    ADMINユーザーは、ネットワークACLアクセス権を付与できます。詳細は、APPEND_HOST_ACEプロシージャを参照してください。

  3. AIプロバイダへのアクセスを有効にする資格証明を作成します。

    詳細は、CREATE_CREDENTIALプロシージャを参照してください。

次の例では、ADB_USEREXECUTE権限を付与します。
grant execute on DBMS_CLOUD_AI to ADB_USER;

次の例では、api.openai.comエンドポイントを使用する権限をADB_USERに付与します。

BEGIN  
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
         host => 'api.openai.com',
         ace  => xs$ace_type(privilege_list => xs$name_list('http'),
                             principal_name => 'ADB_USER',
                             principal_type => xs_acl.ptype_db)
   );
END;
/

パラメータは次のとおりです:

  • host: ホスト。ホストには、ホストの名前またはIPアドレスを指定できます。ワイルドカードを使用すると、ドメインやIPサブネットを指定できます。ホストまたはドメイン名の大文字と小文字は区別されません。

    OpenAIには、api.openai.comを使用します。

    Cohereの場合は、api.cohere.aiを使用します。

    Azure OpenAI Serviceの場合は、<azure_resource_name>.openai.azure.comを使用します。azure_resource_nameの詳細は、「プロファイル属性」を参照してください。

  • ace: アクセス制御エントリ(ACE)。ACLの各ACEエントリを作成するために、XS$ACE_TYPEタイプが提供されています。詳細は、Creating ACLs and ACEsを参照してください。

次に、OpenAIへのアクセスを有効にする資格証明の作成方法の例を示します。

EXEC DBMS_CLOUD.CREATE_CREDENTIAL('OPENAI_CRED', 'OPENAI', 'your_api_token');

パラメータは次のとおりです:

  • credential_name: 格納する資格証明の名前。credential_nameパラメータは、スペースやハイフンを使用できないOracleオブジェクトの命名規則に準拠している必要があります。

  • username: username引数とpassword引数の両方で、AIプロバイダの資格証明を指定します。

    usernameは、ユーザー指定のユーザー名です。

  • password: username引数とpassword引数の両方で、AIプロバイダの資格証明を指定します。

    passwordはAIプロバイダのシークレットAPIキーで、プロバイダによって異なります:

    • OpenAI: APIキーを取得するには、OpenAIの使用を参照してください。
    • Cohere: APIキーを取得するには、Cohereの使用を参照してください。
    • Azure OpenAIサービス: APIキーを取得してサービスを構成するには、Azure OpenAIサービスの使用を参照してください。
      ノート

      Azure OpenAI Serviceの原則を使用して認証する場合は、DBMS_CLOUD.CREATE_CREDENTIALプロシージャをスキップできます。Azure OpenAI Serviceの原則を使用した認証の例については、Select AIの使用例を参照してください。
    • OCI生成AI: API署名キーを生成するには、OCI生成AIの使用を参照してください。

トピック

OpenAIの使用

OpenAIで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、OpenAI有料アカウントからAPIキーを取得します。

秘密APIキーはユーザー設定にあります。

Cohereの使用

Cohereが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、Cohere有料アカウントからAPIキーを取得します。

  1. 資格情報でCohereのWebサイトにログインします。Cohere Dashboardがデフォルトで表示されます。

  2. または、「ダッシュボード」をクリックします。

  3. 左側のナビゲーションで「API Keys」をクリックします。デフォルトのAPIキーをコピーするか、別のキーを作成します。詳細は、API-Keysを参照してください。

Azure OpenAIサービスの使用

Azure OpenAI Serviceで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、AIプロバイダを構成してアクセスを提供します。

Azure OpenAI Serviceを使用するには、次のステップを実行します:
  1. シークレットAPIキーを取得します。APIキーは、Azureポータルの「Resource Management」セクションにあります。Azure OpenAIサービス・リソース・ページで、「キーおよびエンドポイント」をクリックします。KEY1またはKEY2をコピーできます。
  2. Azure OpenAI Serviceリソースを作成し、モデルをデプロイします: Azure OpenAIサービス・リソースを作成してデプロイします

    ヒント:

    • これらのパラメータを使用してネットワーク・アクセス権限を提供し、DBMS_CLOUD_AI.CREATE_PROFILEプロシージャを使用してAzure OpenAI Serviceプロファイルを作成するため、リソース名とデプロイメント名をノートにとります。
    • モデル上の1分当たりのトークンのレート制限については、Azure OpenAIサービスの割当ておよび制限を参照してください。
  3. Azure OpenAIサービスへのアクセスを許可:

OCI生成AIの使用

OCI生成AIが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、API署名キーを生成します。

コンソールまたはコマンドラインを使用して、Oracle DatabaseインスタンスのAPI署名キーを生成します。API署名キーの生成方法を参照してください。