テキスト埋め込みプロバイダーの設定
7.4 U70+ ベータ版機能
テキスト埋め込みプロバイダーには、2つの仕事があります:
- インデックス時に、指定されたモデルを使用して、インデックスドキュメントのフィールドから抽出されたテキストサンプルのテキスト埋め込み表現を作成する。
- 検索時には、指定されたモデルを使用して、検索バーに入力された検索フレーズのテキスト埋め込み表現を作成します。
ベクトル化されたデータは、選択したモデルによってのみ良いものになるのです。
また、選択したモデルは、検索フレーズのテキスト埋め込みと文書のテキスト埋め込みの 類似度検索 を行います。埋め込みプロバイダとしてtxtaiを使用している場合でも、モデルは Hugging Face に収容されます。
テキスト埋め込みプロバイダー | 本番環境に推奨? |
---|---|
タクスタイ | ✔ |
ハグ顔推論エンドポイント | ✔ |
Hugging Face Inference API | ✘ |
txtaiの設定と実行
ここでのtxtaiの構成は、デモンストレーションを目的としています。 詳しくは、 txtaiドキュメント をお読みください。
txtaiのAPIにアクセスできるように設定する。 dockerコンテナでtxtaiを実行するには、 txtai documentation を参照するか、Linuxの場合は以下の基本ステップに従ってください:
-
txtai
フォルダを作成し、その中にcd
を作成します。 -
txtai
フォルダから、Dockerfile をダウンロードします。curl https://raw.githubusercontent.com/neuml/txtai/master/docker/api/Dockerfile -O
-
txtai
フォルダ内にconfig.yml
ファイルを作成し、以下の最小限の内容を付与します:path: /tmp/index writable: False embeddings: path: sentence-transformers/msmarco-distilbert-base-dot-prod-v3
important選んだモデル がembeddingsのパスに入力されます。
-
txtaiフォルダーから、以下を実行します。
docker build -t txtai-api .
-
コンテナを起動します:
docker run -p 8000:8000 --rm -it txtai-api
モデルのサイズによっては、サービスの初期化に数分かかる場合があります。
-
Liferay で Global Menu() → Control Panel → Search Experiences → Semantic Search を開いてください。
- Text Embeddings Enabled を true に設定します。
- テキスト埋め込みプロバイダとして、 txtai を選択します。
- 上記のテスト設定に従った場合、txtai Host Address、Basic Auth Username、Basic Auth Passwordはデフォルト値のままにしてください。
- Embedding Vector Dimensionsはデフォルト値(768)のままにしておきます。
importantEmbedding Vector Dimensionsは、設定されたモデルのものと一致する必要があります。 txtaiでは、
config.yml
ファイルを用いてモデルを指定します。 適切な寸法数を設定するために、モデルのマニュアルを参照してください。
設定を保存する前に、 Test Configuration をクリックして、Liferayがtxtaiサーバーと接続できること、設定が正しいことを確認します。
この設定例は、デモンストレーションを目的としたものです。 txtaiのドキュメント を参照して、お客様のニーズに合ったセットアップをお探しください(例:GPU コンテナ を実行してパフォーマンスを向上させる場合など)。
ハグ顔推論APIの利用
抱き顔推理API は、テストや開発に適しています。 制作時のテキスト埋め込みプロバイダーとしてハギング・フェイスを使用するには、 ハギング・フェイス推論エンドポイントプロバイダー を使用します。
Hugging Face Inference APIを使用するには、まず、 Hugging Faceのアカウント を作成します。
アカウントを取得したら
-
Hugging Faceのアカウント設定に移動し、アクセストークンをコピーします。
-
Liferay で Global Menu() → Control Panel → Search Experiences → Semantic Search を開いてください。
テキスト埋め込みプロバイダーとして「Hugging Face Inference API」を選択し、コピーしたアクセストークンを入力してください。
-
https://huggingface.co/models?pipeline_tag=feature-extractionのリストから1つのモデルを選択してください。
-
モデルのタイトルとして、モデル名を入力します。
-
選択したモデルに合わせて、適切な数のEmbedding Vector Dimensionsを入力してください。
importantEmbedding Vector Dimensionsは、設定されたモデルのものと一致する必要があります。 txtaiでは、
config.yml
ファイルを用いてモデルを指定します。 適切な寸法数を設定するために、モデルのマニュアルを参照してください。 -
その他のHugging Faceの設定はお好みで行ってください:
モデルのタイムアウト タイムアウトするまでのモデルの読み込みを待つ時間(秒)を設定します。 Hugging Faceのモデルをメモリに固定することで、時間のかかるモデルの読み込みを繰り返さないようにすることができます。
設定を保存する前に、 Test Configuration ボタンをクリックし、Liferay が Hugging Face Inference API と接続できること、設定が正しいことを確認します。
ハグ顔推論エンドポイントの使用について
Hugging Face Inference Endpoints サービスは、Hugging Faceのエンタープライズグレードの有料テキスト埋め込みサービスです。 セマンティック検索ソリューションのテストや開発時には、 Inference API を使用することができます。
セットアップの大半は「Hugging Face」で完結します。 Inference APIを設定した後、
-
Hugging Faceのアカウント設定に移動し、アクセストークンをコピーします。
-
Liferay で Global Menu() → Control Panel → Search Experiences → Semantic Search を開いてください。
テキスト埋め込みプロバイダーとして「Hugging Face Inference Endpoints」を選択し、コピーしたアクセストークンを入力してください。
-
ホストアドレスを入力します。
-
選択したモデルに合わせて、適切な数のEmbedding Vector Dimensionsを入力してください。
importantEmbedding Vector Dimensionsは、設定されたモデルのものと一致する必要があります。 txtaiでは、
config.yml
ファイルを用いてモデルを指定します。 適切な寸法数を設定するために、モデルのマニュアルを参照してください。
設定を保存する前に、 Test Configuration ボタンをクリックし、Liferay が Hugging Face Inference Endpoint と接続できること、設定が正しいことを確認します。