Elastic Inference Service (EIS) を使った「ベクトル検索」および「生成AIによる回答(RAG)」(準備編)

BLOG

Elastic Inference Service (EIS) を使った「ベクトル検索」と「生成AIによる回答(RAG)」について、全2回にわたって解説します。

第1回となる今回は「準備編」として、環境構築からクラウド連携までを詳しく説明します。


Elastic Inference Service (EIS) とは?

Elastic Inference Service (EIS) は、Elastic Cloud 上で推論モデルをホスト・運用するためのマネージドサービスです。

従来、Self-Managed(オンプレミスや独自インスタンス)の Elasticsearch でベクトル検索やAI回答を行うには、自前で推論用ノードを構築・管理する必要がありました。EIS を活用することで、インフラ管理の手間を抑えつつ、強力なベクトル検索機能を Self-Managed 環境に組み込むことが可能になります。

本連載で実現できること

今回と次回の記事を通して、以下の機能を実装します。

  • Embedding: 外部モデルによるベクトル生成およびベクトル検索
  • Rerank: セマンティック・リランクによる検索精度の向上
  • Completion: LLM(OpenAI等)を利用した RAG(生成AI回答)の実現

システム構成イメージ

今回の構成は、Self-Managed 側のリソースを抑えつつ、計算負荷の高い推論処理を Elastic Cloud に委託するハイブリッドな構成です。

[Self-Managed Elasticsearch] <--- Elastic Cloud Connect ---> [Elastic Cloud (EIS)]

Self-Managed 側に重いモデルをデプロイする必要がないため、既存環境への導入ハードルが低いのが特徴です。

[!CAUTION]

課金に関する注意 モデルの使用量に応じて、Elastic Cloud の利用料が発生します。検証の際は、トークン消費量やモデルの起動時間に十分ご注意ください。

動作確認環境

記事の執筆にあたり、以下の環境で動作を確認しています。

  • Elastic Cloud: Enterprise License
  • Self-Managed Elasticsearch: v9.3.2 (Trial License)
  • OS/Tool: Windows版 Rancher Desktop v1.20.1
  • 利用モデル:
    • Jina-embeddings-v5-text-nano
    • Jina-reranker-v3
    • OpenAI-gpt-oss-120b-completion

サンプルコード

本記事で使用するスクリプトや設定ファイルは、以下の GitHub リポジトリで公開しています。

GitHub: SIOS-Technology-Inc/elastic-blogs/2026-03-eis

ベクトル検索のための準備作業

※作業には、ログイン可能な Elastic Cloud アカウントがあらかじめ必要です。

1. 環境変数の準備

リポジトリ内の .env.sample をコピーして .env を作成し、各項目を環境に合わせて編集します。

cp .env.sample .env

主な設定項目:

  • ELASTIC_PASSWORD: Elasticsearch の elastic ユーザ用パスワード
  • SAVEDOBJECTS_ENCRYPTIONKEY: 32文字以上のランダムな文字列(Kibana用)
  • ES01_MEM_LIMIT: es01 コンテナに割り当てるメモリサイズ
  • KIBANA_MEM_LIMIT: kibana コンテナに割り当てるメモリサイズ

2. コンテナの起動

Rancher Desktop 等の Docker ランタイムが起動していることを確認します。

docker-compose.yml ファイル、および、 Dockerfile-es01 ファイルがあるディレクトリ上で以下のコマンドを実行します。

docker-compose up -d --build

※初回起動時はプラグインのインストールが走るため、完了まで数分かかります。

※本構成は検証用のため、シングルノード構成となっています。

3. Elastic Cloud 連携 (Cloud Connect)

3.1. Self-Managed Kibana へのログイン

ブラウザで http://localhost:5601 にアクセスします。

  • User: elastic
  • Password: .env で設定した ELASTIC_PASSWORD

3.2. Cloud Connect 画面への移動

Home > Management > Cloud Connect を選択します。

3.3. Elastic Cloud へのログインと接続

画面の指示に従い、Elastic Cloud へログインします。

Elastic Cloud にログイン後、Cloud Connect API Key を発行・コピーします。

取得したキーを Self-Managed 側の Kibana 画面に貼り付け、[Connect] をクリックします。

ステータスが正常になれば、Self-Managed 環境と Elastic Cloud の連携は完了です!

次回予告

今回は、Cloud Connect を利用して Self-Managed Elasticsearch と Elastic Cloud を橋渡しする手順を解説しました。

次回(実践編)は、いよいよ EIS を通じてモデルを呼び出し、「ベクトル検索」と「生成AIによる回答(RAG)」を実際に動かしてみます。お楽しみに!