DBMS_CLOUD_AIパッケージ
Select AIを使用したDBMS_CLOUD_AIパッケージは、SQL文を生成、実行および説明するための自然言語プロンプトの翻訳を容易にして構成します。また、LLMとのチャットなど、検索拡張生成および自然言語ベースのインタラクションを可能にします。
前提条件
- Oracle Cloud InfrastructureドキュメントのNAT Gatewayの作成の手順に従って、Autonomous AI Databaseリソースが存在しているVirtual Cloud Network (VCN)にNAT Gatewayを作成します。
- After creating the NAT gateway, add a route rule and an egress security rule to each subnet (in the VCN) where Autonomous AI Database resources reside so that these resources can use the gateway to obtain a public key from your Azure AD instance:
- サブネットの「サブネットの詳細」ページに移動します。
- 「Subnet Information」タブで、サブネットの「Route Table」の名前をクリックして、その「Route Table Details」ページを表示します。
- 既存のルート・ルールの表で、次の特性を持つルールがすでに存在します:
- 宛先: 0.0.0.0/0
- ターゲット・タイプ: NAT Gateway
- ターゲット: VCN内に作成したNATゲートウェイの名前
このようなルールが存在しない場合は、「ルート・ルールの追加」をクリックし、これらの特性を持つルート・ルールを追加します。
- サブネットの「サブネットの詳細」ページに戻ります。
- サブネットの「セキュリティ・リスト」表で、サブネットのセキュリティ・リストの名前をクリックして、その「セキュリティ・リストの詳細」ページを表示します。
- サイド・メニューの「リソース」で、「エグレス・ルール」をクリックします。
- 既存のエグレス・ルールの表で、次の特性を持つルールがすでに存在します:
- 宛先タイプ: CIDR
- 宛先: 0.0.0.0/0
- IPプロトコル: TCP
- ソース・ポート範囲: 443
- 宛先ポート範囲: すべて
そのようなルールが存在しない場合は、「エグレス・ルールの追加」をクリックし、これらの特性を持つエグレス・ルールを追加します。
環境のHTTPプロキシ設定では、データベースがクラウド・サービス・プロバイダにアクセスできるようにする必要があります。
ノート:
HTTPプロキシを含むネットワーク構成は、Exadataインフラストラクチャが「アクティブ化が必要」状態になるまで編集できます。いったんアクティブ化すると、それらの設定は編集できません。すでにプロビジョニングされているExadataインフラストラクチャのHTTPプロキシを設定するには、My Oracle Supportでサービス・リクエスト(SR)が必要です。詳細は、My Oracle Supportでのサービス・リクエストの作成を参照してください。
DBMS_CLOUD_AIサブプログラムの概要
この項では、Autonomous AI Databaseで提供されるDBMS_CLOUD_AIサブプログラムについて説明します。
| サブプログラム | 説明 |
|---|---|
|
このプロシージャは、自然言語プロンプトをSQL文に変換するための新しいAIプロファイルを作成します。 |
|
|
この手順では、現在のデータベース内のAIプロファイルを無効にします。 |
|
|
この手順では、既存のAIプロファイルを削除します。 |
|
|
この手順により、AIプロファイルを現在のデータベースで使用できるようになります。 |
|
| このファンクションは、変換にAIを使用してSQL文を生成します。 | |
|
このプロシージャは、AIプロファイル属性を設定します。 |
|
|
このプロシージャは、現在のデータベースのAIプロファイルを設定します。 |
CREATE_PROFILEプロシージャ
このプロシージャは、自然言語プロンプトをSQL文に変換するための新しいAIプロファイルを作成します。
構文
DBMS_CLOUD_AI.CREATE_PROFILE
profile_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Parameters
| パラメータ | 説明 |
|---|---|
|
|
AIプロファイルの名前。プロファイル名は、Oracle SQL識別子のネーミング・ルールに従う必要があります。プロファイル名の最大長は125文字です。 これは必須パラメータです。 |
|
|
JSON形式のプロファイル属性。詳細は、AIのプロファイル属性を参照してください。 デフォルト値はNULLです。 |
status |
プロファイルのステータス。 デフォルトでは、有効になっています。 |
|
|
AIプロファイルの説明。 デフォルト値はNULLです。 |
例
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'OpenAI,
attributes => JSON_OBJECT('provider' value 'openai',
'credential_name' value 'openai_cred'),
description => 'AI profile to use OpenAI for SQL translation'
);
END;
/
DROP_PROFILEプロシージャ
この手順では、既存のAIプロファイルを削除します。プロファイルが存在しない場合、プロシージャはエラーをスローします。
構文
DBMS_CLOUD_AI.DROP_PROFILE(
profile_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Parameters
| パラメータ | 説明 |
|---|---|
|
|
AIプロファイルの名前 |
|
|
デフォルト値は |
例
BEGIN
DBMS_CLOUD_AI.DROP_PROFILE(profile_name => 'OPENAI');
END;
/使用上のノート
forceを使用してプロファイルを削除し、AIプロファイルが存在しない場合はエラーを無視します。
ENABLE_PROFILEプロシージャ
この手順では、ユーザーが指定したAIプロファイルを有効にします。このプロシージャは、AIプロファイルのステータスをENABLEDに変更します。
構文
DBMS_CLOUD_AI.ENABLE_PROFILE(
profile_name IN VARCHAR2
);Parameters
| パラメータ | 説明 |
|---|---|
|
|
有効にするAIプロファイルの名前 このパラメータは必須です。 |
AIプロファイルを有効にする例
BEGIN
DBMS_CLOUD_AI.ENABLE_PROFILE(
profile_name => 'OPENAI'
);
END;
/
DISABLE_PROFILEプロシージャ
この手順では、現在のデータベースのAIプロファイルを無効にします。この手順では、AIプロファイルのステータスが DISABLEDに変更されます。
構文
DBMS_CLOUD_AI.DISABLE_PROFILE(
profile_name IN VARCHAR2
);
Parameters
| パラメータ | 説明 |
|---|---|
|
|
AIプロファイルの名前。 このパラメータは必須です。 |
例
BEGIN
DBMS_CLOUD_AI.DISABLE_PROFILE(
profile_name => 'OPENAI'
);
END;
/
SET_ATTRIBUTEプロシージャ
この手順では、AIプロファイル属性を設定できます。
構文
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB
);
Parameters
AIプロファイルの属性を設定または変更できるのは所有者だけです。サポートされている属性のリストは、プロファイル属性を参照してください。
| パラメータ | 説明 |
|---|---|
|
|
属性を設定するAIプロファイルの名前。 このパラメータは必須です。 |
|
|
AIプロファイル属性の名前 このパラメータは必須です。 |
|
|
プロファイル属性の値。 デフォルト値はNULLです。 |
例
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name => 'OPENAI',
attribute_name => 'credential_name',
attribute_value => 'OPENAI_CRED_NEW'
);
END;
/
SET_PROFILEプロシージャ
この手順では、現在のセッションのAIプロファイルを設定します。
データベース・セッションにAIプロファイルを設定した後、接頭辞SELECT AIを持つSQL文は自然言語プロンプトとみなされます。AI接頭辞で指定されたアクションに応じて、AIを使用してレスポンスが生成されます。AI接頭辞を使用するには、AIキーワードを使用したプロンプトの入力を参照してください。オプションで、プロファイル属性をオーバーライドしたり、属性をJSON形式で指定して属性を変更できます。属性の設定については、SET_ATTRIBUTEプロシージャを参照してください。
AIプロファイルを現在のセッションに設定できるのは、AIプロファイルの所有者がセッションユーザーである場合だけです。
特定のデータベース・ユーザーのすべてのセッションまたはデータベース内のすべてのユーザー・セッションに対してAIプロファイルを設定するには、特定のユーザーまたはデータベース全体のAFTER LOGONイベントに対してデータベース・イベント・トリガーを使用することを検討してください。詳細は、『Oracle Database 19cデータベースPL/SQL言語リファレンス』または『Oracle Database 26aiデータベースPL/SQL言語リファレンス』のCREATE TRIGGER文を参照してください。
構文
DBMS_CLOUD_AI.SET_PROFILE(
profile_name IN VARCHAR2,
);
Parameters
| パラメータ | 説明 |
|---|---|
|
|
現在のセッションのAIプロファイルの名前。 このパラメータは必須です。 |
例
BEGIN
DBMS_CLOUD_AI.SET_PROFILE(
profile_name => 'OPENAI'
);
END;
/
GENERATEファンクション
showsql、narrate、chatなどのサポートされているアクションを実行できます。デフォルトのアクションはshowsqlです。
この機能を使用すると、プロファイル属性の一部またはすべてをオーバーライドすることもできます。
構文
DBMS_CLOUD_AI.GENERATE(
prompt IN CLOB,
profile_name IN VARCHAR2 DEFAULT NULL,
action IN VARCHAR2 DEFAULT NULL,
attributes IN CLOB DEFAULT NULL
) RETURN CLOB;
Parameters
| パラメータ | 説明 |
|---|---|
|
|
AIを使用して翻訳する自然言語プロンプト。 プロンプトには、接頭辞として このパラメータは必須です。 |
|
|
AIプロファイルの名前。AIプロファイルが デフォルト値はNULLです。 次の条件が適用されます。
ノート: データベース・アクションの場合、DBMS_CLOUD_AI.GENERATEにprofile_name引数を指定するか、PL/SQLスクリプトとしてDBMS_CLOUD_AI.SET_PROFILEおよびDBMS_CLOUD_AI.GENERATEの2つのステップを実行できます。
|
action |
AIを使用して自然プロンプトを翻訳するためのアクション。サポートされているアクションには、 ノート: このファンクションは、runsqlアクションをサポートしていません。runsqlアクションを指定すると、次のエラーが返されます。 |
attributes |
JSON形式で属性を指定して、特定のAIプロファイル属性をオーバーライドします。詳細は、「プロファイル属性」を参照してください。 |
例
次の例は、DBMS_CLOUD_AI.GENERATE関数で使用できるshowsql、narrateおよびchatアクションを示しています。
showsqlアクションの例を次に示します。
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'showsql')
FROM dual;
narrateアクションの例を次に示します。
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'narrate')
FROM dual;
chatアクションの例を次に示します。
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'what is oracle autonomous database',
profile_name => 'OPENAI',
action => 'chat')
FROM dual;
GENERATE_SYNTHETIC_DATAファンクション
次に、単一表の合成データを生成する構文を示します。
構文
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name IN VARCHAR2,
object_name IN DBMS_ID,
owner_name IN DBMS_ID,
record_count IN NUMBER,
user_prompt IN CLOB DEFAULT NULL,
params IN CLOB DEFAULT NULL
);
次に、複数の表の合成データを生成する構文を示します。
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name IN VARCHAR2,
object_list IN CLOB,
params IN CLOB DEFAULT NULL
);
表データまたはベクトル検索ドキュメントをLLMに送信しない場合、管理者権限を持つユーザーは、特定のデータベースのすべてのユーザーに対してそのようなアクセスを無効にできます。これにより、narrateアクションが無効になります。
Parameters
| パラメータ | 必須 | 説明 |
|---|---|---|
|
|
○ |
必要なLLMサービス情報を含むAIプロファイル。これは、CREATE_PROFILEプロシージャで作成できます。 |
|
|
○ | 合成データを移入する表名を指定します。
|
owner_name |
× |
参照オブジェクトを所有するデータベース・ユーザーを指定します。特定の所有者を指定しない場合、プロシージャは、その所有者を実行しているユーザーのスキーマをデフォルトで使用します。 |
record_count |
× |
合成的に生成されるレコードの数。 |
|
|
× | ユーザーが合成データの生成について言及できる追加情報。たとえば、release_date列を含むMOVIEという表のレコードを生成するには、user_promptは次のようになります。
映画のリリース日は2019年にする必要があります |
|
|
× |
APIの動作を変更するために、JSONオブジェクト文字列形式で提供されるオプション属性。オプション・パラメータを参照してください。 |
|
|
○ | このパラメータは、複数の表に合成データを生成する場合に使用します。このパラメータは、表オブジェクト情報とその引数を取り、単一の表で提供されている同じ引数を含みます。object_listパラメータを参照してください。 |
オプションのパラメータ
| パラメータ | 値データ型 | Value | 説明 |
|---|---|---|---|
|
|
数字 |
|
データ生成でLLMをガイドするサンプルとして使用する表の行数を指定します。 値0は、サンプル行が使用されないことを意味します。デフォルト値は |
|
|
ブール |
|
表統計情報の使用を有効化または無効化します。 デフォルト値は |
|
|
文字列 |
有効な値:
|
合成データを生成するためにLLMに送信されるパラレル・リクエストの数を定義する優先度値を割り当てます。優先度が高いタスクは、より多くのデータベース・リソースを消費し、より迅速に完了します。 デフォルト値は
合成データ生成に使用される同時パラレル・プロセスの最大数は64に制限されます。 |
|
|
ブール |
|
データ生成をガイドするLLMへのコメントの送信を有効または無効にします。 デフォルト値は |
object_listパラメータ
| パラメータ | 値データ型 | 必須 | 説明 |
|---|---|---|---|
|
|
文字列 |
○ |
参照するオブジェクトを所有するデータベース・ユーザーを指定します。特定の所有者を指定しない場合、プロシージャは、その所有者を実行するユーザーのスキーマをデフォルトで使用します。 |
|
|
文字列 |
× |
合成データを移入する表名を指定します。表オブジェクトに対するSELECTおよびINSERT権限は、it.The表を使用するユーザーが空であるか、その表にレコードが含まれている場合に必要です。
|
|
|
数字 |
× |
合成的に生成されるレコード数。0より大きい数値を指定してください。
|
|
|
数字 |
× |
合成的に生成されるレコード数の割合。0より大きい数値を指定してください。 統計を含む表のメタデータが保持されるメタデータ・クローン・データベースの場合、
record_count_percentageパラメータを使用する場合、表の最終レコード数は次のように計算されます。
|
|
|
文字列 | × | 「パラメータ」のuser_promptと同じです。user_promptは、特定の表オブジェクトに関連付けられます。
|
例
次の例は、1つの表および複数の表の合成データを生成するためのDBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA関数を示しています。完全な例とその他の例については、を参照してください。
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_name => 'Director',
owner_name => 'ADB_USER',
record_count => 5
);
END;
/
PL/SQL procedure successfully completed.
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_list => '[{"owner": "ADB_USER", "name": "Director","record_count":5},
{"owner": "ADB_USER", "name": "Movie_Actor","record_count":5},
{"owner": "ADB_USER", "name": "Actor","record_count":10},
{"owner": "ADB_USER", "name": "Movie","record_count":5,"user_prompt":"all movies are released in 2009"}]'
);
END;
/
PL/SQL procedure successfully completed.
ENABLE_DATA_ACCESSプロシージャ
この手順では、該当する Select AI機能(デフォルトの動作)のデータをLLMに送信できます。このプロシージャを実行できるのは管理者のみです。
この手順では、次の Select AI機能のデータアクセスを制御します。
narrateアクション- 検索拡張生成(RAG)
- 合成データ生成
構文
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS();Parameters
この手順には、パラメータは必要ありません。
データアクセスを有効にする例
BEGIN
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS();
END;
/
DISABLE_DATA_ACCESSプロシージャ
この手順では、該当する Select AI機能のLLMへのデータの送信を無効にします。このプロシージャを実行できるのは管理者のみです。
この手順では、次の Select AI機能が制限されます。
narrateアクション- 検索拡張生成(RAG)
- 合成データ生成
構文
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS();Parameters
この手順には、パラメータは必要ありません。
データアクセスを無効にする例
BEGIN
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS();
END;
/
CREATE_VECTOR_INDEXプロシージャ
このプロシージャは、指定されたベクトル・データベースにベクトル索引を作成し、非同期スケジューラ・ジョブを使用してオブジェクト・ストアのデータを移入します。
構文
PROCEDURE CREATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
); Parameters
例
次の例は、ベクトル索引を作成し、属性をJSONパラメータとして構成する方法を示しています。
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
index_name => 'MY_INDEX'
attributes => JSON_OBJECT(
'vector_db_provider' value 'oracle',
'vector_table_name' value 'oracle_mycollection',
'profile_name' value 'OCIGENAI',
'location' value
'https://objectstorage.us-phoenix-1.' ||
'oraclecloud.com/n/mynamespace/b/mybucket',
'object_store_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/
DROP_VECTOR_INDEXプロシージャ
このプロシージャは、ベクトル・ストア索引を削除します。通常、ベクトル・ストア索引オブジェクトを削除し、ベクトル・ストアを削除します。FALSEに設定すると、引数include_dataによって、ベクトル・ストアを保持しながらベクトル・ストア索引オブジェクトのみが削除されます。
構文
PROCEDURE DROP_VECTOR_INDEX(
index_name IN VARCHAR2,
include_data IN BOOLEAN DEFAULT TRUE,
force IN BOOLEAN DEFAULT FALSE
);
Parameters
| パラメータ | 説明 |
|---|---|
|
|
ベクトル索引の名前。ベクトル索引名は、Oracle SQL識別子のネーミング・ルールに従う必要があります。ベクトル・ストア名の最大長は125文字です。 これは必須パラメータです。 |
|
|
顧客のベクトル・ストアとベクトル索引の両方をベクトル索引オブジェクトとともに削除するかどうかを示します。 可能な値:
デフォルト値は |
force |
ベクトル索引が存在しない場合に発生するエラーを無視するかどうかを示します。 可能な値:
デフォルト値は |
例
BEGIN
DBMS_CLOUD_AI.DROP_VECTOR_INDEX(
index_name => 'MY_INDEX',
include_data => FALSE,
force => TRUE
);
END;
/
DISABLE_VECTOR_INDEXプロシージャ
このプロシージャは、現在のデータベースのベクトル索引オブジェクトを無効にします。無効にすると、AIプロファイルはベクトル索引を使用できず、新しいデータがオブジェクト・ストアに追加されても、索引に基づく索引付け、検索または問合せが実行されないため、ベクトル・ストアにデータがロードされません。
構文
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX(
index_name IN VARCHAR2
);
Parameters
| パラメータ | 説明 |
|---|---|
|
|
ベクトル索引の名前。ベクトル索引名は、Oracle SQL識別子のネーミング・ルールに従う必要があります。ベクトル・ストア名の最大長は125文字です。 これは必須パラメータです。 |
例
ベクトル索引の名前は、ベクトル索引を無効にできます。
BEGIN
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX(index_name => 'MY_INDEX');
END;
/
ENABLE_VECTOR_INDEXプロシージャ
このプロシージャは、以前に無効にしたベクトル索引オブジェクトを有効またはアクティブ化します。一般に、ベクトル索引を作成すると、デフォルトで、AIプロファイルがベクトル索引を使用して索引付けおよび検索を実行できるように有効化されます。
有効にすると、ベクトル索引によって、AIプロファイルは、ユーザー指定のリフレッシュ率でオブジェクト・ストアからベクトル・ストアに新規データをロードするために使用できます。refresh_rateパラメータは、JSONオブジェクト・リストから指定できます。JSON属性を構成するには、を参照してください。
構文
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX(
index_name IN VARCHAR2
);
Parameters
| パラメータ | 説明 |
|---|---|
|
|
ベクトル索引の名前。ベクトル索引名は、Oracle SQL識別子のネーミング・ルールに従う必要があります。ベクトル・ストア名の最大長は125文字です。 これは必須パラメータです。 |
例
ベクトル索引は、次のようにベクトル索引名を指定することで有効化またはアクティブ化できます。
BEGIN
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX(index_name => 'MY_INDEX');
END;
/
UPDATE_VECTOR_INDEXプロシージャ
- 様々なタイプの属性値。
- ベクトル索引属性はJSONドキュメントとして、既存のベクトル・ストア索引の1つ以上の属性を指定された属性名と値のペアで更新します。
構文
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attributes IN CLOB
);
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN VARCHAR2
);
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB DEFAULT NULL
);
Parameters
| パラメータ | 説明 |
|---|---|
|
|
ベクトル索引の名前。ベクトル索引名は、Oracle SQL識別子のネーミング・ルールに従う必要があります。ベクトル・ストア名の最大長は125文字です。 これは必須パラメータです。 |
|
|
ベクトル索引属性をJSON形式で指定します。 これは必須パラメータです。 |
|
|
次の属性は変更できません。
これは必須パラメータです。 |
attribute_value |
カスタム デフォルト値はNULLです。 |
ノート:
attributesパラメータを使用して、JSON形式でattribute_nameと値のペアを指定するか、attribute_nameとattribute_valueのパラメータを一緒に指定します。
例
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'object_storage_credential_name',
attribute_value => 'NEW_CRED'
);
END;
/
次の例では、NUMBER型をattribute_valueとして受け入れます。
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'match_limit',
attribute_value => 10
);
END;
/
次の例では、VARCHAR2型をattribute_valueとして受け入れます。
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'profile_name',
attribute_value => 'AI_PROF2'
);
END;
/
次の例では、JSON形式のattributesを受け入れます。
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_VECTOR_INDEX',
attributes => '{"match_limit": 10,
"refresh_rate": 30}'
);
END;
/
プロファイル属性
属性
| 属性名 | 説明 |
|---|---|
|
|
Azure OpenAI Serviceデプロイ済モデルの名前。英数字、アンダースコア(_)およびハイフン(-)のみを使用できます。名前の最後には、アンダースコア(_)またはハイフン(-)は使用できません。 |
|
|
Azure OpenAIサービス・リソースの名前。リソース名に使用できるのは英数字とハイフンのみで、ハイフンで開始または終了することはできません。 |
|
|
AIを使用した自然言語プロンプトの翻訳に使用されるメタデータに列コメントを含めます。 ノート: attribute_valueパラメータがCLOBデータ型であるため、単一の属性を設定する場合、DBMS_CLOUD_AI.SET_ATTRIBUTEプロシージャではブール値は適用されません。
|
|
|
プロファイルに対して会話履歴が有効かどうかを示す |
|
|
AIプロバイダAPIにアクセスするための資格証明の名前。 Bearerトークンを使用する資格証明を作成するには、ユーザー名としてプロバイダ名を使用し、パスワードとしてBearerトークンを使用します。 この属性は必須です。CREATE_CREDENTIALプロシージャを参照してください。 |
|
|
AIプロファイルで定義された埋込みモデル。埋込みモデルでサポートされるAIプロバイダをデフォルト値とともに示します。
ノート: embedding_modelパラメータは、AnthropicおよびHugging Faceには適用できません。
|
|
|
世代ごとに予測するトークンの数を示します。デフォルトは1024です。詳細は、トークンとトークン化子を参照してください。 |
|
|
応答の生成に使用されるAIモデルの名前。 サポートされているモデル:
ノート: Azure OpenAIサービス・ポータルでデプロイメントを作成するときにモデルが決定されるため、このパラメータはAzureには使用されません。 |
|
|
SQLへの自然言語変換の対象となる所有者およびオブジェクト名を指定するJSONオブジェクトの配列。特定のユーザーのすべてのオブジェクトを含めるには、"name"を省略し、JSONオブジェクトで"owner"キーのみを指定します。 自然言語からSQLへの変換では、オブジェクト名、オブジェクト所有者、オブジェクト列およびコメントがHTTPSリクエストを使用してAIプロバイダに送信されます。オブジェクト・リストには、機密オブジェクト名、列名またはコメントを含むオブジェクトを指定しないでください。 AIプロバイダは、翻訳リクエストで許可されるメタデータのサイズに制限がある場合があります。アプリケーション・ユーザーによる自然言語プロンプトに適したオブジェクトのリストを制限することを検討してください。 書式:
|
|
|
OCI生成AIサービスをコールするときにアクセスを許可されるコンパートメントのOCIDを指定します。コンパートメントIDには、英数字、ハイフンおよびドットを含めることができます。 デフォルトは、Autonomous AI DatabaseのコンパートメントIDです。 |
|
|
この属性は、Oracle専用AIホスティング・クラスタのエンドポイントOCIDを示します。エンドポイントIDには、英数字、ハイフンおよびドットを含めることができます。エンドポイントOCIDを検索するには、生成AIでのエンドポイントの詳細の取得を参照してください。 Oracle専用AIクラスタを使用する場合は、ホスティング・クラスタのエンドポイントOCIDを指定する必要があります。 デフォルトでは、エンドポイントIDは空で、モデルは共有インフラストラクチャ上でオンデマンドです。 |
|
|
この属性は、指定されたモデルのランタイム・タイプを示します。この属性は、 許可される値はすべて、OCI生成AI runtimeTypeにあります。LlmInferenceRequestリファレンスを参照してください。 サポートされている値は次のとおりです。
|
|
|
AIプロファイルのAIプロバイダ。 サポートされるプロバイダ:
この属性は必須です。 |
|
|
この属性は、使用する生成AIクラスタの場所を示します。リージョンには、英数字とハイフン文字を含めることができます。
ノート: Oracle Generative AIクラスタは、シカゴ、フランクフルトおよびロンドン・リージョンで使用できます。生成AIでの事前トレーニング済基盤モデルを参照してください。us-chicago-1です。
|
|
|
生成されたテキストは、最も早い停止シーケンスの先頭に終了します。シーケンスはテキストに組み込まれます。属性値は、JSON形式の文字列値の有効な配列である必要があります。 |
|
|
「テキストの生成」モデルからのサンプリングにはランダム性が組み込まれているため、「生成」をクリックするたびに同じプロンプトで異なる出力が生成される場合があります。温度は、乱数を調整するために使用される負でない浮動小数点数です。温度が低いと、ランダムな世代が少なくなります。詳細は、Temperatureを参照してください。このパラメータは、サポートされているすべてのサービス・プロバイダに適用されます。 |
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'COHERE',
attributes =>
'{"provider": "cohere",
"credential_name": "COHERE_CRED",
"object_list": [{"owner": "ADB_USER"}],
"max_tokens":512,
"stop_tokens": [";"],
"model": "command-nightly",
"temperature": 0.5,
"comments": true
}');
END;
/
次の例は、OCI生成AIを使用したカスタム・プロファイル属性を示しています。
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'GENAI',
attributes => '{"provider": "oci",
"credential_name": "GENAI_CRED",
"object_list": [{"owner": "SH", "name": "customers"},
{"owner": "SH", "name": "countries"},
{"owner": "SH", "name": "supplementary_demographics"},
{"owner": "SH", "name": "profits"},
{"owner": "SH", "name": "promotions"},
{"owner": "SH", "name": "products"}],
"oci_compartment_id": "ocid1.compartment.oc1...",
"oci_endpoint_id": "ocid1.generativeaiendpoint.oc1.us-chicago-1....",
"region": "us-chicago-1",
"model": "cohere.command-light",
"oci_runtimetype": "COHERE"
}');
END;
/