今まで、Weaviate が公式に用意してくれているマルチ言語用のベクトル化モデル
cr.weaviate.io/semitechnologies/transformers-inference:sentence-transformers-paraphrase-multilingual-mpnet-base-v2
を使用していましたが、(他に原因箇所があるかもしれませんが・・・)あまり精度が高く検索できなかったので、
時間がない人向け
今回ビルドしたカスタムモデルは、ghcr で公開していますので、そちらを利用してください。
docker-compose.yml
の以下 image を書き換え
t2v-transformers:
# image: cr.weaviate.io/semitechnologies/transformers-inference:sentence-transformers-paraphrase-multilingual-mpnet-base-v2
image: ghcr.io/microaijp/transformers-inference:bert-base-japanese-v3
docker compose
で再起動すれば完了です。
docker compose donw
docker compose up -d
ローカルモデルの作成
作業用ディレクトリ作成
mkdir -p ~/weaviate/bert-base-japanese
cd ~/weaviate/bert-base-japanese
nano Dockerfile
Dockerfile
FROM semitechnologies/transformers-inference:custom
RUN apt-get update && apt-get install -y mecab libmecab-dev mecab-ipadic-utf8 && \
pip install fugashi[unidic-lite] ipadic
RUN MODEL_NAME=tohoku-nlp/bert-base-japanese-v3 ./download.py
ビルド
docker build -f Dockerfile -t microaijp/transformers-inference:bert-base-japanese-v3 .
ビルド結果確認
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
microaijp/transformers-inference bert-base-japanese-v3 34e3429b020e About a minute ago 11.1GB
(必要に応じて)ghcr に push
リポジトリ名などは書き換えてご利用ください。
echo "ghp_XXXXXXXXXXXXXXXXX" | sudo docker login ghcr.io -u microaijp --password-stdin
sudo docker tag microaijp/transformers-inference:bert-base-japanese-v3 ghcr.io/microaijp/transformers-inference:bert-base-japanese-v3
sudo docker push ghcr.io/microaijp/transformers-inference:bert-base-japanese-v3
Weaviate の設定変更&再起動
設定変更
cd ~/weaviate
nano docker-compose.yml
t2v-transformers:
# image: cr.weaviate.io/semitechnologies/transformers-inference:sentence-transformers-paraphrase-multilingual-mpnet-base-v2
image: ghcr.io/microaijp/transformers-inference:bert-base-japanese-v3
再起動
docker compose down
docker compose up -d
起動確認
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bdc4946a15a6 sum-transformers:facebook-bart-large-cnn-1.0.0 "/bin/sh -c 'uvicorn…" 25 minutes ago Up 25 minutes weaviate-sum-transformers-1
215cb9028550 ghcr.io/microaijp/transformers-inference:bert-base-japanese-v3 "/bin/sh -c 'uvicorn…" 25 minutes ago Up 25 minutes weaviate-t2v-transformers-1
0eb68876afaa cr.weaviate.io/semitechnologies/reranker-transformers:cross-encoder-ms-marco-MiniLM-L-6-v2 "/bin/sh -c 'uvicorn…" 25 minutes ago Up 25 minutes weaviate-reranker-transformers-1
2e23557a2f76 cr.weaviate.io/semitechnologies/weaviate:1.26.1 "/bin/weaviate --hos…" 25 minutes ago Up 25 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:50051->50051/tcp, :::50051->50051/tcp weaviate-weaviate-1
きれいに起動してくれています🍻