Vespa.aiは、効率的な検索、推薦、パーソナライズされたサービスを提供するために、大規模データの処理に焦点を当てたオープンソースのAI検索および推薦プラットフォームです。ベクトル検索、テキスト検索、構造化データ処理をサポートし、機械学習モデルと組み合わせることでリアルタイムの推論を実現する。Vespaは数十億ドル規模のデータを扱うことができ、高速なレスポンスタイムと100ミリ秒以下のレイテンシで、エンタープライズレベルのアプリケーションに適している。このプラットフォームは、クラウドサービスとローカル展開オプションを提供し、オープンソースコードはGitHubで管理されているため、開発者は自由に機能を拡張することができます。Vespaは、電子商取引、パーソナライズされたレコメンデーション、学術研究などで広く使用されており、Spotify、Yahoo、その他の企業によって、その高いパフォーマンスと柔軟性が認められています。
機能一覧
- ベクトル、テキスト、構造化データの混合クエリをサポートし、複雑な検索ニーズに対応。
- 検索結果のランキングを最適化するための機械学習モデル推論をリアルタイムで提供。
- 数億のデータスケールをサポートし、100ミリ秒未満のレイテンシーで毎秒数千のクエリを処理します。
- 個人データの検索コストを20分の1に削減するストリーミング検索モデルを提供。
- 開発者がJavaコンポーネントをカスタマイズして機能を拡張するのをサポートするオープンソースコード。
- 導入と管理を簡素化するVespaクラウドサービスを提供。
- マルチベクトル表現とハイブリッド検索をサポートし、検索の関連性を向上。
- 最近傍探索のパフォーマンスを最適化するHNSWインデックスを統合。
ヘルプの使用
インストールと展開
Vespaには、Vespaクラウドサービスを通じてデプロイする方法と、ローカルで実行する方法があります。クラウドサービスは素早く使い始めるのに適しており、ローカルでのデプロイは深いカスタマイズを必要とするユーザーに適している。
クラウドサービスの展開
- インタビュー
console.vespa-cloud.com
アカウント登録 - 新しいアプリケーションを作成し、地域と構成(ノード数など)を選択します。
- データモデルと構成ファイルをアップロードすると、プラットフォームは自動的にデプロイを完了する。
- Vespa APIを使用してクエリを送信し、検索または推薦の結果を取得します。
ローカル展開
- Java 17とMaven 3.8+がシステムにインストールされていることを確認してください。AlmaLinux 8を推奨します[](https://github.com/vespa-engine/vespa)
- GitHubリポジトリのクローン:
git clone https://github.com/vespa-engine/vespa
- プロジェクト・ディレクトリに移動し、Mavenビルドを実行する:
mvn install
- 開発環境を設定するには
https://docs.vespa.ai/en/getting-started.html
. - ベスパのインスタンスを起動する:
vespa deploy
- ノードを追加して冗長性を高め、高可用性を確保します。
主な機能
ベクトル検索とハイブリッドクエリ
Vespaはベクトル、テキスト、構造化データの混合クエリをサポートしており、eコマース検索のような複雑なシナリオに適しています。ユーザーはAPIを通してクエリーリクエストを送ることができます:
{
"yql": "select * from sources * where userQuery() or nearestNeighbor(vector_field, query_vector);",
"query_vector": [0.1, 0.2, ...],
"hits": 10
}
- 手続きVespaにデータをアップロードし、ベクトルフィールドとテキストフィールドを定義します。YQL (Vespa Query Language) を使ってクエリを書き、ベクトルの類似性とキーワード検索を組み合わせる。結果は機械学習モデルに基づいて自動的にソートされる。
- 注目の機能マルチベクトル表現がサポートされているため、文書に複数のベクトルを含めることができ、検索精度が向上します。例えば、学術検索では、論文タイトルと内容の両方のベクトルをマッチングさせることができる。
リアルタイム・レコメンデーション
Vespaのレコメンデーションシステムは、検索と機械学習評価を組み合わせ、パーソナライズされた結果を迅速に返します。設定ステップ
- ユーザーの行動とコンテンツの特徴を含むデータモデルを定義する。
- 機械学習モデル(TensorFlowやONNX形式など)をアップロードする。
- APIを使って推薦インターフェースを呼び出す:
{ "yql": "select * from sources * where user_id = '123';", "ranking": "personalization_model" }
- 手続きVespaは、ユーザーとコンテンツのデータをアップロードし、ランキング・モデルを設定する。Vespaは、リアルタイムでモデルに基づいてレコメンデーションを計算し、ニュースのレコメンデーションやeコマース商品のレコメンデーションに適している。
ストリーミング検索
ストリーミング検索は低コストで、個人データのシナリオに効率的です。操作方法
- ストリーミング・モードと書かれたデータ・ソースを設定する:
{ "schema": { "document": { "mode": "streaming" } } }
- 個人データをアップロードし、クエリーリクエストを送信します。vespaは関連するデータのサブセットのみを処理し、リソースの消費を抑えます。
- 注目の機能ストリーミング検索は、完全なインデックスを構築する必要がなく、個人的な電子メール検索のようなプライバシーに配慮したシナリオに適しています。
拡張機能
開発者はJavaコンポーネントでVespaの機能を拡張できる:
- カスタムサーチャーまたはカスタムランカーを作成する。
https://docs.vespa.ai/en/developing-applications.html
. - コンパイルしてVespaインスタンスにデプロイする:
vespa deploy --application my-custom-app
- 既存のAPIとの互換性を確保するために機能をテストする。
使用上の注意
- ベスパのバージョンを定期的にアップデートし、最新機能を利用する(例:2025年6月に新階級ランキングとチャンキングをサポート)
- APIドキュメントをチェックする
https://docs.vespa.ai
クエリの構文が正しいことを確認してください。 - クラウド・サービスの契約者は、超過によるサービスの中断を避けるため、クォータを監視する必要がある。
アプリケーションシナリオ
- Eコマース検索&レコメンデーション
Vespaはeコマース・プラットフォーム向けに、テキスト、画像、構造化データを組み合わせた検索をサポートしている。ユーザーは商品を検索し、同時にパーソナライズされたレコメンデーションを得ることができる。例えば、"スポーツシューズ "と入力すると、Vespaは一致する商品を返し、関連するスタイルを提案する。 - 学術研究
Vespaは学術データセット(例:COVID-19研究データセット)を処理し、ベクトル検索とキーワードクエリをサポートします。研究者は論文を素早く検索し、研究効率を向上させることができます。 - パーソナライズされたおすすめコンテンツ
メディア・プラットフォームは、Vespaを使ってニュースやビデオのレコメンデーションを提供している。このシステムは、ユーザー体験を向上させるために、ユーザーの行動に基づいてリアルタイムで推薦リストを生成する。 - プライバシーに配慮した検索
ストリーミング検索モードは、電子メールや文書検索などの個人データの取り扱いに適しており、効率的でありながらプライバシーを保護します。
品質保証
- ベスパは無料ですか?
Vespaはオープンソースのプラットフォームで、コードは無料で使用でき、GitHubでホストされています。https://vespa.ai
. - Vespaはどのようなデータタイプをサポートしていますか?
ベクトル、テキスト、構造化データ、テンソルをサポートし、複雑なクエリや推論に対応。 - 検索パフォーマンスを最適化するには?
HNSWインデックスを使用したベクトル検索の最適化、関連性を向上させるためのランキングモデルの調整、スループットを向上させるためのノードの追加。 - ベスパは小規模なプロジェクトに適していますか?
はい、Vespaは、新興企業や個人的なプロジェクトのために、単一ノード上で動作する小規模なデプロイメントをサポートしています。