AIプロファイルの管理
DBMS_CLOUD_AI
パッケージを使用して、AIプロファイルを作成および管理できます。
- DBMS_CLOUD_AIを使用したAIプロファイルの構成
Autonomous Databaseでは、AIプロファイルを使用して、LLMへのアクセスを容易におよび構成し、自然言語プロンプトに基づいてSQLを生成、実行および説明するための設定を行います。また、ベクトル・ストアを使用した取得拡張生成が容易になり、LLMとのチャットが可能になります。 - AIの選択の前提条件の実行
「AIの選択」を使用する前に、DBMS_CLOUD_AI
を有効にするステップを次に示します。 - 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の使用を参照してください。
Cohere
秘密APIキーを取得するには、Cohereの使用を参照してください。
Azure OpenAIサービス
Azure OpenAIサービスの構成方法の詳細は、Azure OpenAIサービスの使用を参照してください。 OCI生成AI
OCI生成AIの使用を参照してください。
Google
APIキーを取得するには、Googleの使用を参照してください。
人類学
APIキーを取得するには、Anthropicの使用を参照してください。
ハギング面
APIキーを取得するには、Hugging Faceの使用を参照してください。
- 外部AIプロバイダにアクセスするためのネットワークACL権限。
ノート
OCI生成AIにはネットワークACL権限は必要ありません。 - AIプロバイダへのアクセスを提供する資格証明。
DBMS_CLOUD_AI
の有効化
DBMS_CLOUD_AI
を構成するには:
-
DBMS_CLOUD_AI
パッケージのEXECUTE
権限を、Select AIを使用するユーザーに付与します。デフォルトでは、システム管理者のみが
EXECUTE
権限を保持します。管理者は、他のユーザーにEXECUTE
権限を付与できます。 -
Select AIを使用するユーザーおよびAIプロバイダ・エンドポイントにネットワークACLアクセス権を付与します。
システム管理者は、ネットワークACLアクセス権を付与できます。詳細は、APPEND_HOST_ACEプロシージャを参照してください。
- AIプロバイダへのアクセスを有効にする資格証明を作成します。
詳細は、CREATE_CREDENTIALプロシージャに関する項を参照してください。
-
RAGでSelect AIを使用するユーザーに、
DBMS_CLOUD_PIPELINE
に対するEXECUTE
権限を付与します。 -
RAGでSelect AIを使用するユーザーに、特定の表領域の領域量を管理するための表領域の割当て制限を付与します。
選択AIを実行する権限の例
ADB_USER
にEXECUTE
権限を付与します。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サブネットを指定できます。ホストまたはドメイン名は大/小文字が区別されません。AIプロバイダ ホスト OpenAI
api.openai.com
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
-
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キーで、プロバイダによって異なります:AIプロバイダ APIキー OpenAI
APIキーを取得するには、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の使用を参照してください。
次の例では、RAGでSelect AIを使用するようにADB_USER
ユーザーにEXECUTE
権限を付与します。
GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;
次の例では、RAGでSelect AIを使用するように表領域の割当て制限をADB_USER
に付与します。
ALTER USER ADB_USER QUOTA 1T ON <tablespace_name>;
トピック
- OpenAIの使用
OpenAIを有効にして、自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成するには、OpenAI有料アカウントからAPIキーを取得します。 - Cohereの使用
Cohereで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、Cohere有料アカウントからAPIキーを取得します。 - Azure OpenAIサービスの使用
Azure OpenAIサービスで自然言語プロンプトに対する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の使用
AIプロバイダとしてHugging Faceを有効にして、自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成するには、Hugging Face有料アカウントからAPIキーを取得します。
親トピック: AIプロファイルの管理
OpenAIの使用
OpenAIで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、OpenAI有料アカウントからAPIキーを取得します。
秘密APIキーはユーザー設定にあります。
親トピック: AIの選択の前提条件の実行
Cohereの使用
Cohereが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、Cohere有料アカウントからAPIキーを取得します。
-
資格情報でCohereのWebサイトにログインします。Cohere Dashboardがデフォルトで表示されます。
-
または、「ダッシュボード」をクリックします。
-
左側のナビゲーションで「API Keys」をクリックします。デフォルトのAPIキーをコピーするか、別のキーを作成します。詳細は、API-Keysを参照してください。
親トピック: AIの選択の前提条件の実行
Azure OpenAIサービスの使用
Azure OpenAI Serviceで自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成できるようにするには、AIプロバイダを構成してアクセスを提供します。
親トピック: AIの選択の前提条件の実行
OCI生成AIの使用
OCI生成AIが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、API署名キーを生成します。
親トピック: AIの選択の前提条件の実行
Googleを使用
Google AI Studioが自然言語プロンプトに対してSQLおよびテキスト・レスポンスを生成できるようにするには、Google AI Studio有料アカウントからAPIキーを取得します。
親トピック: AIの選択の前提条件の実行
人類学の使用
Anthropic Developer Consoleで自然言語プロンプトへのSQLおよびテキスト・レスポンスを生成できるようにするには、Anthropic Developer Consoleの有料アカウントからAPIキーを取得します。
親トピック: AIの選択の前提条件の実行
ハギング面を使用
AIプロバイダとしてHugging Faceを有効にして、自然言語プロンプトに対するSQLおよびテキスト・レスポンスを生成するには、Hugging Face有料アカウントからAPIキーを取得します。
- 「Hugging Face」に移動します。
- まだアカウントがない場合はサインアップします。
- アカウント設定にナビゲートします。
- ナビゲーション・メニューで、「アクセス・トークン」を見つけます。
- クリックして新しいAPIキーを作成します。
- 生成されたAPIキーをコピーして保存します。
親トピック: 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
--
SQL> BEGIN
DBMS_CLOUD_AI.create_profile(
'OPENAI',
'{"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
--
SQL> EXEC DBMS_CLOUD_AI.set_profile('OPENAI');
PL/SQL procedure successfully completed.
親トピック: AIプロファイルの管理