製造組織には、製品ライフサイクル全体に膨大な量の知識が分散されているため、視認性が限られている、知識のギャップが限られている可能性があり、継続的に改善できません。デジタルスレッドは、エンタープライズシステム全体の異なるデータソースを組み合わせて、トレーサビリティ、アクセシビリティ、コラボレーション、俊敏性を促進するための統合アプローチを提供します。
このサンプルプロジェクトでは、製品ライフサイクル全体とその相互接続された関係全体で生成されたデータに基づいて、知識グラフと生成AIテクノロジーの組み合わせを使用して、インテリジェントな製造デジタルスレッドを作成する方法を学びます。ユースケースを探索し、AWSのグラフと生成AIを使用してインテリジェントなデジタルスレッドジャーニーを開始するための実用的な手順を発見します。

この投稿で概説されている手順を実行するには、次のことが必要です。
リポジトリを環境にクローンします
git clone https://github.com/aws-solutions-library-samples/guidance-for-digital-thread-using-graph-and-generative-ai-on-aws.git
cd guidance-for-digital-thread-using-graph-and-generative-ai-on-aws
このアプリを展開するには、実行してください。
chmod +x deploy-script.sh
./deploy-script.sh
deploy-script.shは、アカウントに次のリソースを設定します。
- デモユーザーアカウントを備えたAmazonCognitoユーザープール
- Amazon Neptune ServerLessクラスター
- Amazon Neptune Workbench Sagemaker Notebook
- VPC
- サブネット/セキュリティグループ
- アプリケーションロードバランサー
- Amazon ECRリポジトリ
- AWS Fargateで実行されているECSクラスターとサービス
以下に示すように、AWS資格情報について尋ねられた場合。 Configure AWS資格情報をお読みください。
Which credentials would you like to use to create demo? [Use arrows to move, type to filter, ? for more help]
> Enter temporary credentials
[profile default]
AWS Copilotの展開後にURLにアクセスして、デジタルスレッドとチャットします。
✔ Deployed service genai-chatbot-app.
Recommended follow-up action:
- Your service is accessible at http://genai--Publi-xxxxxxx-111111111.xx-xxxx-x.elb.amazonaws.com over the internet.
新しく展開されたAmazon Neptuneクラスターにはデータが含まれていません。 Amazon Bedrock Gen AIとNeptune Knowledge Graphベースのデジタルスレッド間の相互作用を紹介するには、以下の手順に従って、SRC/Knowledge-Graph/Data/からサンプルデータをグラフデータベースにインポートしてください。
Bashスクリプトの下で実行して、S3バケットを作成し、SRC/Knowledge-Graph/Data/FilesをAmazon S3にアップロードします
ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text)
S3_BUCKET_NAME="mfg-digitalthread-data-${ACCOUNT_ID}"
aws s3 mb "s3://$S3_BUCKET_NAME"
aws s3 cp ./src/knowledge-graph/data/ s3://$S3_BUCKET_NAME/sample_data/ --recursive
Neptune Workbench Notebook Jupyter Notebookをご覧ください。
AWSコンソールから:
deploy-script.sh CloudFormationによって展開されたノートブックを選択しますCloudFormationスタックのURLから:
mfg-dt-neptuneを選択しますNeptuneSagemakerNotebookキーを見つけて、Neptune SagemakerノートブックのURLを見つけてください。 (https://aws-neptune-notebook-for-neptunedbcluster-xxxxxxx.notebook.xx-xxxx-x.sagemaker.aws/)) Jupyterノートブックに入ったら、右上隅のUploadボタンをクリックし、SRC/Knowledge-Graph/MFG-Neptune-Bulk-import.ipynbファイルをNeptuneノートブックにアップロードします。 (PS:[青]ボタンのuploadをクリックしてアップロードを確認します)
mfg-neptune-bulk-import.ipynbにアクセスし、ノートブック内の手順に従って、サンプルデータをNeptuneデータベースにロードします。
データのインポートが成功すると、以下の知識グラフが生成されます。

Cognitoユーザーとのログインを求められます。このデモでは、サンプルユーザーのdemo_user一時的なパスワードTempPassw0rd! 。 
初めてログインするときにパスワードをリセットする必要があります。パスワードガイドラインに従ってください。

メインページが表示され、デジタルスレッドGen AIおよびグラフアプリケーションとチャットできます。

サンプルの質問はExample questionsメニューを拡張することで見つけることができます。
注意:Amazon Neptuneのすべてのデータは、クリーンアップ後に失われます。
このデモはアカウントにリソースをセットアップするため、請求されないように削除しましょう。
CleanupScript.shはアカウントの次のリソースを削除します:> * Amazon Cognitoユーザープール付きデモ> * Amazon Neptune ServerLess Cluster> * Amazon Neptune Workbrench Sagemaker Notebook> * Subnets/Security Group> *アプリケーションロードバランサー> * Amazon ECR Repositor
chmod +x cleanup-script.sh
./cleanup-script.sh
クリーンアップを確認するために「Y」を入力してください:
This script is to clean up the Manufacturing Digital thread (Graph and Generative AI) demo application.
Are you sure to delete the demo application? (y/n): y
Are you sure you want to delete application genai-chatbot-app? [? for help] (y/N) y
Finally, You will get a message "CloudFormation is being deleted. It will be removed in minutes. Please check the CloudFormation console https://console.aws.amazon.com/cloudformation/home".
It will take 10-15 minutes to cleanup the resources in your account.

詳細については、貢献を参照してください。
AWSガイダンスについては、AWSでグラフと生成AIを使用してデジタルスレッドのガイダンスにアクセスしてください
ブログは2024年4月にリリースされます。
Neptuneクラスターが停止状態にある場合、cleanupscript.shを実行できますか?
いいえ。クラウド形成の削除は、「dbクラスターneptunedbclusterは停止状態です」というエラーで失敗します。クリーンアップに進む前に、AWSコンソールまたはCLIコマンドを介してNeptuneクラスターを起動してください。
クラウド形成がエラーでネプチューンクラスターの作成に失敗した場合、「次のリソースが作成できなかった場合:[ElasticIP3、ElasticIP1、Elastip2]」?
Neptune CloudFormationテンプレートを実行する前に、3つの弾性IPを作成するのに十分な能力があることを確認してください。 AWSコンソールの弾性IPの数を確認しますhttps://console.amazon.com/ec2/home?#dresses:スクリプトを展開する前に。
demo_user以外の新しいユーザーを作成できますか?
はい。 AWS Cognitoユーザープールに移動し、AWSコンソールまたはCLIを使用して新しいユーザーを作成できます。
deploy-script.shを実行しているときに、「JQ:command not found」というエラーが発生しました。修正方法は?
詳細については、インストールJQページをご覧ください。
警告が表示された場合は、「要求された画像のプラットフォーム(Linux/ARM64/V8)が検出されたホストプラットフォーム(Linux/AMD64)と一致せず、特定のプラットフォームが要求されなかった」とCopilot Deploy中に障害が発生しました。
このエラーは、ARM64ベースのインスタンスからスクリプトを展開することで解決できます。 Copilot/Genai-Chatbot-Appに存在するManifest.ymlファイルのプラットフォーム属性を参照してください。プラットフォーム属性は、Linux/ARM64に設定されています。
このソリューションは他のドメインで使用するために適応できますか?もしそうなら、プロセスは何ですか?
ステップ1:ドメイン固有の顧客の問題を特定します。
ステップ2:関連する利害関係者を特定します。
ステップ3:問題を理解し、質問を作成します。
ステップ4:関連するシステムとデータを特定します。
ステップ5:エッジと頂点CSVファイルを作成し、知識グラフ/データ/エッジ/知識グラフ/データ/頂点フォルダーに配置します。
ステップ6:S3ローダーを使用してファイルをロードし、SRC/Knowledge-Graph/MFG-Neptune-Bulk-Import.ipynbを使用してNeptune Statisticsを実行します
ステップ7:グラフとチャットします。
ステップ8:応答が不正確な場合は、サンプルクエリと対応する回答を提供して、プロンプトテンプレートを更新してください。
顧客とニーズを理解するときは、以下のテンプレートを使用してください。

新しいエッジと頂点を追加することにより、既存のグラフでマイナーな調整を行いましたが、チャットアプリケーションは変更を認識していないようです。この問題の理由は何でしょうか?
Langchain Neptuneグラフは、Neptune Statisticsの概要からノードとエッジのラベルを取得します。 Neptuneの統計は現在、グラフ内のデータの10%以上が変更された場合、または最新の統計が10日以上経過している場合はいつでも再生成されています。問題を解決するには、追加の変更をロードした直後に統計コマンド「%統計 - モードリフレッシュ」を実行してください(MFG-Neptune-Bulk-Import.ipynbを参照)。
ネプチューンDBをリセットするにはどうすればよいですか?
このブログで概説されている「ワークベンチマジックコマンド」に従ってください。
コストの発生を避けるために、ネプチューンクラスターとノートブックを停止する手順は何ですか?
Neptuneクラスターとノートブックを使用していないときに停止するのはベストプラクティスです。以下に概説する手順に従ってください。


Amazon NeptuneとAmazon Bedrockの費用はいくらですか?
人類モデルのNeptune Serverlessの価格設定とAmazon Bedrockの価格を参照してください。
アマゾンの岩盤はどのAWS地域で利用できますか?
詳細については、このページを参照してください。
Amazon NeptuneとAmazon Bedrockについてもっと知る必要があります。
詳細については、Amazon BedrockおよびAmazon Neptune製品ページをご覧ください。
このライブラリは、MIT-0ライセンスに基づいてライセンスされています。ライセンスファイルを参照してください。