This repository is optimized for Japanese.
Generative AI(生成系 AI)は、ビジネスの変革に革新的な可能性をもたらします。このリポジトリでは、Generative AI を活用したビジネスユースケースをデモンストレーションしています。
このリポジトリでは、デフォルトでバージニア北部 (us-east-1) リージョンの Anthropic Claude モデルを利用する設定になっています。Model access 画面 を開き、「Edit」 → 「Anthropic Claude にチェック」 → 「Save changes」 と操作していただいて、バージニア北部リージョンにて Amazon Bedrock (基盤モデル: Claude) を利用できる状態にしてください。東京リージョンのモデルを利用する場合など、設定を変える方法については モデル・リージョンの切り替え をご確認ください。
✅ ... 実装されている、🚧 ... まだ実装されていない
- ✅ Amazon Bedrock を LLM として利用
- ✅ Amazon Bedrock Fine-tuning 用のデータ収集
- 🚧 Amazon Bedrock Fine-tuning 用データのラベリング
- 🚧 Amazon Bedrock Fine-tuning の実行
ユースケースは随時追加予定です。ご要望があれば Issue に起票をお願いいたします。
チャット
LLM とチャット形式で対話することができます。LLM と直接対話するプラットフォームが存在するおかげで、細かいユースケースや新しいユースケースに迅速に対応することができます。また、プロンプトエンジニアリングの検証用環境としても有効です。
RAG チャット
RAG は LLM が苦手な最新の情報やドメイン知識を外部から伝えることで、本来なら回答できない内容にも答えられるようにする手法です。それと同時に、根拠に基づいた回答のみを許すため、LLM にありがちな「それっぽい間違った情報」を回答させないという効果もあります。例えば、社内ドキュメントを LLM に渡せば、社内の問い合わせ対応が自動化できます。このリポジトリでは Amazon Kendra から情報を取得しています。
要約
LLM は、大量の文章を要約するタスクを得意としています。ただ要約するだけでなく、文章をコンテキストとして与えた上で、必要な情報を対話形式で引き出すこともできます。例えば、契約書を読み込ませて「XXX の条件は?」「YYY の金額は?」といった情報を取得することが可能です。
校正
LLM は、文章の誤字脱字だけでなく文章を理解し改善点を指摘することが可能です。自分が書いたレポートを人に見せる前に LLM に自分では気づかなかった点を客観的に指摘してもらいクオリティを上げる効果が期待できます。
このサンプルでは、フロントエンドは React を用いて実装し、静的ファイルは Amazon CloudFront + Amazon S3 によって配信されています。バックエンドには Amazon API Gateway + AWS Lambda、認証には Amazon Congito を使用しています。また、LLM は Amazon Bedrock を使用します。RAG のデータソースには Amazon Kendra を利用しています。
AWS Cloud Development Kit(以降 CDK)を利用してデプロイします。最初に、npm パッケージをインストールしてください。なお、全てのコマンドはルートディレクトリで実行してください。
npm ci
CDK を利用したことがない場合、初回のみ Bootstrap 作業が必要です。すでに Bootstrap された環境では以下のコマンドは不要です。
npx -w packages/cdk cdk bootstrap
続いて、以下のコマンドで AWS リソースをデプロイします。デプロイが完了するまで、お待ちください(20 分程度かかる場合があります)。
npm run cdk:deploy
RAG のユースケースを試す場合は、RAG の有効化および Kendra の Data source を手動で Sync する必要があります。
まず、RAG を有効化して再デプロイします。
packages/cdk/cdk.json
を開き、context
の ragEnabled
を true
に変更します。
その後、以下のコマンドで再デプロイしてください。
npm run cdk:deploy
続いて、Kendra の Data source の Sync を以下の手順で行なってください。
- Amazon Kendra のコンソール画面 を開く
- generative-ai-use-cases-index をクリック
- Data sources をクリック
- WebCrawler をクリック
- Sync now をクリック
Sync run history の Status / Summary に Completed が表示されれば完了です。AWS の Amazon Bedrock 関連のページをクローリングし、自動でドキュメントが追加されます。
- デフォルトでは
us-east-1
のanthropic.claude-v2
を利用しています。異なる設定を利用したい場合は /docs/BEDROCK.md をご確認ください。 - Amazon Bedrock ではなく Amazon SageMaker にデプロイしたカスタムモデルを使うことも可能です。詳細は /docs/SAGEMAKER.md をご確認ください。
バグ修正や機能改善などの Pull Request は歓迎しております。コミットする前に、lint ツールを実行してください。
npm run lint
また、ローカル環境の構築手順については /docs/DEVELOPMENT.md をご確認ください。
動画でデプロイ手順とデモンストレーションをご覧いただけます。以下のサムネイルをクリックして再生してください。なおデプロイ手順につきましては、詳細な手順を後述しております。
デプロイ手順 | デモンストレーション |
---|---|
情報が古くなっている可能性があります。最新の手順については README.md をご確認ください。
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.