AIプロファイルの管理
DBMS_CLOUD_AI
パッケージを使用して、AIプロファイルを作成および管理できます。
- DBMS_CLOUD_AIを使用したAIプロファイルの構成
Autonomous Databaseでは、AIプロファイルを使用して、LLMへのアクセスを容易におよび構成し、自然言語プロンプトに基づいてSQLを生成、実行および説明するための設定を行います。また、モデルとベクトル索引の埋込みを使用した取得拡張生成が容易になり、LLMとのチャットが可能になります。 - AIの選択の前提条件の実行
「AIの選択」を使用する前に、DBMS_CLOUD_AI
を有効にするステップを次に示します。 - Select AIの権限の付与
Select AIを使用するには、管理者がDBMS_CLOUD_AI
パッケージに対するEXECUTE
権限を付与する必要があります。Select AIとその機能に必要な追加の権限について学習します。 - Select AIを実行する権限の例
Select AIとその機能を使用するために必要な権限の例を確認します。 - サポートされているAIプロバイダを使用するためのSelect AIの構成
Select AIでAIプロバイダを使用できるようにする方法をご紹介します。
親トピック: Select AIを使用したデータベースとの自然言語対話
DBMS_CLOUD_AIを使用したAIプロファイルの構成
Autonomous Databaseは、AIプロファイルを使用して、LLMへのアクセスを容易におよび構成し、自然言語プロンプトに基づいてSQLを生成、実行および説明するための設定を行います。また、モデルとベクトル索引の埋込みを使用した取得拡張生成が容易になり、LLMとのチャットが可能になります。
AIプロファイルには、自然言語問合せのターゲットとなるデータベース・オブジェクトが含まれます。これらのターゲットから使用されるメタデータには、データベース表名、列名、列のデータ型およびコメントを含めることができます。AIプロファイルは、DBMS_CLOUD_AI.CREATE_PROFILE
およびDBMS_CLOUD_AI.SET_PROFILE
プロシージャを使用して作成および構成します。
AIプロファイルでの表およびビューの指定に加えて、「データ・カタログを使用した外部データの問合せ」で説明されている表など、外部表にマップされた表を指定することもできます。これにより、データベース内だけでなく、データ・レイクのオブジェクト・ストアに格納されているデータも問い合せることができます。
親トピック: AIプロファイルの管理
AIの選択の前提条件の実行
「AIの選択」を使用する前に、DBMS_CLOUD_AI
を有効にするステップを次に示します。
DBMS_CLOUD_AI
を使用するには、次のものが必要です。
- Oracle Cloud Infrastructureクラウド・アカウントおよびAutonomous Databaseインスタンスへのアクセス。
- サポートされているAIプロバイダの有料APIアカウント。次のいずれかです。
AIプロバイダ APIキー OpenAI
APIキーを取得するには、OpenAIの使用を参照してください。
OpenAI互換プロバイダ
APIキーおよび
provider_endpoint
を取得するには、「OpenAI互換プロバイダの使用」を参照してください。Cohere
秘密APIキーを取得するには、Cohereの使用を参照してください。
Azure OpenAIサービス
Azure OpenAIサービスの構成方法の詳細は、Azure OpenAIサービスの使用を参照してください。 OCI生成AI
OCI生成AIの使用を参照してください。
Google
APIキーを取得するには、Googleの使用を参照してください。
人類学
APIキーを取得するには、Anthropicの使用を参照してください。
ハギング面
APIキーを取得するには、Hugging Faceの使用を参照してください。
AWS
APIキーおよびモデルIDを取得するには、AWSの使用を参照してください。
- 外部AIプロバイダにアクセスするためのネットワークACL権限。
ノート
OCI生成AIにはネットワークACL権限は必要ありません。 - AIプロバイダへのアクセスを提供する資格証明。
親トピック: AIプロファイルの管理
Select AIの権限の付与
Select AIを使用するには、管理者が DBMS_CLOUD_AI
パッケージに対するEXECUTE
権限を付与する必要があります。Select AIとその機能に必要な追加の権限について学習します。
DBMS_CLOUD_AI
を構成するには:
-
DBMS_CLOUD_AI
パッケージのEXECUTE
権限を、Select AIを使用するユーザーに付与します。デフォルトでは、システム管理者のみが
EXECUTE
権限を保持します。管理者は、他のユーザーにEXECUTE
権限を付与できます。 -
RAGでSelect AIを使用するユーザーに、
DBMS_CLOUD_PIPELINE
に対するEXECUTE
権限を付与します。 -
Select AIを使用するユーザーおよびAIプロバイダ・エンドポイントにネットワークACLアクセス権を付与します。
システム管理者は、ネットワークACLアクセス権を付与できます。詳細は、APPEND_HOST_ACEプロシージャを参照してください。
- AIプロバイダへのアクセスを有効にする資格証明を作成します。
詳細は、CREATE_CREDENTIALプロシージャに関する項を参照してください。
-
RAGでSelect AIを使用するユーザーに、特定の表領域の領域量を管理するための表領域の割当て制限を付与します。
親トピック: AIプロファイルの管理
選択AIを実行する権限の例
Select AIとその機能の使用に必要な権限の例を確認します。
ADB_USER
にEXECUTE
権限を付与します。GRANT execute on DBMS_CLOUD_AI to ADB_USER;
次の例では、RAGに必要なDBMS_CLOUD_PIPELINE
パッケージに対するEXECUTE
権限を付与します。
GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;
DBMS_CLOUD_AI
およびDBMS_CLOUD_PIPELINE
パッケージについてユーザーに付与された権限をチェックするために、管理者は次を実行できます。
SELECT table_name AS package_name, privilege
FROM DBA_TAB_PRIVS
WHERE grantee = '<username>'
AND (table_name = 'DBMS_CLOUD_PIPELINE'
OR table_name = 'DBMS_CLOUD_AI');
ADB_USER
に付与します。
この手順は、OCI生成AIには適用されません。
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サブネットを指定できます。ホストまたはドメイン名は大/小文字が区別されません。AIプロバイダ ホスト OpenAI
api.openai.com
OpenAI互換プロバイダ
たとえば、Fireworks AIの場合は、api.fireworks.aiを使用します
Cohere
api.cohere.ai
Azure OpenAIサービス
<azure_resource_name>.openai.azure.com
azure_resource_name
の詳細は、「プロファイル属性」を参照してください。Google
generativelanguage.googleapis.com
人類学
api.anthropic.com
ハギング面
api-inference.huggingface.co
AWS
bedrock-runtime.us-east-1.amazonaws.com
-
ace
: アクセス制御エントリ(ACE)。ACLの各ACEエントリを作成するために、XS$ACE_TYPE
タイプが提供されています。詳細は、Creating ACLs and ACEsを参照してください。
次の例では、OpenAIへのアクセスを有効にする資格証明を作成します。
EXEC
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'OPENAI_CRED',
username => 'OPENAI',
password => '<your_api_token>');
パラメータは次のとおりです:
-
credential_name
: 格納する資格証明の名前。credential_name
パラメータは、Oracleオブジェクトのネーミング規則に準拠している必要があります。 -
username
:username
引数とpassword
引数の両方で、AIプロバイダの資格証明を指定します。username
は、ユーザー指定のユーザー名です。 -
password
:username
引数とpassword
引数の両方で、AIプロバイダの資格証明を指定します。password
はAIプロバイダのシークレットAPIキーで、プロバイダによって異なります:AIプロバイダ APIキー OpenAI
APIキーを取得するには、OpenAIの使用を参照してください。
OpenAI互換プロバイダ
APIキーおよび
provider_endpoint
を取得するには、「OpenAI互換プロバイダの使用」を参照してください。Cohere
APIキーを取得するには、Cohereの使用を参照してください。
Azure OpenAIサービス
APIキーを取得してサービスを構成するには、Azure OpenAIサービスの使用を参照してください。
ノート
Azure OpenAIサービス・プリンシパルを使用して認証する場合は、DBMS_CLOUD.CREATE_CREDENTIAL
プロシージャをスキップできます。Azure OpenAI Serviceプリンシパルを使用した認証の例については、Select AIの使用例を参照してください。OCI生成AI
API署名キーを生成するには、OCI生成AIの使用を参照してください。
Google
APIキーを生成するには、Googleの使用を参照してください。
人類学
APIキーを生成するには、Anthropicの使用を参照してください。
ハギング面
APIキーを生成するには、Hugging Faceの使用を参照してください。
AWS
APIキーおよびモデルIDを取得するには、AWSの使用を参照してください。
次の例では、RAGでSelect AIを使用するように表領域の割当て制限をADB_USER
に付与します。
ALTER USER ADB_USER QUOTA 1T ON <tablespace_name>;
ユーザーに付与された表領域割当て制限を確認するには、次を実行します。
SELECT TABLESPACE_NAME, BYTES, MAX_BYTES
FROM DBA_TS_QUOTAS
WHERE USERNAME = '<username>' AND
TABLESPACE_NAME LIKE 'DATA%';
パラメータは次のとおりです:
TABLESPACE_NAME
: 割当て制限が割り当てられる表領域。Autonomous Databaseでは、表領域は自動的に管理され、接頭辞としてDATA
が付きます。BYTES
: 表領域でユーザーが現在使用している領域の量。MAX_BYTES
: 割り当てられる最大割当て容量(バイト単位)。MAX_BYTES
が-1の場合、表領域に対する割当て制限は無制限です。ベクトル索引を作成するデータベース・ユーザーは、ベクトル索引に対応するためにMAX_BYTES
をバイトより十分に大きくするか、MAX_BYTES
を無制限の割当て制限に対して-1にする必要があります。
親トピック: AIプロファイルの管理
サポートされているAIプロバイダを使用するためのSelect AIの構成
AIプロバイダーがSelect AIで使用できるようにする方法をご紹介します。
- Anthropicの使用
Anthropic Developer Consoleで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、Anthropic Developer Consoleの有料アカウントからAPIキーを取得します。 - AWSの使用
AWSを有効にするには、APIキーおよびモデルIDを取得します。 - Azure OpenAIサービスの使用
Azure OpenAIサービスで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、AIプロバイダを構成してアクセスを提供します。 - Cohereの使用
Cohereで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、Cohere有料アカウントからAPIキーを取得します。 - Googleの使用
Google AI Studioで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、Google AI Studio有料アカウントからAPIキーを取得します。 - Hugging Faceの使用
AIプロバイダとしてHugging Faceを有効にして、自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成するには、Hugging Face有料アカウントからAPIキーを取得します。 - OCI生成AIの使用
OCI生成AIが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、API署名キーを生成します。 - OpenAIの使用
OpenAIを有効にして、自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成するには、OpenAI有料アカウントからAPIキーを取得します。 - OpenAI互換プロバイダの使用
OpenAIと互換性のあるプロバイダを有効にするには、APIキーを取得します。
親トピック: AIプロファイルの管理
人類学の使用
Anthropic Developer Consoleで自然言語プロンプトへのSQLおよびテキスト・レスポンスを生成できるようにするには、Anthropic Developer Consoleの有料アカウントからAPIキーを取得します。
AWSの使用
AWSを有効にするには、APIキーとモデルIDを取得します。
APIキーを取得し、それを使用してDBMS_CLOUD.CREATE_CREDENTIAL
を介して資格証明を作成します。
次のプロセスに従って、APIキーおよびモデル名を取得します:
Azure OpenAIサービスの使用
Azure OpenAI Serviceで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、AIプロバイダを構成してアクセスを提供します。
Cohereの使用
Cohereが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、Cohere有料アカウントからAPIキーを取得します。
-
資格情報でCohereのWebサイトにログインします。Cohere Dashboardがデフォルトで表示されます。
-
または、「ダッシュボード」をクリックします。
-
左側のナビゲーションで「API Keys」をクリックします。デフォルトのAPIキーをコピーするか、別のキーを作成します。詳細は、API-Keysを参照してください。
Googleを使用
Google AI Studioが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、Google AI Studio有料アカウントからAPIキーを取得します。
ハギング面を使用
AIプロバイダとしてHugging Faceを有効にして、自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成するには、Hugging Face有料アカウントからAPIキーを取得します。
- 「Hugging Face」に移動します。
- まだアカウントがない場合はサインアップします。
- アカウント設定にナビゲートします。
- ナビゲーション・メニューで、「アクセス・トークン」を見つけます。
- クリックして新しいAPIキーを作成します。
- 生成されたAPIキーをコピーして保存します。
OCI生成AIの使用
OCI生成AIが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、API署名キーを生成します。
OpenAIの使用
OpenAIで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、OpenAI有料アカウントからAPIキーを取得します。
秘密APIキーは、プロファイル・ダッシュボードの「APIキー」の下にあります。
OpenAI互換プロバイダの使用
OpenAIと互換性のあるプロバイダを有効にするには、APIキーを取得します。
OpenAI互換プロバイダはベアラー認証を使用します。APIキーを取得し、それを使用してDBMS_CLOUD.CREATE_CREDENTIAL
を介して資格証明を作成します。たとえば、Fireworks AIはOpenAI互換プロバイダです。
プロセスに従って、Fireworks AI APIキー、モデル・ベース・パスURLおよびモデル名を取得します:
- Fireworks AIアカウントにまだ登録していない場合は、登録してください。
- Fireworks AIコンソールからAPIキーを作成します。
- 生成されたAPIキーをコピーして保存します。
DBMS_CLOUD_AI.CREATE_PROFILE
プロシージャで必要なプロバイダ・エンドポイントを取得します。- 同じAPIの例から、モデル名をコピーします。
DBMS_CLOUD_AI.CREATE_PROFILE
プロシージャでモデル名が必要です。たとえば、accounts/fireworks/models/llama-v3p2-3b-instruct
です。