Autonomous DatabaseにおけるSelect AIの検証

公開日 2025.10.14  
 株式会社システムエグゼ オラクルクラウドチーム

Oracle Cloud Infrastructure(以下OCI)のAutonomous Database(以下ADB)が提供するSelect AI機能は、自然言語でSQLの問い合わせを行うことで、データベース操作を効率的に行うことができる技術です。本記事では、当社で実施したSelect AIおよびSelect AI RAG機能の検証結果をまとめました。

“無償”でクラウド移行の意思決定に必要な情報を提供
OCIに特化した無償移行アセスメントサービス

「高品質・低コストなOracle Cloudに移行したいがノウハウがない」「まだ比較検討段階で外部にアセスメントを依頼する予算がない」「まるっとクラウド移行を任せられるベンダーが欲しい」などのお困りごとは、ぜひ私たちシステムエグゼへご相談ください。

3回のワークショップでスピーディーにお客さまのシステムのアセスメント結果をご提供します!

サービスの詳細はこちらから

Select AIの検証

Select AIでは大規模言語モデル(LLM)を使用することで、ユーザーが入力したテキスト(自然言語)をSQL に変換し、データベース内のデータを問合せることができます。このためユーザーは、自然言語を使ってデータベース内のデータを要求することができます。

今回はSelect AIの基本的な機能の確認と、ADBのサイドカーとしての機能の検証を行いました。
構成は下記の通りOCIにADBを構築し、AWSのS3のデータを活用するというシンプルな構成です。

Select AIの検証図1. Select AIの構成図

従来のデータベースでは、OCI上にデータべースがある場合、他クラウドからデータを外部表として参照することはできませんでした。しかし、ADBの23aiではデータベースを”サイドカー”や“ハブ”のような使い方をすることで、データの移行を行わず、他クラウドのデータベースやストレージを参照してSelect AIを活用することができます。

Select AIの検証手順は下記の通りです。

  1. Select AIを使用するユーザーに必要な実行権限の付与
  2. AIプロバイダにアクセスするためのクレデンシャルの作成
  3. AIプロファイルの作成
  4. セッションで使用するAIプロファイルの設定

実行権限の付与(事前にユーザの作成が必要)

GRANT EXECUTE ON DBMS CLOUD AI TO select ai user

クレデンシャルの作成

BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'GENAI_CRED', -- 作成するクレデンシャルの名前
user_ocid => 'ocid1.user.oc1....', -- OCIユーザのOCID
tenancy_ocid => 'ocid1.tenancy.oc1....', -- テナンシのOCID
private_key => 'vZ6cO...', -- OCIユーザのプライベートキー
fingerprint => '86:7d:...' -- フィンガープリント
);
END;
/

プロファイルの作成

BEGIN

DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name =>'GENAI', -- 作成するAIプロファイル名
attribuztes =>'{
"provider" : "oci", -- Select AIで使⽤するAIプロバイダ
"region" : "ap-osaka-1", -- OCI GenAI Serviceを使⽤するリージョン
"model" : "meta.llama-3.1-70b-instruct", -- Select AIで使⽤するモデル
"credential_name" : "GENAI_CRED", -- AIプロバイダアクセス時に使⽤するクレデンシャル
"comments" : "TRUE", -- 表や列のコメントの利⽤を有効化
"conversation" : "TRUE", -- 会話履歴を有効化
"object_list" : [ -- Select AIの対象とするスキーマ・オブジェクトのリスト
{"owner": "SH", "name": "customers"},
{"owner": "SH", "name": "products"}]
}'
);
END;

プロファイルの指定

EXEC DBMS_CLOUD_AI.SET_PROFILE('GENAI'); -- 使⽤するAIプロファイル名を指定

上記設定後、SELECT AI ~を使用する事で自然言語での問い合わせが可能となります。

例:

SQL> select ai "2024年3月の質問の数は?";   

質問数
----------
8

このようにSelect AIを利用し、日本語で質問を行って回答を得ることができました。

参考:Oracle Autonomous Databaseを使ったAI活用入門(Oracle Database Technology Night)(12/19開催)

New call-to-action
データ活用に最適な環境! データ基盤におけるOCIの優位性

Select AI RAGの検証

次はSelect AI RAGの検証を行います。Select AIではRAG(Retrieval Augmented Generation)がサポートされています。自然言語でデータベース内のデータを問い合わせることができるSelect AIにRAGを組み込むことで、より高い精度で回答を得ることができ、ハルシネーションの軽減も期待できます。

検証した環境の構成は下記の通りです。
Select AIの検証と同様に、OCIにADBを構築し、AWSのS3バケットにデータを格納しました。

Select AI RAGの検証図2. Select AI RAGの構成図

