2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Oracle Cloud][Autonomous Database]NFS領域のファイルを対象にした「Select AI with RAG」してみた。(2025/09/28)

Posted at

はじめに

Autonomous Databaseで、ネットワーク・ファイル・システム(NFS)内のファイルを含むディレクトリに対してデータ・パイプラインおよびSELECT AIベクトル索引作成が可能になりました。
これまで提供されているObject Storage内のファイルおよびベクトル索引で使用可能なすべてのファンクションがサポートされています。
試してみました。

事前準備

Autonomous DatabaseにNFSのアタッチ

Autonomous DatabaseにはOCI File StorageサービスやNFSサーバーをアタッチすることができます。
今回は、以下の記事を参考にしました。ありがとうございます。

SELECT AI with RAG

SELECT AI with RAG の確認は、以下の記事の手順で行いました。

NFSにファイルの配置

Autonomou Database にアタッチしたNFS領域に rocket.txtファイルを配置します。

APEXワークスペースの作成とAPEXアプリケーションのインポート

元の記事の内容通りに実施します。

SELECT AIを利用するための準備

SELECT AI機能の利用に必要な権限の付与

パッケージの実行権限に加えて、NFSをアタッチしたディレクトリオブジェクトへのREAD/WRITE権限を付与します。

-- SELECT AI機能の利用に必要なパッケージの実行権限を付与
GRANT DWROLE, UNLIMITED TABLESPACE TO WKSP_APEXDEV;
GRANT EXECUTE ON DBMS_CLOUD_AI TO WKSP_APEXDEV;
GRANT EXECUTE ON DBMS_CLOUD TO WKSP_APEXDEV;
GRANT READ on directory MY_FSS_DIR to WKSP_APEXDEV;
GRANT WRITE on directory MY_FSS_DIR to WKSP_APEXDEV;

OCI生成AIサービスのクレデンシャル作成

元の記事の内容通りに実施します。

AIプロファイルの作成

2025年9月時点で使用可能なモデルを使用してAIプロファイルを作成

BEGIN
 DBMS_CLOUD_AI.CREATE_PROFILE(
       profile_name =>'RAG_PROFILE',
       attributes   =>'{"provider": "oci",
         "credential_name": "OCI_GENAI_CRED",
         "vector_index_name": "MY_INDEX",
         "embedding_model": "cohere.embed-v4.0",
         "model": "cohere.command-a-03-2025"
       }');
end;
/

ベクトル索引作成

DBMS_CLOUD_AI.CREATE_VECTOR_INDEXプロシージャを使用して、ベクトル索引を作成します。
locationパラメータで、NFSをアタッチしたディレクトリオブジェクトとファイルを指定します。

BEGIN
       DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
         index_name  => 'MY_INDEX',
         attributes  => '{"vector_db_provider": "oracle",
                          "location": "MY_FSS_DIR:*",
                          "object_storage_credential_name": "OCI_GENAI_CRED",
                          "profile_name": "RAG_PROFILE",
                          "vector_dimension": 1536,
                          "vector_distance_metric": "cosine",
                          "chunk_overlap":128,
                          "chunk_size":400,
                          "refresh_rate":1
      }');
END;
/

locationパラメータにディレクトリを指定する場合、
1つのディレクトリとファイル名を指定できます。
ディレクトリを指定するフォーマットは、MY_DIR:filename.extです。
デフォルトでは、ディレクトリ名MY_DIRはデータベース・オブジェクトで、大文字と小文字は区別されません。ファイル名では大文字と小文字が区別されます。

ディレクトリ内のファイル名を指定するには、ワイルドカードが使用できます。
文字*は複数の文字のワイルドカードとして使用でき、文字?は単一の文字のワイルドカードとして使用できます。

RAGを使用した自然言語問合せの実行

「OraBoosterとは?」

image.png

「一番売り上げが多いロケットエンジンと、そのエンジンの重量を教えてください。」

image.png

さいごに

Autonomous DatabaseにNFSをアタッチして、SELECT AI with RAG を行うことができました。

参考情報

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?