2024年5月1日水曜日

【VMware Private AI Foundation with NVIDIA】PostgreSQL + pgvector




 以前の投稿で記載したPostgreSQL + pgvectorを試してみました。

postgresはOSSのリレーショナルDBですが、pvectorのエクステンションを有効化するだけでベクトルデータを扱うことができるようになり、生成AIで注目を浴びているRAGで重要なパーツとなるvectorDBとして利用することができるようになります。

Private AIの場合はData Services ManagerからPostgreSQLをプロビジョニングするようです。

ちなみにこの記事の内容はPrivate AIではなくOSSのpostgresでvectorエクステンションを有効化して利用してみました。おそらくPrivate AIでも大きな違いはないと思いますが、違ったらすみません。。。


まずはpostgresでpgvectorのエクステンションを有効化する必要がありますが、エクステンションの有効化はコマンド1つで有効化できます。

postgres=# create extention vector;


3次元のサンプルデータを入れてみました。



このデータに対して、ユーグリッド検索、内積検索、コサイン類似度を検索した結果が次のスクリーンショットです。


vectorDBとは?や検索の種類なども記載しようと思ったのですが、今回はとりあえずpgvectorで類似度検索するとどんな結果になるかだけ記載してみました。

気が向いたらVectorDBの仕組みや検索の種類などについても書いてみたいと思います。