Select AI RAGを利用するには、前章で設定したクレデンシャルとプロファイルの設定に加えて、ベクトル索引を作成する必要があります。これは、ベクトル・ストアやベクトル索引を利用するためのパイプラインのようなもので、利用するストレージとAIプロファイルを紐づけるためのものです。

  • ベクトル索引の作成
    BEGIN
    DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
    index_name => 'MY_VECTOR_INDEX', -- 作成するベクトル索引名
    attributes => '{
    "vector_db_provider": "oracle", -- ベクトルデータベースプロバイダ
    "location": "https://oraclelpoc.s3.ap-northeast-1.amazonaws.com/docs/", -- ドキュメントが格納されているオブジェクトストレージのURI
    "object_storage_credential_name": "S3_CRED_ARN", -- オブジェクトストレージアクセス用のクレデンシャル名
    "profile_name": "GENAI_RAG", -- RAGで使用するAIプロファイル名
    "vector_distance_metric": "cosine", -- ベクトル間の距離計算メトリック
    "vector_dimension": 1024, -- ベクトルの次元数
    "chunk_overlap": 128, -- チャンク間のオーバーラップサイズ
    "chunk_size": 400, -- ドキュメントを分割するチャンクサイズ
    "refresh_rate": 10 -- ベクトル索引を更新する間隔
    }'
    );
    END;

    ベクトル索引の作成後、Select AIに加えてNarrateを付けることでRAGを用いた実行が可能です。

  • select ai narrateの実行
    SQL> select ai narrate  議論された食料の安定供給に関する法案についてまとめてください;
    
    RESPONSE
    ----------------------------------------------------------------------------------------------------------------------
    議論された食料の安定供給に関する法案は以下の通りです:
    1. **主要食糧の需給及び価格の安定に関する法律の一部を改正する法律案**
    - この法案は、主要食糧の需給と価格の安定を図るための法律の改正案です。
    2. **食料供給困難事態対策法の一部を改正する法律案**
    - 食料供給が困難な事態に対する対策を強化するための法律の改正案です。
    3. **地域在来品種等の種苗の保存及び利用等の促進に関する法律案**
    - 地域在来品種の種苗の保存と利用を促進するための法律案です。
    4. **農業用植物の優良な品種を確保するための公的新品種育成の促進等に関する法律案**
    - 農業用植物の優良な品種の確保と新品種育成を促進するための法律案です。
    これらの法案は、食料の安定供給と農業の持続的な発展を目的としています。
    Sources:
    -FKG004_YYYYMMDD.txt(https://oracle-xxxx.ap-northeast-1.amazonaws.com/docs/FKG004_YYYYMMDD.txt)

このようにSelect AIだけでは得られなかった回答を得ることが出来ました。

参考:Oracle Autonomous Databaseを使ったAI活用入門(Oracle Database Technology Night)(12/19開催)

まとめ

今回の検証を通じて、Oracle Cloud InfrastructureのAutonomous DatabaseにおけるSelect AI機能が、データベース操作の効率化に貢献できることが分かりました。

Select AIでは自然言語での問い合わせにより、SQLの専門知識がなくてもデータベースから日本語で直接データと対話できます。今後の機能拡張によっては、今回の検証でお見せした自然言語の問い合わせ以上のことができるようになると考えられます。

マルチクラウド連携の観点では、OCIのADBを”ハブ”として、他クラウドサービスのデータを参照できることを確認しました。これにより、データの物理的な移行なしに、複数のクラウド環境に分散したデータを統合的に活用できます。また、利用するADBはOCIだけではなく、Oracle Database@AzureやOracle Database@AWSなどでも対応が可能なため、既存で運用しているADBですぐに検証が可能です。

システムエグゼによる導入支援のご案内
システムエグゼは、今回ご紹介したSelect AI機能の検証で得られた知見を活かし、お客様のデータ活用の高度化を支援いたします。

当社がご提供できる価値

  • PoCから本番導入までのサポート
  • マルチクラウド環境でのデータ統合アーキテクチャの設計・構築
  • RAG機能を活用した業務特化型AIシステムの開発
  • 既存データベース環境との統合に関するコンサルティング

特に、以下のようなご要望をお持ちの企業様に最適なソリューションをご提供いたします。

  • データ分析の民主化を推進したい
  • SQLスキルを持たない業務部門でもデータ活用を促進したい
  • 複数クラウドに分散したデータを統合的に活用したい
  • AI技術を活用してデータドリブンな意思決定を加速したい

システムエグゼは、データベース技術における豊富な実績と、最新のAI技術への深い理解を組み合わせて、お客様のDX推進を強力にサポートいたします。Select AIの導入検討から実装、運用まで、ぜひお気軽にご相談ください。

Oracle Cloudとシステムエグゼが選ばれる理由 Oracle Cloudのことなら“システムエグゼ”

RECENT POST「エンジニアリング」の最新記事


エンジニアリング

Oracle Database Cloud Service(旧dbcs)とは?その特徴やメリットについて解説

エンジニアリング

MySQL Database Serviceのパフォーマンス調査(ディスクサイズによる性能比較)

エンジニアリング

Oracle Database 23aiの新機能 「JSON Relational Duality」とは?

エンジニアリング

MySQL Database Serviceを触ってみた(構築編)

Autonomous DatabaseにおけるSelect AIの検証
Oracle Cloudのすすめクラウド移行まるわかりガイド