Open1

Elasticsearchベクトル検索構築

necoskijanennecoskijanen

参考ページ

https://www.elastic.co/jp/blog/elasticsearch-nlp-ja

メモ

  • pythonライブラリ追加
    uv add torch==1.13 transformers sentence_transformers fugashi ipadic unidic_lite eland
    
  • proxy経由ではeland_import_hub_modelを使ったesへの投入に失敗
  • huggingfaceのモデルをcloneで一旦ローカルに置く
    sudo apt-get install git-lfs
    git clone https://huggingface.co/tohoku-nlp/bert-base-japanese-v2
    
  • --hub-model-idはcloneしてできたディレクトリを指定
  • --max-model-input-lengthは参考ページのコマンド例にはないが指定せよとエラーが出たのでモデルの説明の「The models are trained with the same configuration as the original BERT; 512 tokens per instance」を参考に指定
  • https://huggingface.co/tohoku-nlp/bert-base-japanese-v2#training
    uv run eland_import_hub_model \
        --url "https://<url>:9200" \
        --es-api-key "<key>" \
        --hub-model-id bert-base-japanese-v2 \
        --task-type text_embedding \
        --max-model-input-length 512 \
        --start
    
  • 最初MLノードのメモリが少なすぎてエラー
  • デプロイ成功後は参考ページ通りで検索まで確認完了