Upstash Vector を使用して何百万もの Wikipedia 記事のインデックスを作成
このリポジトリには、ブログ投稿で説明されているように、Upstash Vector を使用して何百万もの Wikipedia 記事のインデックスを作成するプロジェクトのコードとドキュメントが含まれています。
プロジェクト概要
Upstash Vector と RAG Chat SDK の機能を実証するために、Wikipedia データを使用してセマンティック検索エンジンと Upstash RAG Chat SDK を作成しました。プロジェクトには以下が含まれます:
- ウィキペディアの記事の準備と埋め込み
- Upstash Vector を使用したベクターのインデックス付け
- Wikipedia セマンティック検索エンジンの構築
- RAG チャットボットの実装
主な特長
- 11 か国語の Wikipedia 記事から 1 億 4,400 万を超えるベクトルにインデックスを作成
- 多言語サポートのために BGE-M3 組み込みモデルを使用
- 言語横断機能を備えたセマンティック検索の実装
- Upstash RAG Chat SDK を使用して RAG チャットボットを作成しました
使用されている技術
- Upstash Vector: ベクトル埋め込みの保存とクエリ用
- Upstash Redis: チャットセッションの保存用
- Upstash RAG Chat SDK: RAG Chat アプリケーションの構築用
- SentenceTransformers: 埋め込みを生成するため
- Meta-Llama-3-8B-Instruct: QStash LLM API を介した LLM プロバイダーとして
発達
プロジェクトをローカルで実行するには、次の手順に従います。
- Upstash コンソールに移動してデータベースを管理します。
- 埋め込みモデルをサポートする新しい Vector データベースを作成します。多言語対応のBGE-M3モデルもお選びいただけます。
- チャット セッションを保存するための新しい Redis データベースを作成します。
- Redis と Vector の両方の認証情報をコピーします。また、upstash でホストされている LLM モデルを使用するための QStash 資格情報もコピーします。
資格情報をプロジェクトのルートにある.env
ファイルに置きます。 .env
ファイルは次のようになります。
UPSTASH_VECTOR_REST_URL=
UPSTASH_VECTOR_REST_TOKEN=
UPSTASH_REDIS_REST_TOKEN=
UPSTASH_REDIS_REST_URL=
QSTASH_TOKEN=
- Vector インデックスを設定します。
このプロジェクトは名前空間を使用して、さまざまな言語で記事を保存します。したがって、正しい名前空間でベクターを更新/挿入する必要があります。英語の場合は、ベクトルをen
名前空間に更新/挿入します。
- 依存関係をインストールします。
- 開発サーバーを実行します。
貢献する
このプロジェクトを改善するための貢献を歓迎します。お気軽に問題やプルリクエストを送信してください。
謝辞
- データセットを提供するウィキペディア
- ベクター データベースと RAG Chat SDK の Upstash
- このプロジェクトで使用されるオープンソース ライブラリへのすべての貢献者
接触
プロジェクトまたは Upstash Vector に関するご質問やフィードバックがございましたら、(連絡先情報を追加) までご連絡ください。
ライブデモをチェックして、プロジェクトが実際に動作している様子を確認してください。