Oracle Autonomous Database で In-database 埋め込みモデルを使ってベクトルを生成する

## はじめに

![ChatGPT Image 2025年4月21日 00_21_45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74534/994366ec-8549-4887-bbe0-799fda9c410e.png)


Oracle Database 23aiでは、ONNX形式の埋め込みモデルをデータベース内にロードして、埋め込みベクトルの生成を行うことができます。そのためには、Oracle が提供する OML4Py クライアントを使って、Hugging Faceで公開されている埋め込みモデルを ONNXフォーマットでエクスポートして、データベースへロードする必要があります。

今回は、多言語埋め込みモデルの [intfloat/multilingual-e5-base](https://huggingface.co/intfloat/multilingual-e5-base)をOML4PyでONNXフォーマットに変換して Oracle Autonomous Database へロードしてみました。

## 手順のロードマップ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74534/9ef13a54-96c2-486a-9a8b-dfb8a65f7bb3.png)


## 環境
### データベース
- OCI の Oracle Autonomous Database を使用しました

### 作業用サーバー
- OCI の Oracle Linux 8 Comute インスタンスを使用しました

## 環境構築
### 作業用サーバーにPython 3.12 をインストール
2025/4/20 時点では、oml4py でサポートされる Python バージョンは、3.12 以上です。
Oracle Linux 8 のデフォルトの Python は、3.6 ですので、 3.12 以上のインストールが必要です。

作業用サーバーへ opc ユーザーでログインして下記コマンド群を実行します。
```bash
sudo dnf update -y
sudo dnf install -y oracle-epel-release-el8
sudo dnf config-manager --set-enabled ol8_codeready_builder
sudo dnf install -y python3.12
python3 --version
```
ここで、 3.12 以外のバージョンが表示された場合は複数の Python バージョンがインストールされていて、デフォルトでは `python3 --version` で表示されたバージョンが使用されます（python3 コマンドがそのバージョンへのシンボリックリンクであるためです）。このまま、以降の作業では、Python バージョンを指定して実行することもできますし、デフォルトを変更して問題ない場合は、alternatives を使用してデフォルトを変更することもできます。

#### alternatives を使用してデフォルトを変更する（Pythonデフォルトバージョンを変更したい場合のみ）

```bash
sudo alternatives --config python3
```
インストールされているバージョンが表示されますにでコマンドからのメッセージに従って、3.12を選択します。

### Oracle Client 環境の構築（作業用サーバー：opcユーザー）

#### Oracle ユーザーの作成
```bash
sudo /usr/sbin/groupadd -g 54321 oinstall
sudo /usr/sbin/useradd -u 54321 -g oinstall oracle
```

#### Oracle Instant Client のインストール
今回は、作業用サーバーから sqlplus で ADB へ接続したため Oracle Instant Client をインストールしています。OML4Py の実行のために必要なわけではありません。他の環境から ADB へ接続して SQL を発行する場合は必要ありません。以降の sqlplus での作業は適宜読み替えてください。
```bash
dnf install -y oracle-instantclient-release-23ai-el8
dnf install -y oracle-instantclient-basic
dnf install -y oracle-instantclient-sqlplus
```

#### 作業ユーザーを oracle に変更
```bash
sudo su - oracle
```

#### Oracle 関連環境変数の設定（作業用サーバー：oracle ユーザー）
```bash
cat <<EOF >> ~/.bashrc
export ORACLE_HOME=~
export NLS_LANG=Japanese_Japan.AL32UTF8
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=/usr/lib/oracle/23/client64/lib:$LD_LIBRARY_PATH
EOF
source ~/.bashrc
```

#### ADB ウォレットを格納するディレクトリの作成（作業用サーバー：oracleユーザー）
```bash
mkdir -p ~/network/admin
```

#### ADB ウォレットのダウンロード（ADB からローカルPCへダウンロード）

- Autonomous Database のコンソールで、「データベース接続」をクリックします

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74534/ab88fe10-022a-4bf6-91c4-d3e7408c3d03.png)

- 「クライアント資格証明（ウォレット）のダウンロード」で「インスタンスウォレット」を選択して「ウォレットのダウンロード」をクリックしてウォレットをローカルPCへダウンロードします

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74534/5b01773c-a569-49be-8466-13bdc491e66a.png)

#### ADB ウォレットの作業用 Compute へのアップロード（ローカルPC作業）

scp コマンドなどで上でダウンロードしたウォレットファイルを Compute へアップロードします

```bash:Windows の Git Bash からアップロードする例
scp -i 秘密鍵 ローカルのウォレットファイル名 opc@ComputeのIPアドレス:/tmp
```
#### ADB ウォレットのアップロードの確認（作業用サーバー：oracleユーザー）
作業用サーバーにアップロードできていることを確認

