このチュートリアルでは、APIキーやクレジットを必要とせずに、検索拡張生成 (RAG)(RAG)をローカルに実装する方法を説明します。RG の詳細については、MongoDBを使用した 検索拡張生成(RAG) を参照してください。
具体的には、次のアクションを実行します。
Atlas のローカル配置の作成。
環境を設定します。
ローカル埋め込みモデルを使用してベクトル埋め込みを生成します。
データにMongoDB ベクトル検索インデックスを作成します。
ローカル LLM を使用して、データに関する質問に答えます。
このチュートリアルでは、Atlas CLI を使用してローカル Atlas 配置を作成します。Atlas CLI はMongoDB Atlasのコマンドラインインターフェイスであり、Atlas CLI を使用してターミナルから Atlas と交流し、ローカル Atlas 配置の作成を含むさまざまなタスクを実行できます。詳しくは、Atlas CLI を使用してローカル配置とクラウド配置を管理するを参照してください。
また、検索するとベクトル検索がインストールされているMongoDB Community またはエンタープライズ クラスターを使用することもできます。
注意
Atlas のローカル配置はテスト専用です。 本番環境には、 クラスターをデプロイします。
前提条件
このチュートリアルには、一般的な前提条件に加えて次の要素が必要です。
ローカル配置の作成
このセクションでは、ベクトルデータベースとして使用するために、サンプルAirBnB リスト データセットを含むローカル Atlas 配置を作成します。
注意
sample_airbnb.listingsAndReviewsサンプルデータがロードされた、検索するとベクトル検索を含む既存のローカル配置またはMongoDB Community または Enterprise クラスターがすでに存在する場合は、この手順をスキップできます。
Atlas CLI を使用してローカル配置を作成します。
atlas deployments setupを実行し、プロンプトに従ってローカル配置を作成します。
詳細な手順については、「ローカル Atlas 配置の作成 」を参照してください。
サンプル データを配置にロードします。
サンプル データをダウンロードするには、ターミナルで次のコマンドを実行します。
curl https://atlas-education.s3.amazonaws.com/sampledata.archive -o sampledata.archive 次のコマンドを実行してデータを配置に読み込み、
<port-number>を配置をホストしているポートに置き換えます。mongorestore --archive=sampledata.archive --port=<port-number> 注意
mongorestoreコマンドにアクセスするには、MongoDB コマンドライン Database Tools をインストールする必要があります。
環境を設定する
ローカルモデルによる埋め込みの生成
このセクションでは、埋め込みモデルをローカルに読み込み、sample_airbnbデータベースのデータを使用してベクトル埋め込みを生成します。このデータベースには、listingsAndReviews というコレクションが含まれています。
このコードの実行には数分かかる場合があります。 完了後に、配置の接続文字列を使用してmongosh またはアプリケーションからローカル配置に接続することで、ベクトル埋め込みを表示できます。その後、sample_airbnb.listingsAndReviews コレクションに対して読み取り操作を実行できます。
Tip
Atlas でベクトルを効率的に保存、取り込みするために、サンプルデータの埋め込みを BSON ベクトルに変換することもできます。詳細については、「ネイティブ埋め込みを BSON ベクトルに変換する方法」を参照してください。
MongoDB ベクトル検索インデックスの作成
sample_airbnb.listingsAndReviewsコレクションでベクトル検索を有効にするには、 MongoDB ベクトル検索インデックスを作成します。