AIプロファイルの管理
DBMS_CLOUD_AI
パッケージを使用して、AIプロファイルを作成および管理できます。
- DBMS_CLOUD_AIを使用したAIプロファイルの構成
Autonomous Databaseは、AIプロファイルを使用して、LLMへのアクセスを容易におよび構成し、自然言語プロンプトに基づいてSQLを生成、実行および説明するための設定を行います。 また、モデルとベクトル索引の埋込みを使用した検索拡張生成が容易になり、LLMとのチャットが可能になります。 - Select AIの前提条件の実行
Select AIを使用する前に、DBMS_CLOUD_AI
を有効にするステップを次に示します。 - AIプロファイルの作成と設定
AIプロファイルを作成および有効にするステップについて説明します。
親トピック: データベースとの自然言語対話にSelect AIを使用
DBMS_CLOUD_AIを使用したAIプロファイルの構成
Autonomous Databaseは、AIプロファイルを使用して、LLMへのアクセスを容易におよび構成し、自然言語プロンプトに基づいてSQLを生成、実行および説明するための設定を行います。 また、モデルとベクトル索引の埋込みを使用した検索拡張生成が容易になり、LLMとのチャットが可能になります。
AIプロファイルには、自然言語問合せのターゲットであるデータベース・オブジェクトが含まれます。 これらのターゲットから使用されるMetadataには、データベース表名、列名、列データ型およびコメントを含めることができます。 AIプロファイルは、DBMS_CLOUD_AI.CREATE_PROFILE
およびDBMS_CLOUD_AI.SET_PROFILE
プロシージャを使用して作成および構成します。
AIプロファイルでの表およびビューの指定に加えて、「データ・カタログを使用した外部データの問合せ」で説明されている表を含む、外部表にマップされた表を指定することもできます。 これにより、データベース内だけでなく、データ・レイクのオブジェクト・ストアに格納されているデータも問い合せることができます。
親トピック: AIプロファイルの管理
Select AIの前提条件の実行
Select AIを使用する前に、DBMS_CLOUD_AI
を有効にするステップを次に示します。
DBMS_CLOUD_AI
を使用するには、次のものが必要です:
- Oracle Cloud Infrastructureクラウド・アカウントおよびAutonomous Databaseインスタンスへのアクセス。
- サポートされているAIプロバイダの有料APIアカウント。次のいずれかです:
AIプロバイダ APIキー OpenAI
APIキーを取得するには、「OpenAIの使用」を参照してください。
Cohere
秘密APIキーを取得するには、「Cohereの使用」を参照してください。
Azure OpenAI Service
Azure OpenAI Serviceの構成方法の詳細は、「Azure OpenAI Serviceの使用」を参照してください。 OCI生成AI
「OCI生成AIの使用」を参照してください。
Google
APIキーを取得するには、「Googleの使用」を参照してください。
Anthropic
APIキーを取得するには、「Anthropicの使用」を参照してください。
Hugging Face
APIキーを取得するには、「Hugging Faceの使用」を参照してください。
- 外部AIプロバイダにアクセスするためのネットワークACL権限。
ノート:
OCI生成AIにはネットワークACL権限は必要ありません。 - AIプロバイダへのアクセスを提供する資格証明。
DBMS_CLOUD_AI
の有効化
DBMS_CLOUD_AI
を構成するには:
-
DBMS_CLOUD_AI
パッケージに対するEXECUTE
権限を、Select AIを使用するユーザーに付与します。デフォルトでは、システム管理者のみが
EXECUTE
権限を持ちます。 管理者は、他のユーザーにEXECUTE
権限を付与できます。 -
DBMS_CLOUD_PIPELINE
に対するEXECUTE
権限を、Select AI with RAGを使用するユーザーに付与します。ノート:
ユーザーにすでにDWROLE
ロールがある場合は、この権限が含まれ、追加の権限は必要ありません。 -
ネットワークACLアクセス権を、Select AIおよびAIプロバイダ・エンドポイントに使用するユーザーに付与します。
システム管理者は、ネットワークACLアクセスを付与できます。 詳細については、「APPEND_HOST_ACEプロシージャ」を参照してください。
- AIプロバイダへのアクセスを有効にする資格証明を作成します。
詳細については、「CREATE_CREDENTIALプロシージャ」を参照してください。
-
Select AI with RAGを使用するユーザーに、特定の表領域の領域量を管理するための表領域の割当て制限を付与します。
Select AIを実行する権限の例
EXECUTE
権限をADB_USER
に付与します: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
Cohere
api.cohere.ai
Azure OpenAI Service
<azure_resource_name>.openai.azure.com
azure_resource_name
の詳細は、「プロファイル属性」を参照してください。Google
generativelanguage.googleapis.com
Anthropic
api.anthropic.com
Hugging Face
api-inference.huggingface.co
-
ace
: アクセス制御エントリ(ACE)。XS$ACE_TYPE
型は、ACLの各ACEエントリを構築するために提供されています。 詳細は、「ACLおよびACEの作成」を参照してください。
次の例では、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の使用」を参照してください。
Cohere
APIキーを取得するには、「Cohereの使用」を参照してください。
Azure OpenAI Service
APIキーの取得およびサービスの構成については、「Azure OpenAI Serviceの使用」を参照してください。
ノート:
「Azure OpenAI Service」プリンシパルを使用して認証する場合は、DBMS_CLOUD.CREATE_CREDENTIAL
プロシージャをスキップできます。 Azure OpenAI Serviceプリンシパルを使用した認証の例については、「Select AIの使用例」を参照してください。OCI生成AI
API署名キーを生成するには、「OCI生成AIの使用」を参照してください。
Google
APIキーを生成するには、「Googleの使用」を参照してください。
Anthropic
APIキーを生成するには、「Anthropicの使用」を参照してください。
Hugging Face
APIキーを生成するには、「Hugging Faceの使用」を参照してください。
次の例では、表領域の割当て制限をADB_USER
に付与して、Select AI with RAGを使用します:
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にする必要があります。
トピック
- OpenAIの使用
OpenAIで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、OpenAI有料アカウントからAPIキーを取得します。 - Cohereの使用
Cohereが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、Cohere有料アカウントからAPIキーを取得します。 - Azure OpenAI Serviceの使用
「Azure OpenAI Service」が自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、AIプロバイダを構成してアクセスします。 - OCI生成AIの使用
OCI生成AIが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、API署名キーを生成します。 - Googleの使用
Google AI Studioが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、Google AI Studio有料アカウントからAPIキーを取得します。 - Anthropicの使用
Anthropic Developer Consoleで自然言語プロンプトへのSQLおよびテキスト・レスポンスを生成できるようにするには、Anthropic Developer Consoleの有料アカウントからAPIキーを取得します。 - Hugging Faceの使用
Hugging FaceをAIプロバイダとして有効にして、自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成するには、Hugging Face有料アカウントからAPIキーを取得します。
親トピック: AIプロファイルの管理
OpenAIの使用
OpenAIで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、OpenAI有料アカウントからAPIキーを取得します。
秘密APIキーは、プロファイル・ダッシュボードの「APIキー」にあります。
親トピック: Select AIの前提条件の実行
Cohereの使用
Cohereが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、Cohere有料アカウントからAPIキーを取得します。
-
資格証明でCohereのwebサイトにログインします。 Cohere Dashboardがデフォルトで表示されます。
-
または、「ダッシュボード」をクリックします。
-
左側のナビゲーションで「APIキー」をクリックします。 デフォルトのAPIキーをコピーするか、別のキーを作成します。 詳細については、API-Keysを参照してください。
親トピック: Select AIの前提条件の実行
Azure OpenAI Serviceの使用
「Azure OpenAI Service」が自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、AIプロバイダを構成してアクセスします。
親トピック: Select AIの前提条件の実行
OCI生成AIの使用
OCI生成AIが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、API署名キーを生成します。
親トピック: Select AIの前提条件の実行
Googleの使用
Google AI Studioが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、Google AI Studio有料アカウントからAPIキーを取得します。
親トピック: Select AIの前提条件の実行
Anthropicの使用
Anthropic Developer Consoleで自然言語プロンプトへのSQLおよびテキスト・レスポンスを生成できるようにするには、Anthropic Developer Consoleの有料アカウントからAPIキーを取得します。
親トピック: Select AIの前提条件の実行
Hugging Faceの使用
Hugging FaceをAIプロバイダとして有効にして、自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成するには、Hugging Face有料アカウントからAPIキーを取得します。
- Hugging Faceにアクセスしてください。
- アカウントをお持ちでない場合は、登録してください。
- アカウント設定に移動します。
- ナビゲーション・メニューで、「アクセス・トークン」を見つけます。
- クリックして新しいAPIキーを作成します。
- 生成されたAPIキーをコピーして保存します。
親トピック: Select AIの前提条件の実行
AIプロファイルの作成と設定
AIプロファイルを作成および有効にするステップについて説明します。
AIプロファイルを作成するには、DBMS_CLOUD_AI.CREATE_PROFILE
を使用します。 DBMS_CLOUD_AI.SET_PROFILE
を実行してAIプロファイルを有効にし、自然言語プロンプトでSELECT AI
を使用できるようにします。
ノート:
SELECT AI
を使用する前に、新しいステートフル・データベース・セッション(接続)ごとにDBMS_CLOUD_AI.SET_PROFILE
を実行する必要があります。 ステートレス接続を使用している場合は、各呼出しでプロファイル名を指定できるDBMS_CLOUD_AI.GENERATE
関数を使用する必要があります。
次の例では、OpenAIプロバイダを使用して、OPENAI
というAI
プロファイルを作成し、現在のユーザー・セッションのOPENAI
プロファイルを設定します。
-- Create AI profile
--BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'OPENAI',
attributes =>'{"provider": "openai",
"credential_name": "OPENAI_CRED",
"object_list": [{"owner": "SH", "name": "customers"},
{"owner": "SH", "name": "sales"},
{"owner": "SH", "name": "products"},
{"owner": "SH", "name": "countries"}]
}');
END;
/
PL/SQL procedure successfully completed.
--
-- Enable AI profile in current session
--
EXEC DBMS_CLOUD_AI.set_profile('OPENAI');
PL/SQL procedure successfully completed.
親トピック: AIプロファイルの管理