Skip to content

Instantly share code, notes, and snippets.

@tsukumonasu
Last active November 19, 2023 13:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tsukumonasu/aec4d5a872c5da4ff9898cbc0fc85494 to your computer and use it in GitHub Desktop.
Save tsukumonasu/aec4d5a872c5da4ff9898cbc0fc85494 to your computer and use it in GitHub Desktop.

20231120 JAWS-UG 名古屋 Amazon Bedrock ハンズオン~Claudeスマホアプリ~

Claudeを呼び出せるAppSheetスマホアプリを作成します.

Claude Lambda作成

  1. Lmabdaのコンソールを開き、左メニューから「関数」をクリックする.
  2. 関数の作成をクリックする.
    image
  3. 関数名に「jawsug-nagoya-handson-claude」と入力し、ランタイムに「Python 3.11」を選択し、「関数の作成」をクリックする.
    image
  4. 以下のコードをコピペして、「ctrl」+「s」キーで保存し、Deployをクリックする.
    https://github.com/tsukumonasu/jawsug-nagoya-bedrock/blob/master/claude2/index.py image
  5. 設定タブを開き、実行ロールの「編集」をクリックする.
    image
  6. タイムアウトを5分に設定する.
    image
  7. 「IAM コンソールで jawsug-nagoya-handson-claude-role-xxxxxxx ロールを表示」をクリックする.
    image
  8. ポリシー名をクリックし、「編集」をクリックする. image
  9. 以下のJsonを貼り付けて、「次へ」をクリックする.
{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Action": "logs:CreateLogGroup",
			"Resource": "*"
		},
		{
			"Effect": "Allow",
			"Action": [
				"logs:CreateLogStream",
				"logs:PutLogEvents"
			],
			"Resource": [
				"*"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"kendra:Query"
			],
			"Resource": [
				"*"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"bedrock:*"
			],
			"Resource": [
				"*"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"s3:PutObject"
			],
			"Resource": [
				"*"
			]
		}
	]
}
  1. 「変更を保存」をクリックする.
  2. IAMのコンソールを開いている2つのタブを閉じる.
  3. Lambdaのコンソールに戻って「保存」をクリックする.
    image
  4. 関数URLを左のメニューから選択し、「関数 URL を作成」をクリックする.
    image
  5. 認証タイプで「None」を選択し、「保存」をクリックする.
    image
  6. 関数URL が表示されるようになるので、コピーしておく(あとで使う).
    image
  7. 環境変数を左のメニューから選択し、「編集」をクリックする.
    image
  8. 環境変数の追加をクリックし、「BUCKET_NAME」に作成しているバケット名を入力し、保存をクリックする.
    image
  9. 左のメニューからコードを選択し、下までスクロールし、「レイヤーの追加」をクリックする.
    image
  10. 作成したレイヤーを設定し、「追加」をクリックする.
    image

llama2 Lambda作成

Lambdaのコードを以下に書き換えることで、llama2で生成されるようになります.

https://github.com/tsukumonasu/jawsug-nagoya-bedrock/blob/master/llama2/index.py

AppSheet作成

  1. Googleのアカウントにログインし、SpreadSheetを開く.
    https://docs.google.com/spreadsheets/u/0/?tgif=d
  2. 右下の「+」をクリックする.
    image
  3. 左上の「無題のスプレッドシート」をクリックし、名前を「AIチャットボット」に変更する.
  4. SpreadSheetに以下をコピペする.
timestamp	ID	質問	回答
2023/11/19 17:32:13	41131ab5	武田信玄について教えて	武田信玄は、戦国時代の甲斐国の戦国大名です。
2023/11/19 17:36:26	19a046fd	武田信玄について教えて	武田信玄は、戦国時代の日本の著名な武将の一人で、甲斐国の国主であり、今日の山梨県の地域で活躍した人物です。
  1. メニューから「拡張機能」→「AppSheet」→「アプリを作成」をクリックする.
    image
  2. しばらくしてアプリができるので、「ready!」の右の「X」をクリックする.
    image
  3. 左のメニューから「Data」(データベースのロゴ)をクリックする.
    image
  4. IDのSHOW?のチェックボックスを外し、回答のTypeをLongTextに設定する.
    image
  5. image
  6. 左のメニューから「Views」(スマホのロゴ)をクリックする.
  7. 以下のように設定する.
    • Sort by timestamp Descending
    • Primary header 質問
    • Secondary header 回答
    • Smmary Column timestamp
    • image
  8. 「Create my first automation」をクリックする.
    image
  9. Create a new botをクリックする.
    image
  10. Event nameを「質問」、Add Onlyに設定し、Add a Stepをクリックする.
    image
  11. Step nameに「WebhookTask」を設定し、「Create custom step」をクリックする.
    image
  12. Presetを「Custom」、URLをLambdaのURL、HTTP Verbを「Post」に設定する.
    image
  13. Bodyに「{"user_prompt": "<<[質問]>>"}」を設定する.
    image
  14. Return Valueを「オン」にして、Specific typeのNameを「Key」から「completion」に修正する.
    image
  15. Timeoutを「300」、「Max number of retries on failure」を「1」に設定する.
    image
  16. 「Add a step」をクリックする.
  17. Step nameに「回答を入力」を設定し、「Run a data action」をドロップダウンから選択し、「Create custom step」をクリックする.
    image
  18. 「Set row values」を選択し、 「Set these column(s)」に「回答」を設定し、すぐ右の「=」をクリックする. image
  19. 「[WebhookTask].[completion]」を入力し、「Save」をクリックする.
    image
  20. 右上の「Save」をクリックする.
    image
  21. 右上のスマホのアイコンをクリックする.
    image
  22. 右下の「+」をクリックする.
    image
  23. 質問を入力し、「Save」をクリックする.
    image
  24. 回答が出力される.
    image image

AppSheetのスマホへのインストール

  1. 人のマークをクリックする.
    image
  2. Copy sharing linksをクリックする.
    image
  3. 「install Link」のアドレスをコピーする.
  4. スマホにAppSheetのアプリをインストールし、コピーしたリンクを開く.
    image image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment