このチュートリアルでは、APIキーやクレジットを必要とせずに、検索拡張生成 (RAG)(RAG)をローカルに実装する方法を説明します。RG の詳細については、RAG、「 MongoDBでの検索拡張生成(RAG) 」を参照してください。
具体的には、次のアクションを実行します。
Atlas のローカル配置の作成。
環境を設定します。
ローカル埋め込みモデルを使用してベクトル埋め込みを生成します。
データにMongoDB ベクトル検索インデックスを作成します。
ローカル LLM を使用して、データに関する質問に答えます。
このチュートリアルでは、atlas-local-lib-py ライブラリを通じてPythonとDockerを使用してローカル Atlas 配置を作成します。このライブラリは、 Dockerコンテナを自動的に処理し、接続文字列へのプログラムによるアクセスを提供することで配置管理を簡素化します。詳細については、 atlas-local-lib-pyリポジトリを参照してください。
また、検索するとベクトル検索がインストールされているMongoDB Community またはエンタープライズ クラスターを使用することもできます。
注意
Atlas のローカル配置はテスト専用です。本番環境には、 クラスターをデプロイします。
前提条件
このチュートリアルには、一般的な前提条件に加えて次の要素が必要です。
ローカル配置の作成
環境を設定する
ローカルモデルによる埋め込みの生成
このセクションでは、listingsAndReviews というコレクションを含む sample_ Airbnbデータベースのデータを使用して、埋め込みモデルをローカルにロードし、ベクトル埋め込みを生成します。
このコードの実行には数分かかる場合があります。完了後に、配置の接続文字列を使用して mongosh またはアプリケーションからローカル配置に接続することで、ベクトル埋め込みを表示できます。その後、sample_airbnb.listingsAndReviewsコレクションに対して読み取り操作を実行できます。
Tip
Atlas でベクトルを効率的に保存、取り込みするために、サンプルデータの埋め込みを BSON ベクトルに変換することもできます。詳細については、「ネイティブ埋め込みを BSON ベクトルに変換する方法」を参照してください。
MongoDB ベクトル検索インデックスの作成
sample_airbnb.listingsAndReviewsコレクションでベクトル検索を有効にするには、 MongoDB ベクトル検索インデックスを作成します。