※ 本記事は、Mark Hornickによる”Bring Informatica Business Context to Oracle Select AI“を翻訳したものです。
2026年11月8日
カタログで管理する業務用語の定義とデータオブジェクトの説明を、Oracle Autonomous AI Databaseの自然言語による問い合わせに活用する
業務メタデータを活用すると、自然言語からSQLを生成する際に、企業内で共通に使っている定義や用語を踏まえられます。データカタログには、指標の承認済みの意味、データ資産の説明、各チームがレポートで使う用語など、データベースのメタデータだけでは表現しきれない業務上の定義を保存できます。Oracle Select AIでは、自然言語をSQLに変換するときに、こうした情報を、意味の解釈に必要な補足情報(セマンティックコンテキスト)として利用できます。Informatica Data Catalogをカタログ型のセマンティックソースとして接続すれば、AIプロファイルから参照するOracle Autonomous AI Databaseのオブジェクトのメタデータに加え、カタログで管理する業務情報も利用できます。
カタログの定義を、問合せの意味を解釈するために使う
たとえば、カタログで「リスクのある顧客」を、「優良顧客のうち、過去90日間に注文がなく、サポートでエスカレーションされた未解決案件がある顧客」と定義しているとします。SUPPORT_STATUSのようなデータベースの列名だけでは、この業務ルール全体は分かりません。カタログからは、承認済みの用語と、それに関連するデータ資産の説明を取得できます。データベースのメタデータからは、Oracle Select AIにテーブルと列の名前や構造を伝えられます。両方の情報を使うことで、LLMは「地域別にリスクのある顧客を一覧表示して」という依頼を、組織で管理する定義に沿って解釈しやすくなります。生成されたSQLについては、意図した業務上の定義を反映しているかを確認してください。
Informaticaとの連携では、名前を指定したカタログを、Oracle Select AIのセマンティックソースオブジェクトとして接続します。そのソースを、AIプロファイルで指定できるようになります。プロンプトを処理するときに、Oracle Select AIは、設定済みのソースから関連するセマンティックコンテキストを取得し、データベースのメタデータを補足できます。定義の維持・管理は、引き続きデータ管理担当者がカタログ側で行います。問い合わせにどのカタログ情報が必要かは、プロファイルの設定とSelect AIの処理によって決まります。
Informatica Data Catalogに接続する
DBMS_AI_SEM.CREATE_SEMANTIC_SOURCEを使い、カタログ型のセマンティックソースを作成します。次の例では、プロバイダーにInformaticaを指定し、scopeをallにして、オブジェクト単位の情報と全体に適用する情報の両方を取得するよう設定しています。エンドポイント、認証情報、データソースの値は、使用する環境に合わせて置き換えてください。data_source_nameには、Oracle Select AIに使わせたいメタデータを含む、Informaticaカタログ内のデータソースを指定します。
BEGIN
DBMS_AI_SEM.CREATE_SEMANTIC_SOURCE(
source_name => 'INFORMATICA_SALES_CATALOG',
type => 'catalog',
attributes => '{
"provider": "informatica",
"scope": "all",
"source_endpoint": "<INFORMATICA_ENDPOINT>",
"credential_name": "<INFORMATICA_CREDENTIAL>",
"data_source_name": "SALES_DATA_SOURCE"
}'
);
END;
/
ソース名は、AIプロファイルからそのソースを参照するための識別子です。認証情報名では、カタログのエンドポイントへのアクセス用に設定した認証情報を指定します。適用されるアクセス制御の設定に従って認証情報を管理し、ほかのプロファイル所有者がソースを利用する必要がある場合は、その利用権限を付与してください。権限を付与しても、ソースの所有権や認証情報を相手に渡すわけではありません。
AIプロファイルにソースを関連付ける
セマンティックソースを作成するだけでは、すべてのプロファイルで自動的に使えるようにはなりません。依頼の処理に使うプロファイルのsemantic_source属性に、そのソース名を追加します。次の例は、関連するプロファイル設定を示しています。LLMのプロバイダーと認証情報には、使用する環境に適した値を指定してください。
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'SALES_PROFILE',
attributes => '{
"provider": "<LLM_PROVIDER>",
"credential_name": "<LLM_CREDENTIAL>",
"semantic_source": ["INFORMATICA_SALES_CATALOG"]
}'
);
END;
/
プロファイルでは、その所有者が所有するソースか、その所有者に利用権限が付与されたソースを参照できます。既存のプロファイルを管理している場合は、通常のプロファイル管理の手順でセマンティックソースを追加してください。有効なプロファイルに関連付けられたソースは削除できないため、ソースの利用を終了する前に、プロファイルからの参照を解除します。
渡した情報と生成されたSQLを確認する
Select AIでは、LLMに渡すセマンティックコンテキストに加え、それを組み込んだプロンプトと、生成されたクエリを確認できます。テストでは、代表的なプロンプトに対して、Oracle Select AIがどの情報を追加したかを調べられます。SHOWPROMPTアクションでは、オブジェクトや列の説明を含む、補足情報を追加した後のプロンプトを表示できます。SHOWCONTEXTアクションでは、その依頼に関連する、オブジェクト単位と全体向けの業務上のセマンティックコンテキストを表示できます。
SELECT AI SHOWPROMPT 'List at-risk customers by region'
SELECT AI SHOWCONTEXT 'List at-risk customers by region'
SELECT AI SHOWSQL 'List at-risk customers by region'
(訳注:”List at-risk customers by region” 「地域別に、リスクのある顧客を一覧表示してください」)
これにより、想定したInformaticaの定義が含まれているか、意図したデータベースオブジェクトに適用されているかを確認できます。SHOWSQLでは、LLMが生成したSQLを、絞り込み条件や結合も含めて確認してください。カタログソースを使う場合と使わない場合で同じプロンプトを試し、追加したカタログのセマンティックソースが、結果にどのような影響を与えるかを評価します。
管理された業務用語を1つ選び、そこから始める
よく使われるものの、クエリ結果にばらつきが生じているビジネス用語を選びます。Informatica Data Catalog に、その用語の意図した定義と、Oracle Autonomous AI Database のオブジェクトに関連付けるために必要な説明が登録されていることを確認します。カタログをセマンティックソースとして構成し、適切な AI プロファイルで指定したうえで、その用語に対して使われるコンテキストと生成される SQL を確認します。こうして、カタログで管理するメタデータが自然言語の問い合わせにどう役立つかを確認してから、プロファイルで利用するカタログ情報の範囲を広げられます。
関連資料
