以前の投稿で記載した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の仕組みや検索の種類などについても書いてみたいと思います。