テキスト埋め込みプロバイダーの設定
変更通知を受け取る(購読する)
テキスト埋め込みプロバイダーには2つの役割があります。
- インデックス作成時に、指定されたモデルを使用して、インデックス文書のフィールドから抽出されたテキストサンプルのテキスト埋め込み表現を作成します。
- 検索時には、指定されたモデルを使用して、検索バーに入力された検索語句のテキスト埋め込み表現を作成します。
使用するモデルは極めて重要です。ベクトル化されたデータの品質は、選択したモデルの品質に左右されます。
Liferay DXP 2026.Q1以降、テキスト埋め込みプロバイダーとしてOpenAIを採用したセマンティック検索が一般提供開始となります。 ベータ版機能フラグ「セマンティック検索追加プロバイダー(LPD-122920)」を有効にすることで、追加のプロバイダー(txtai、Hugging Face Inference Endpoints、Hugging Face Inference Provider)を選択できます。
選択したモデルは、検索フレーズのテキスト埋め込みと文書のテキスト埋め込みの類似性検索も行います。 モデルは、Hugging Face 埋め込みサービスと txtai 用に Hugging Face に格納されています。 OpenAI には、埋め込みプロバイダーとして OpenAI を使用している場合に選択できる事前学習済みモデルがあります。
| テキスト埋め込みプロバイダー | ステータス |
|---|---|
| OpenAI | 一般的に入手可能 |
| Hugging Face Inference API | ベータ |
| ハグ顔推論エンドポイント | ベータ |
| txtai | ベータ |
OpenAIを使用する
Liferay DXP 2026.Q1+(一般提供開始)
Liferay DXP 2024.Q4+/Portal GA129+ (ベータ版)
OpenAI をセマンティック検索用のテキスト埋め込みプロバイダーとして構成できます。 APIキーを取得すれば、その 埋め込みモデル をセマンティック検索で使用できます。
OpenAIの設定とAPIキーの取得後、
-
Liferay で、 グローバル メニュー (
) → コントロール パネル → インスタンス設定 を開きます。 検索 カテゴリで、 セマンティック検索をクリックします。 -
テキスト埋め込みプロバイダーとして OpenAI を選択します。
-
OpenAIに必要な項目が表示されます。 設定フォームに記入してください。
APIキー: OpenAIから取得してください。
次元: 結果として得られる出力の次元数。 選択されたモデルによって、この機能が必要かどうか、および許容される値が決まります。 これは、モデルの出力の次元を削減するための OpenAI へのリクエスト時の指示です。 このプロパティをサポートしていないモデルにこのプロパティを渡すと、次の警告が表示されます。 このモデルは寸法の指定をサポートしていません。 どの次元を設定する必要があるかについては、 OpenAI モデルを参照してください。
モデル: OpenAI からモデルを選択してください。
ユーザー: OpenAI が不正使用のリクエストを監視できるように、一意のユーザー識別子を入力してください。 詳細については、 OpenAI のドキュメント を参照してください。
選択したモデルに合わせて、適切な数の埋め込みベクトル寸法を入力します。
txtaiの設定と実行
ここでのtxtaiの設定は、あくまでもデモンストレーションを目的としています。 詳細については、 txtai のドキュメント をお読みください。
txtaiのAPIにアクセスできるように設定してください。 Dockerコンテナでtxtaiを実行するには、 txtaiのドキュメント を参照するか、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重要選択したモデル が埋め込みパスに入力されました。
-
txtaiフォルダから、
docker build -t txtai-api . -
コンテナを起動します。
docker run -p 8000:8000 --rm -it txtai-apiモデルのサイズによっては、サービスの初期化に数分かかる場合があります。
-
Liferay で、 グローバル メニュー (
) → コントロール パネル → インスタンス設定 を開きます。 検索 カテゴリで、 セマンティック検索をクリックします。- テキスト埋め込みを有効にする を true に設定します。
- テキスト埋め込みプロバイダーとして txtai を選択します。
- ホストアドレスとして
ip:portを入力してください。 テスト設定に従ってローカルの Liferay インスタンスを実行する場合は、localhost:8000を使用します。 - 上記のテスト設定に従った場合は、基本認証ユーザー名と基本認証パスワードのデフォルト値をそのままにしてください。
- 埋め込みベクトルの次元については、デフォルト値(768)のままにしてください。
重要埋め込みベクトルの次元は、設定済みのモデルの次元と一致している必要があります。 モデルは、
config.ymlファイルを使用して txtai で指定されます。 適切な次元数を設定するには、モデルのドキュメントを参照してください。
設定を保存する前に、 設定テスト をクリックして、Liferay が txtai サーバーに接続できること、および設定が正しいことを確認してください。
この設定例はデモンストレーションを目的としています。 ニーズに合った設定を見つけるには、 txtai のドキュメント を参照してください (たとえば、パフォーマンスを向上させるために GPU コンテナ を実行するなど)。
ハグ顔推論プロバイダーの使用
ハグ顔推論プロバイダー を使用して、サーバーレスのハグ顔推論 API を介してモデルを活用します。 ハグ顔推論プロバイダーは、以前はハグ顔推論APIと呼ばれていました。
ハグ顔推論プロバイダ は、テストおよび開発に適しています。 本番環境でテキスト埋め込みプロバイダーとしてHugging Faceを使用するには、 Hugging Face Inference Endpointsプロバイダーを使用します。
Hugging Face 推論プロバイダーを使用するには、まず Hugging Face アカウント を作成します。
アカウントを取得したら、
-
Hugging Faceアカウントの設定画面を開き、アクセストークンをコピーしてください。
-
Liferay で、 グローバル メニュー (
) → コントロール パネル → インスタンス設定 を開きます。 検索 カテゴリで、 セマンティック検索をクリックします。テキスト埋め込みプロバイダーとして ハグ顔推論プロバイダー を選択し、コピーしたアクセストークンを入力します。
-
https://huggingface.co/models?pipeline_tag=feature-extraction のリストからモデルを1つ選択してください。
-
モデル名をモデルのタイトルとして入力してください。
-
選択したモデルに合わせて、適切な数の埋め込みベクトル寸法を入力します。
重要埋め込みベクトルの次元は、設定済みのモデルの次元と一致している必要があります。
-
その他のハグフェイス設定は、必要に応じて構成してください。
モデルタイムアウト: タイムアウトする前にモデルがロードされるのを待つ時間(秒単位)を設定します。 モデルの読み込みに時間がかかる繰り返し処理を避けるため、ハグフェイスモデルをメモリに固定することができます。
設定を保存する前に、 テスト設定 ボタンをクリックして、Liferay が Hugging Face Inference Provider に接続できること、および設定が正しいことを確認してください。
ハグ顔推論エンドポイントの使用
Hugging Face 推論エンドポイント プロバイダーを使用して、Hugging Face の管理された自動スケーリングインフラストラクチャにデプロイされたモデルを活用します。 Hugging Face Inference Endpointsサービスは、Hugging Faceが提供するエンタープライズグレードの有料テキスト埋め込みサービスです。 セマンティック検索ソリューションをテストおよび開発する際には、 推論プロバイダを使用できます。
セットアップの大部分はHugging Faceで完了します。 推論プロバイダを設定した後、
-
Hugging Faceアカウントの設定画面を開き、アクセストークンをコピーしてください。
-
Liferay で、 グローバル メニュー (
) → コントロール パネル → インスタンス設定 を開きます。 検索 カテゴリで、 セマンティック検索をクリックします。テキスト埋め込みプロバイダーとして ハグ顔推論エンドポイント を選択し、コピーしたアクセストークンを入力します。
-
ホストアドレスを入力してください。
-
選択したモデルに合わせて、適切な数の埋め込みベクトル寸法を入力します。
重要埋め込みベクトルの次元は、設定済みのモデルの次元と一致している必要があります。
設定を保存する前に、 テスト設定 ボタンをクリックして、Liferay が Hugging Face Inference Endpoint に接続できること、および設定が正しいことを確認してください。
埋め込みベクトルの次元
埋め込みベクトルの次元は、モデル固有の設定です。 有効な次元については、埋め込みモデルのドキュメントを参照してください。 お使いの検索エンジンに対応した寸法のモデルを選択してください。
| 検索エンジン | 最大寸法 |
|---|---|
| Elasticsearch 8.10以前 | 2048 |
| Elasticsearch 8.11以降 | 4096 |
| OpenSearch 2.12以降 | 4096 |