vespa-engine/vespa

The AI search platform

Vespa – 大規模検索およびAIサービングプラットフォーム

何であるか – Vespaは、スケールで検索、レコメンデーション、パーソナライズ、その他のAI駆動型クエリを提供するオープンソースで高パフォーマンスなプラットフォームです。テキスト、構造化フィールド、ベクトル、テンソルを格納・照会でき、大規模で継続的に変化するデータセットでも100ミリ秒未満のレイテンシを維持しながら、データ上で機械学習モデルを実行できます。

主な機能

  • ハイブリッドデータ処理 – 同じサービス内でプレーンテキスト、JSONに似た構造化データ、高次元のベクトル/テンソルをインデックス化および取得できます。
  • リアルタイム推論 – クエリ時に実行されるJava(または他の)モデルコンポーネントをデプロイでき、ランキング、分類、または埋め込みベースの類似性を別途のモデルサービング層なしで実現できます。
  • 分散型でフェイルセーフなアーキテクチャ – データはノード間でシャーディングされ、クエリは並列化され、結果は集約されるため、あらゆるスケールで高可用性と低レイテンシを提供します。
  • 組み込みのランク付けと集計 – 宣言型クエリ言語により、関連性スコア、カスタムランク関数、集計(例:ファセット、ヒストグラム)を1回のリクエストで組み合わせられます。
  • クラウドネイティブおよびオンプレミス – 管理型クラウドサービス(無料トライアルあり)として、または提供されたDockerイメージとインストールガイドを使って自己ホストできます。
  • 拡張可能なJavaコンポーネント – Javaでカスタムランクまたは処理ロジックを記述し、クエリパイプラインに組み込むことができます。

一般的な利用事例

  • 大規模なウェブ検索またはサイト内検索
  • クエリごとに数百万アイテムをスコアリングする必要があるレコメンデーションエンジン
  • ユーザー信号とMLモデルを組み合わせたパーソナライズパイプライン
  • 埋め込み(例:意味検索、画像検索)向けのベクトル類似性検索
  • 結果を数十ミリ秒以内に返す必要があるリアルタイム分析

開始方法

  1. ホストされたサービスを試す – vespa.ai/free-trial でサインアップし、ドキュメントからサンプルアプリケーションをデプロイします。
  2. ローカルで実行する – ドキュメントの「Getting started」ガイドに従い、Dockerまたはネイティブインストールで単一ノードのVespaインスタンスを起動します。
  3. 独自のロジックを追加する – デベロッパー・ガイドを使ってJavaコンポーネントを作成し、Vespaアプリケーションとしてパッケージ化し、Vespa API経由でアップロードします。
  4. スケールアウトする – 冗長性やより高いスループットが必要な場合、multinode systemsガイドに従ってノードを追加します。

ビルドと貢献

  • リポジトリにはVespaの完全なソースコード(C++コア + Javaモジュール)が含まれています。ユーザーにとってビルドはオプションであり、事前にビルドされたバイナリはMavenおよびDocker経由で配布されています。
  • 貢献者向けには、AlmaLinux 8、Maven 3.8+、Java 17を用いたDockerベースの開発環境についてREADMEにリンクがあります。詳細なビルド手順(bootstrap.sh java, mvn install)およびテスト手順(BATSによるシェルスクリプトテスト)が提供されています。
  • 貢献ガイドライン、コードマップ、TODOリストが、大きなコードベースを理解しやすいように newcomers を支援します。

ドキュメントとコミュニティ

ライセンス – Apache 2.0(LICENSE を参照)。


上記のすべての情報はリポジトリのREADMEから直接取得したものであり、追加の機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト