LLMとRAGを備えたQA(検索拡張生成)
このプロジェクトは、大規模な言語モデル(LLMS)とAmazon Opensearch Serviceを使用した質問に答える質問です。 RAG(検索拡張生成)アプローチを使用したアプリケーションは、エンタープライズナレッジベースまたはコンテンツからのユーザーの要求に最も関連する情報を取得し、プロンプトとしてのユーザーの要求とともにコンテキストとしてバンドルし、Genai応答を取得するためにLLMに送信します。
LLMSには、入力プロンプトの最大ワードカウントに関する制限があります。したがって、企業の数千または数百万のドキュメント間で適切なパッセージを選択すると、LLMの精度に直接影響します。
このプロジェクトでは、Amazon OpenSearchサービスが知識ベースに使用されます。
全体的なアーキテクチャは次のようなものです。
全体的なワークフロー
- CDKスタックを展開します(詳細については、こちらを参照してください)。
- テキスト生成のセージメーカーエンドポイント。
- 埋め込みを生成するためのセージメーカーのエンドポイント。
- 埋め込みを保存するためのAmazon OpenSearchクラスター。
- OpenSearch Clusterのアクセス資格情報(ユーザー名とパスワード)は、AWS Secrets Manangerに保存されており
OpenSearchMasterUserSecret1-xxxxxxxxxxxxなどの名前として名前として保存されています。
- Sagemaker Studioを開いてから、新しいターミナルを開きます。
- 端末で次のコマンドを実行して、このプロジェクトのコードリポジトリをクローン化します。
git clone --depth=1 https://github.com/ksmin23/rag-with-amazon-opensearch-and-sagemaker.git
data_ingestion_to_opensearchノートブックをオープンして実行します。 (詳細については、こちらをご覧ください)- Riremlitアプリケーションを実行します。 (詳細については、こちらをご覧ください)
参照
- Amazon Sagemaker、Amazon Opensearch Service、Riremlit、およびLangchain(2023-05-25)でボットに応答する強力な質問を作成する
- Amazon Sagemaker JumpstartのAmazon Sagemaker Studio(2023-06-27)の独自の基礎モデルを使用する
- Amazon Sagemaker Studio(2023-04-11)で河川照明アプリを構築する
- Amazon Kendra、Langchain、および大規模な言語モデル(2023-05-03)を使用して、エンタープライズデータに高精度の生成AIアプリケーションを迅速に構築します
- (github)Amazon Kendra Retiverサンプル
- Amazon Sagemaker Jumpstart(2023-05-02)のファンデーションモデルを使用した検索拡張生成を使用した質問に答える質問
- Amazon OpenSearch ServiceのVectorデータベース機能が説明されています
- Langchain-言語モデルを搭載したアプリケーションを開発するためのフレームワーク。
- Streemlit-データアプリを構築および共有するためのより高速な方法
- Amazon Opensearch Service Workshop -Module7。TreaivalAugmented Generationで検索の関連性を改善する
- ラグ・ウィット・アマゾン・ケンドラ - 大規模な言語モデル(LLMS)とAmazon Kendraを使用したアプリケーションに答える質問
- Rag-with-postgresql-pgvector-大規模な言語モデル(LLMS)とAmazon Aurora PostgreSQLを使用したアプリケーションに答える質問