PostgreSQL with pgvector を Docker で利用したい
OpenAI の API をただ使うだけでは面白みもないので、たとえば Obsidian の PKM を RAG にして使えるようにしたらちょっと面白いんじゃないかと、ベクトルデータベースを使えるようにしてみました。
わが家にはちんまいけれどもサーバがありますので、pgvector を Enable にした postgresql 動かせば、ベクトルデータベースがひとまず使えます。
PostgreSQL にベクトルを追加する拡張機能、pgvector はこちら。
PostgreSQL サーバ上で、次のコマンドが叩ければインストールできます。
cd /tmp
git clone --branch v0.5.1 https://github.com/pgvector/pgvector.git
cd pgvector
make
make install # may need sudo
が、docker で作ろうとした場合、メインのイメージに make install できるパッケージが入っていることも前提です。
こちらの内容を参考にして、Dockerfile を作成して docker compose.yml を書き直しました。
pgvector/Dockerfile
FROM postgres:16.1
RUN apt-get update && \
apt-get install -y git make gcc postgresql-server-dev-16
RUN cd /tmp && \
git clone --branch v0.5.1 https://github.com/pgvector/pgvector.git && \
cd pgvector && \
make && \
make install && \
cd ../ && rm -rf pgvector
docker-compose.yml (postgresql部分のみ)
services:
:
db:
image: postgres:latest
build:
context: ./pgvector
ports:
- "5432:5432"
volumes:
- /home/postgres/data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=passw0rd
restart: always
:
Latest の postgresql 16.1 を利用するパターンでもうまく動いているようです。次はこのデータベースにデータの突っ込み方を考えないとなー。
いいなと思ったら応援しよう!
貴方がサポートしてくれると、私が幸せ。
私が幸せになると、貴方も幸せ。
新しいガジェット・ソフトウェアのレビューに、貴方の力が必要です。