```bash:ウォレットファイルの確認
ls -l /tmp/ウォレットファイル名
```
#### ADB ウォレットの移動（作業用サーバー：oracleユーザー）
```bash
sudo mv /tmp/ウォレットファイル名 /home/oracle/network/admin
```


### oml4py に必要なperl-Envパッケージのインストール（作業用サーバー：opcユーザー）

```bash
sudo yum install -y perl-Env
```

### Python仮想環境の準備（作業用サーバー：oracleユーザー）
#### 作業ユーザーを oracle に変更
```bash
sudo su - oracle
```

#### 高速パッケージマネージャ uv のインストール（お好みで）

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

#### 作業ディレクトリの作成と移動

```bash
mkdir -p ~/oml4py
cd ~/oml4py
```

#### Python 仮想環境の作成

```bash: uv を使用する場合
uv venv --python 3.12
```

```bash: uv を使用しない方法
python3.12 -m venv .venv
source .venv/bin/activate
```

#### Python 仮想環境のアクティベート

```bash
source .venv/bin/activate
```

### oml4pyの依存パッケージのインストール
[4.3 Install the Required Supporting Packages for Linux for On-Premises Databases](https://docs.oracle.com/en/database/oracle/machine-learning/oml4py/2-23ai/mlpug/install-required-supporting-packages-linux-premises-databases.html#GUID-96A6AECD-4E55-4B84-8403-4B09ADCD4E79)

#### requirements.txt の用意

```bash
cat <<EOF > requirements.txt
--extra-index-url https://download.pytorch.org/whl/cpu
pandas==2.2.2
setuptools==70.0.0
scipy==1.14.0
matplotlib==3.8.4
oracledb==2.4.1
scikit-learn==1.5.1
numpy>=2.0.1
onnxruntime==1.20.0
onnxruntime-extensions==0.12.0
onnx==1.17.0
torch==2.6.0
transformers==4.49.0
sentencepiece==0.2.0
EOF
```
なお、ドキュメントには `numpy==2.0.1` と記載されていますが、2025/4/20 時点では、そのようなバージョンは無いという意味のエラーとなるため `numpy>=2.0.1` と書き換えています。

#### 依存パッケージのインストール

```bash: uv を使用する場合（高速）
uv pip install -r requirements.txt
.venv/bin/python3 -m ensurepip
```

```bash: uv を使わない方法（低速）
pip install -r requirements.txt
```

## oml4py client のセットアップ
[4.5.1.2 Install OML4Py Client for Linux for On-Premises Databases](https://docs.oracle.com/en/database/oracle/machine-learning/oml4py/2-23ai/mlpug/install-oml4py-client-linux-premises-databases.html#GUID-7B1D4E72-37DE-4153-AF15-04A689182651)
### oml4py client のダウンロード（ローカルPCで実行してください）
[Oracle Machine Learning for Python Downloads](https://www.oracle.com/database/technologies/oml4py-downloads.html) から oml4py client をダウンロードします。
※ 2025/4/20 時点では、2.0 が最新です。ダウンロードサイトやドキュメントには 2.1 に関する記述がありますが、この時点ではまだダウンロードできませんでした。

### oml4py clientパッケージのアップロード（ローカルPCで実行してください）

```bash
scp -i 秘密鍵 oml4py-client-linux-x86_64-2.0.zip opc@ComputeのIPアドレス:/tmp
```
#### oml4py clientパッケージのコピー
```bash
cp /tmp/oml4py-client-linux-x86_64-2.0.zip /home/oracle/oml4py
```

### oml4py client の解凍

```bash
cd /home/oracle/oml4py
unzip oml4py-client-linux-x86_64-2.0.zip
```

### oml4py client のインストール

```bash
perl -Iclient client/client.pl
```
## 埋め込みモデルのONXXフォーマットでのエクスポート
以下の手順を実行すると Hugging Face から埋め込みモデルをダウンロードして、Oracle Database へロードできる ONNXフォーマットへ変換してファイルとして保存されます
### ONNXフォーマットでのエクスポート
```python
from oml.utils import EmbeddingModelConfig,EmbeddingModel
config = EmbeddingModelConfig.from_template("text",post_processors=[{"name":"Pooling","type":"mean"},{"name":"Normalize"}],quantize_model=True,max_seq_length=512)
em = EmbeddingModel("intfloat/multilingual-e5-base",config)
em.export2file("multilingual_e5_base")
```
- quantize_model=True：データベースへロードできる埋め込みモデルにはファイルサイズの制限があり 1GB 以上の ONNX ファイルをロードすることはできません。そこで、元々 float32 で作られている intfloat/multilingual-e5-base モデルを int8 に量子化して、サイズを削減するようにしています
- max_seq_length=512：埋め込みモデルが受け付けることができるコンテキストの最大長です。埋め込みモデルごとに決まっています。intfloat/multilingual-e5-base の場合は、512トークンです。この値は、[Hugging Face の intfloat/multilingual-e5-base のモデルカード](https://huggingface.co/intfloat/multilingual-e5-base)で確認できます
- EmbeddingModel("intfloat/multilingual-e5-base",config)：ここで埋め込みモデルの Hugging Face 上での名前を指定しています

ONNXフォーマットでエクスポートされていることを確認します。
```bash
ls -l
```
`multilingual_e5_base.onnx` という名前のファイルが出力されているはずです。

## オブジェクトストレージへアップロード
### /tmp へコピー（作業用サーバー：oracleユーザー）
ローカルへのダウンロードの準備として、ONNXフォーマットの埋め込みモデルファイルを /tmp へコピーしておきます
```bash
cp multilingual_e5_base.onnx /tmp
```

### ローカルへダウンロード（ローカル側作業）
```bash
scp -i 秘密鍵 opc@ComputeのIPアドレス:/tmp/multilingual_e5_base.onnx .
```
作業用サーバーからローカルPCのカレントディレクトリへONNXフォーマットの埋め込みモデルファイルをダウンロードします
### OCI コンソールからオブジェクトストレージへアップロード
- OCIコンソールで、左上のハンバーガーメニュー（三本線）から「ストレージ」>>「バケット」
と遷移して「バケットの作成」をクリックします
- 「バケット名」に任意のバケット名を入力します（例：onnx-あなたの名前）
- 「作成」をクリックします
- バケットの一覧が表示されるので作成したバケットの名前をクリック
- 「アップロード」をクリック
- 「コンピュータからファイルを選択」でローカルの `multilingual_e5_base.onnx`ファイルを選択
- 「アップロード」をクリック

## ADB にユーザーを作成

### データベースへの接続（作業用サーバー：oracleユーザー）
admin DBユーザーでデータベースへ接続
```bash
sqlplus admin/パスワード@ADBのTNS名
```
TNS名は、Autonomous Database のコンソールで、「データベース接続」から確認できます。

### データベースユーザー（VECTOR）の作成
```sql
CREATE USER VECTOR identified by パスワード;
GRANT CONNECT to VECTOR;
GRANT CREATE SESSION to VECTOR;
GRANT RESOURCE to VECTOR;
GRANT DB_DEVELOPER_ROLE to VECTOR;
GRANT EXECUTE ON DBMS_CLOUD TO VECTOR;
GRANT EXECUTE ON DBMS_VECTOR TO VECTOR;
GRANT EXECUTE ON DBMS_VECTOR_CHAIN TO VECTOR;
GRANT CREATE ANY DIRECTORY TO VECTOR;
GRANT EXECUTE ON DBMS_CLOUD_AI TO VECTOR;
```
- パスワードには、実際の VECTORユーザーに設定するパスワードを記載します

### VECTORへの容量の割り当ての拡大
```sql
ALTER USER VECTOR QUOTA UNLIMITED ON DATA;
```

## ONNXファイルをオブジェクトストレージから ADB へダウンロード

### データベースへの接続（Compute側作業：oracleユーザー）
VECTOR DBユーザーでデータベースへ接続
```bash
sqlplus vector/パスワード@ADBのTNS名
```

### オブジェクトストレージにアクセスするクレデンシャルを作成（データベース側作業：VECTORユーザー）
```sql
BEGIN
    DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'OBJ_STORE_CRED',
        user_ocid       => 'OCIユーザーのOCID',
        tenancy_ocid    => 'OCIテナンシーのOCID',
        private_key     => '秘密鍵',
        fingerprint     => 'フィンガープリント'
    );
END;
/
```
- 秘密鍵には、OCIユーザーのAPIキーから"--" で始まる行を削除した文字列を設定します。Windowsのメモ帳などでは、秘密鍵の途中に改行は挿入されることがありますが改行を入れず全体を1行で指定する必要があります。途中に改行があると正しく認証できません
- Linux環境、もしくは、Windowsでも Git Bash などでLinuxコマンドが使用できる場合は、以下のコマンドで引き抜いた文字列を指定します
```bash
awk '!/^--/' ~/.oci/oci_api_key.pem | tr -d '\n' && echo
```
ここで、`~/.oci/oci_api_key.pem`は、OCIユーザーのAPIキー（秘密鍵）です。異なる場所、ファイル名の場合は適宜読み替えてください。
APIキーとフィンガープリントの組み合わせが不明な場合は、OCIコンソール右上の人型アイコンから「ユーザー設定」>>左側リソースメニュの「APIキー」>>「APIキーの追加」で新たに生成できます。

### ステージング用ディレクトリーの作成（データベース側作業：VECTORユーザー）
一時的に ONNXフォーマットの埋め込みモデルファイルを保存するためのディレクトリを作成します
```sql
CREATE DIRECTORY staging AS 'stage';
```

### ONNXファイルのダウンロード（データベース側作業：VECTORユーザー）
オブジェクトストレージから ONNXフォーマットの埋め込みモデルファイルを ADB のステージング用ディレクトリへダウンロードします
```sql
BEGIN
  DBMS_CLOUD.GET_OBJECT(
    credential_name => 'OBJ_STORE_CRED',
    object_uri => 'オブジェクトストレージ上の埋め込みモデルファイルのURL',
    directory_name => 'staging',
    file_name => 'multilingual_e5_base.onnx'
  );
END;
/
```
オブジェクトストレージ上の埋め込みモデルファイルのURLは、以下の手順で確認できます。
- OCIコンソールで、左上のハンバーガーメニュー（三本線）から「ストレージ」>>「バケット」
と遷移してします
- バケットの一覧が表示されるので先程作成したバケットの名前をクリック
- オブジェクト欄で、先程アップロードしたONNXフォーマットの埋め込みモデルファイル名（例：multilingual_e5_base.onnx）の右端の3つの点をクリック
- 「オブジェクトの詳細の表示」をクリック
- 「次のURLの専用エンドポイントを使用することをお薦めします:」の直下に記載されている URL がここで指定する URL です

### ADB 内のファイルの確認（データベース側作業：VECTORユーザー）
```sql
SELECT OBJECT_NAME, CREATED FROM TABLE(DBMS_CLOUD.LIST_FILES('staging'));
```

```bash:出力例
SQL> SELECT OBJECT_NAME, CREATED FROM TABLE(DBMS_CLOUD.LIST_FILES('staging'));

OBJECT_NAME
--------------------------------------------------------------------------------
CREATED
---------------------------------------------------------------------------
multilingual_e5_base.onnx
25-04-20 07:57:43.147747 +00:00
```

## ONNXファイルの ADB へのロード（データベース側作業：VECTORユーザー）
```sql
BEGIN
  DBMS_VECTOR.LOAD_ONNX_MODEL(
    'staging',
    'multilingual_e5_base.onnx',
    'MULTILINGUAL_E5_BASE_MODEL',
    json('{"function":"embedding","embeddingOutput":"embedding","input":{"input":["DATA"]}}')
  );
END;
/
```
### ADB 内にロードされているモデルの確認（データベース側作業：VECTORユーザー）
```sql
SELECT MODEL_NAME, MINING_FUNCTION,
    ALGORITHM, ALGORITHM_TYPE, round(MODEL_SIZE/1024/1024) MB FROM user_mining_models;
```
```bash:出力例
SQL> SELECT MODEL_NAME, MINING_FUNCTION,
    ALGORITHM, ALGORITHM_TYPE, round(MODEL_SIZE/1024/1024) MB FR  2  OM user_mining_models;

MODEL_NAME
--------------------------------------------------------------------------------
MINING_FUNCTION                ALGORITHM                      ALGORITHM_
------------------------------ ------------------------------ ----------
        MB
----------
MULTILINGUAL_E5_BASE_MODEL
EMBEDDING                      ONNX                           NATIVE
       270
```

## 埋め込みベクトルの生成テスト
```sql
SPOOL output.txt
SET LINESIZE 32767
SET LONG 32767
COLUMN embedding FORMAT A32767
SET PAGESIZE 50000
SET UNDERLINE OFF
SET HEADING OFF
SET FEEDBACK OFF
-- クエリを実行
SELECT TO_VECTOR(VECTOR_EMBEDDING(MULTILINGUAL_E5_BASE_MODEL USING 'こんにちは世界！' as data)) AS embedding;
SPOOL OFF
```

```bash:出力例
SQL> SPOOL output.txt
SET LINESIZE 32767
SET LONG 32767
COLUMN embedding FORMAT A32767
SET PAGESIZE 50000
SET UNDERLINE OFF
SET HEADING OFF
SET FEEDBACK OFF
-- クエリを実行
SELECT TO_VECTOR(VECTOR_EMBEDDING(MULTILINGUAL_E5_BASE_MODEL USING 'こんにちは世界！' as data)) AS embedding;
[1.61078312E-002,1.64970905E-002,-1.52116064E-002,3.12059019E-002,1.27293132E-002,2.78080218E-002,-2.76972316E-002,-2.96871029E-002,4.87720035E-003,4.57195081E-002,-2.71062851E-002,-1.51006002E-002,1.95689067E-001,2.76269373E-002,-1.73957106E-002,-2.54961383E-002,1.24864401E-002,-2.20484585E-002,1.86640248E-002,4.47502686E-003,6.57584965E-002,-3.11619136E-002,3.66929062E-002,-5.05451486E-002,6.88181594E-002,-5.12030069E-003,-7.02654151E-003,-1.92239229E-002,-4.56146523E-003,3.52148786E-002,1.97195467E-002,-3.58033478E-002,1.63925404E-003,1.91261265E-002,1.45132476E-002,4.6054896E-002,-1.47501417E-002,-5.38177378E-002,4.53746878E-002,-1.26178551E-003,1.86811648E-002,3.83690186E-002,4.74473182E-003,-1.90098081E-002,2.39343643E-002,1.24759728E-003,4.29769643E-002,-3.49836424E-003,-4.09491435E-002,-3.92249525E-002,2.77421046E-002,2.05567125E-002,4.12659235E-002,-2.04073042E-002,-6.78966343E-002,-3.62060443E-002,4.21795286E-002,6.6780813E-002,-4.47184592E-002,2.66378261E-002,-9.78561677E-003,1.46203977E-003,5.92337828E-003,7.00168218E-003,4.46014442E-002,-3.09537761E-002,-3.62109696E-003,5.15443506E-003,-3.66017595E-002,-2.59022638E-002,1.72418747E-002,1.496654E-002,2.709442E-002,-1.28301159E-002,-3.82364988E-002,-1.47263519E-002,-3.13109234E-002,4.04354744E-002,-4.63843793E-002,-1.9287467E-002,3.31536494E-002,-7.8136269E-003,4.36523668E-002,3.2308314E-002,-2.9083956E-003,-4.16456312E-002,-4.64961939E-002,2.62018051E-002,4.48228568E-002,4.1573599E-002,2.66798865E-002,-5.46976272E-003,-1.7346533E-002,3.95693406E-002,-2.15953607E-002,9.16429237E-003,3.05236746E-002,7.67766265E-003,1.81180742E-002,-1.5206757E-002,-2.41787382E-003,-4.378682E-002,1.36852283E-002,-1.58103034E-002,-4.28279191E-002,-1.02325203E-002,1.30662182E-002,-6.70298422E-003,2.30707638E-002,-2.96160374E-002,-5.05384244E-002,3.11069097E-002,7.94466026E-003,-5.50093241E-002,3.9179544E-003,-4.7183536E-002,1.17301429E-003,-7.40536302E-003,1.23974029E-002,-4.3706838E-002,-6.44847844E-003,1.87148694E-002,-1.78429168E-002,-1.71443038E-002,2.88388971E-002,-2.45115645E-002,-9.35798511E-003,-6.49598776E-004,5.55784926E-002,-2.83054449E-002,3.03178411E-002,-5.06786369E-002,2.20271219E-002,1.063063E-002,-3.51427048E-002,3.30200829E-002,3.08989547E-002,2.74995621E-002,2.28902772E-002,1.89198349E-002,1.22687276E-002,-4.2883005E-002,2.32590716E-002,6.86981529E-002,2.88407858E-002,-3.66321318E-002,2.81803459E-002,-4.18915553E-003,-2.99467593E-002,7.59691149E-002,5.18127792E-002,-6.19853064E-002,-4.47348543E-002,-3.60729583E-002,2.50114873E-002,8.55617342E-004,-6.54149428E-002,-1.71720125E-002,1.00489892E-003,3.56767848E-002,1.95137765E-002,3.25254612E-002,3.49673815E-002,-1.18169773E-005,2.85667423E-002,-6.17143512E-003,-1.76931974E-002,-1.61970721E-003,-8.60962668E-004,-4.79691885E-002,5.08336769E-003,7.63044693E-003,-5.63259535E-002,2.31155325E-002,-3.76704871E-003,-1.41160777E-002,-6.27489202E-003,-4.4414416E-002,-3.4357693E-002,-6.7940183E-002,-4.4917468E-002,-4.28470634E-002,-3.34225874E-003,3.94009165E-002,-1.29769389E-002,-1.69881079E-002,-5.19615877E-003,-2.47930344E-002,-4.18457901E-003,-1.81766495E-003,1.34371184E-002,6.20332435E-002,-1.00177592E-002,2.46888082E-002,-3.14022508E-003,3.51308063E-002,3.32508497E-002,2.31534895E-002,-2.31406582E-003,-3.47355455E-002,2.41924357E-002,-1.33519573E-002,3.72817591E-002,3.80190611E-002,-2.05491539E-002,-7.60185421E-002,1.34042045E-002,6.18852153E-002,2.79023722E-002,2.33131107E-002,-1.4846432E-002,4.55833115E-002,-1.7049931E-002,1.38858706E-002,-4.36093882E-002,-1.84997171E-002,4.24918868E-002,2.65388284E-002,-1.86801776E-002,5.39897531E-002,6.81688413E-002,-4.68493402E-002,3.89615633E-002,1.74481573E-003,-2.13529076E-002,2.34220102E-002,5.81415035E-002,-1.46274613E-002,9.11859237E-003,1.05134202E-002,2.5408281E-002,2.13497095E-002,-4.00867648E-002,7.12028518E-002,-2.95793545E-002,3.56968632E-003,2.59954445E-002,-2.59073265E-002,-3.05514988E-002,-1.0085848E-001,-1.60547718E-002,2.47844658E-003,3.06795072E-002,-1.71248168E-002,1.70858819E-002,-4.25719023E-002,-1.10660754E-002,5.21761402E-002,-6.28570542E-002,4.07697028E-003,1.99558083E-002,-1.63825694E-002,7.56022986E-003,-8.14272277E-003,-1.0614356E-002,1.53917763E-002,-6.66302815E-002,1.7709421E-002,-3.79247107E-002,1.73111651E-002,-2.16522589E-002,-3.18360217E-002,-2.52817571E-002,-2.87044626E-002,-2.93753482E-003,3.1059511E-002,4.76736538E-002,-2.81281285E-002,4.15603444E-003,-2.21278854E-002,-5.10002263E-002,-1.50288176E-002,-8.03342015E-002,3.86902876E-002,2.17636432E-002,-1.55775659E-002,-7.75843561E-002,4.60093357E-002,-3.84418778E-002,-1.33363185E-002,-2.77548172E-002,7.69196004E-002,-4.37900759E-002,-2.72584092E-002,-3.99681851E-002,3.44022065E-002,-5.38531877E-002,-2.51267455E-003,-9.38314274E-002,2.87727155E-002,8.23810473E-002,3.85457799E-002,-3.37147117E-002,1.87304839E-002,2.58032419E-002,3.48076336E-002,5.85475042E-002,-2.84830555E-002,5.72507605E-002,1.20000634E-002,-3.00370753E-002,-4.13002484E-002,4.10501547E-002,-4.89095002E-002,-9.43730772E-003,-1.68076402E-003,1.21609159E-001,1.14137754E-002,-4.65019122E-002,6.15205541E-002,-1.98740456E-002,-2.44362149E-002,-5.27712293E-002,4.09816951E-002,3.68756838E-002,-1.52825573E-002,4.10109013E-003,9.65781659E-002,-4.59717773E-003,6.04296923E-002,-2.63932738E-002,3.70304398E-002,-5.75356185E-002,-5.91246597E-002,2.30049174E-002,7.78371515E-003,-1.36606104E-003,-2.54042796E-003,5.32332771E-002,-1.51854218E-003,-3.30388509E-002,1.70662196E-003,-2.82586017E-003,4.45031822E-002,-6.8578586E-002,-1.16537407E-003,-8.48246459E-003,-3.2738179E-002,4.61349338E-002,4.74175364E-002,-7.43208751E-002,2.41143815E-002,-1.29100429E-002,-7.65210902E-003,6.09623268E-002,-6.20566607E-002,-1.05674835E-002,8.85182817E-004,-2.59245206E-002,5.98466247E-002,3.32195237E-002,-4.84742634E-002,3.09267994E-002,8.98711011E-003,-2.08407883E-002,1.23656762E-003,5.46612479E-002,-5.45246433E-003,-2.25637984E-002,-2.20281538E-002,-3.01092565E-002,5.30311912E-002,5.47928321E-005,-1.35677475E-002,3.57736535E-002,5.94796836E-002,-1.40664643E-002,-3.98095604E-003,6.67635202E-002,-1.69656686E-002,1.00663856E-001,3.63667309E-002,-3.03164292E-002,-1.90627351E-002,3.30144167E-002,-1.49597665E-002,5.31657562E-002,-1.37152635E-002,-1.9302832E-002,5.48998751E-002,5.78274094E-002,1.58653837E-002,3.43988873E-002,2.23418232E-002,-1.78612228E-002,3.04613225E-002,2.93947067E-002,-6.26360774E-002,5.08837327E-002,-2.03170776E-002,-7.82417133E-003,-2.11600196E-002,4.27476689E-003,1.92143843E-002,3.7358582E-002,-2.79202554E-002,4.10417952E-002,-1.75105389E-002,-1.64285908E-003,-1.94970816E-002,-4.68300888E-003,3.61627806E-003,7.40713673E-003,4.95782867E-002,4.04269854E-003,-1.37617253E-002,-4.01930287E-002,3.13067324E-002,-8.57849885E-003,-3.09281312E-002,5.61422221E-002,-3.10746357E-002,4.53352891E-002,1.02908565E-002,-1.40760783E-002,-2.08588447E-002,-3.42003815E-002,6.69311732E-002,7.70691708E-002,2.43284386E-002,-3.44188511E-002,1.51758352E-002,1.92190576E-002,-4.71008569E-003,2.90568732E-002,-6.74070045E-002,-2.19338182E-002,-2.27067731E-002,8.77890177E-003,-4.62307222E-002,-1.82090104E-002,-3.30971717E-003,-4.06222278E-003,-2.28866581E-002,2.56898813E-002,-5.25794588E-002,2.89738812E-002,-2.00911127E-002,-2.68344283E-002,2.92478558E-002,-1.28780045E-002,-6.83178136E-004,6.31189439E-003,8.02985975E-004,-4.6514973E-002,-1.24775525E-002,-3.87246199E-002,8.51695146E-003,-9.04955622E-003,-2.5314223E-002,6.41965726E-003,5.58518618E-003,1.22425065E-003,-1.24743115E-002,4.13187556E-002,-9.53751877E-002,3.62413898E-002,-1.67487487E-002,5.72524406E-003,-1.00392811E-001,4.69716154E-002,3.68803255E-002,-3.51038179E-003,-3.36172841E-002,-2.70514097E-002,-2.19633039E-002,1.99551675E-002,-5.32795638E-002,2.07634009E-002,-2.96452008E-002,-3.89402695E-002,-2.99099032E-002,2.44912039E-002,-1.12871854E-002,4.31441888E-002,2.62733046E-002,1.3235542E-002,5.45014106E-002,7.00561702E-003,-4.16455641E-002,-3.80012323E-004,-1.01651382E-002,-4.26950231E-002,3.44711915E-002,1.76949557E-002,3.82304341E-002,-7.19884187E-002,8.52825865E-002,4.19695005E-002,-2.4245983E-002,-1.21567044E-002,4.5331534E-002,1.25116492E-002,-4.16253041E-003,4.9426672E-003,5.73093295E-002,-3.02892197E-002,-7.95101896E-002,2.93354485E-002,8.58038664E-003,-3.42125185E-002,-2.8832579E-002,-5.4976359E-002,-8.0027841E-003,-6.12296164E-002,3.784886E-002,-4.84036915E-002,-9.35045816E-003,2.3955211E-002,-4.85945344E-002,9.48540047E-002,-6.79899305E-002,-3.3048138E-002,-6.5366827E-002,4.97459434E-002,5.03127975E-003,-2.42675971E-002,1.42549453E-002,-8.54142848E-003,-1.53739844E-002,3.01606394E-003,-3.04693426E-003,-3.7631128E-002,-1.50745045E-002,-3.5235109E-005,-5.36817499E-002,2.46827565E-002,-3.99234779E-002,4.61719036E-002,-1.63191631E-002,2.58470736E-002,-4.5721218E-002,1.18191242E-002,-6.02681115E-002,-4.94088493E-002,-3.53750493E-003,-3.08326203E-002,-9.96565353E-003,1.7813636E-002,-2.79444512E-002,-1.09956646E-002,-3.53142396E-002,1.32992277E-002,-6.70439098E-003,2.55392306E-002,-4.11084928E-002,2.79194973E-002,-6.3068564E-003,1.22757191E-002,-8.09867308E-003,7.31203239E-003,2.82185781E-003,-1.03766443E-002,3.82836722E-002,-5.54639921E-002,-2.80939601E-002,-8.20180774E-003,3.91087271E-002,-1.0188248E-002,-6.80770259E-003,-2.08841655E-002,-3.09369955E-002,2.54089222E-003,3.00603434E-002,-9.94524918E-003,2.39775609E-002,7.19036348E-003,-2.56729927E-002,-4.37197201E-002,5.86729757E-002,-8.36088061E-002,2.06736345E-002,4.29647751E-002,-3.98349836E-002,4.4572603E-002,4.05847616E-002,-2.88997032E-002,-2.74540968E-002,4.03081775E-002,-4.44133766E-002,-2.51532048E-002,7.39828451E-003,-2.20643505E-002,3.62671949E-002,-1.53831691E-002,2.68670358E-002,5.4049924E-002,-2.9242022E-002,-1.654948E-001,2.43026931E-002,-1.15030594E-002,-2.55810916E-002,2.51826774E-002,7.08476268E-003,-3.94577766E-003,5.65627869E-003,9.652704E-003,-1.48775359E-003,3.08857653E-002,-5.80739826E-002,2.70178597E-002,-3.05469707E-002,-2.41041072E-002,2.28548255E-002,-2.0595191E-002,-7.96096995E-002,7.18717836E-003,2.10383367E-002,2.60302071E-002,7.67741576E-002,-2.04075091E-002,-4.10492485E-003,-3.97578292E-002,-6.42933771E-002,-3.87007445E-002,2.21194159E-002,4.24055159E-002,2.91293375E-002,-1.23651857E-002,2.26036571E-002,4.33619581E-002,3.59553099E-002,-7.22370856E-003,-7.34921917E-003,-5.12311831E-002,1.35758687E-002,-3.38754766E-002,8.08855332E-003,-5.32836886E-003,-8.86781737E-002,5.30698663E-003,2.25378014E-002,-2.88180411E-002,6.39628172E-002,1.90149918E-002,-9.31231026E-003,-4.78977896E-002,8.52973957E-004,7.52738416E-002,2.10149586E-002,-8.62410739E-002,3.92673817E-003,-4.50600237E-002,3.40886265E-002,6.13832846E-003,1.0006451E-002,3.76022868E-002,-4.31992412E-002,1.08091542E-002,2.42620613E-002,7.79776648E-003,3.90309207E-002,-1.52083421E-002,-1.33173885E-002,1.32603347E-002,-4.15828899E-002,-1.39083341E-002,2.75793057E-002,4.01428677E-002,-3.58587615E-002,-6.07425645E-002,3.79755236E-002,5.7686545E-002,-1.73859075E-002,2.67954599E-002,-1.13086887E-002,-9.03272629E-002,3.34876254E-002,-3.1481415E-002,-4.18980308E-002,1.0626507E-003,2.72391755E-002,-2.37299893E-002,-2.77756695E-002,-1.873588E-002,1.09611247E-002,2.90895961E-002,6.18920363E-002,-2.26892233E-002,-3.98765039E-003,2.20342316E-002,1.24170203E-002,4.78654951E-002,-1.17348721E-002,-5.0900083E-002,3.76845002E-002,7.64716882E-003,-3.10884546E-002,-1.7364189E-002,-1.98839102E-002,-8.24251957E-003,4.44880314E-002,2.88805328E-002,-1.92688219E-002,-6.2956199E-002,3.07802148E-002,-2.49927063E-002,-3.98942307E-002,1.91039685E-002,1.19981421E-002,3.4070652E-002,6.44511264E-003,-2.67250538E-002,-1.2339131E-002,1.72021613E-002,-1.25954105E-002,-4.67135198E-002,-2.84611154E-002,-3.36491875E-002,-4.06077653E-002,3.97662856E-002,6.550889E-003,6.11324348E-002,1.37594799E-002,-1.37010114E-002,4.17348146E-002,2.92065758E-002,4.17439789E-002,-2.75515057E-002,-4.83250692E-002,3.1461589E-002,-4.24699374E-002,-1.5055079E-002,2.32847333E-002,4.27716449E-002,-4.30272967E-002,2.64204554E-002,2.53505092E-002,7.57500827E-002,-2.99287792E-002,-1.52670657E-002,9.22409445E-003,-2.54004952E-002,1.43041639E-002,5.88187873E-002,-4.0086247E-002,3.14936116E-002,-6.83951657E-003,-3.28831896E-002,-7.47079924E-002,-1.12372208E-002,-1.87028777E-002,-3.45379263E-002,1.46405064E-002,2.99949013E-002,-2.49107042E-003,4.4300477E-003,4.49478738E-002,-2.21654177E-002,-1.01742009E-002,4.22583558E-002,2.31763627E-002,4.16521393E-002,-1.17377909E-004,-2.58827256E-003,1.22386431E-002,3.59053314E-002,4.01054509E-002,-1.77043416E-002,6.49558846E-003,3.73204984E-002,1.52669754E-002,4.25220802E-002,-2.43590362E-002,-1.42044155E-002,-4.53628711E-002,-1.93099491E-002,2.13664994E-002]
SPOOL OFF
```
埋め込みベクトルを生成できていることが確認できました。