Voyagerを使用したAirbnbデータセットのベクトル検索サンプルアプリケーションです。OpenAIのテキスト埋め込みを使用して、自然言語でAirbnb物件を検索できます。
- Voyagerを使用した高速なベクトル検索
- OpenAI text-embedding-3-smallモデルによる自然言語クエリの埋め込み
- MongoDB/airbnb_embeddings データセットを使用
- 価格範囲とWiFiの有無でフィルタリング可能
- Docker
- OpenAI API キー
- Make(オプション)
- 環境変数の設定:
export OPENAI_API_KEY=your_api_key_here- アプリケーションのビルド:
make build- インデックスの作成:
make create-index- 検索の実行:
make search- MongoDBのAirbnbデータセットをダウンロード
- 各物件の事前計算された埋め込みベクトル(1536次元)を取得
- Voyagerインデックスを構築し、メタデータと共に保存
- ユーザーの検索クエリをOpenAIのAPIで埋め込みベクトルに変換
- Voyagerを使用して類似度の高い物件を検索
- 指定された価格範囲とWiFi条件でフィルタリング
- 結果を類似度スコアと共に表示
app/indexer.py: インデックス作成ロジックapp/searcher.py: 検索ロジックapp/utils.py: OpenAI APIラッパーapp/models.py: データモデルapp/cli.py: CLIインターフェース
このプロジェクトは MITライセンス の下で公開されています。