Aurora MySQL 3.06 の ML 機能で Bedrock アクセスを試してみた

373 Views

March 15, 24

スライド概要

#22 JAWS-UG 主催 週刊 AWS キャッチアップ(2024/03/04 週) LT

profile-image

Qiita や Zenn でいろいろ書いてます。 https://qiita.com/hmatsu47 https://zenn.dev/hmatsu47 MySQL 8.0 の薄い本 : https://github.com/hmatsu47/mysql80_no_usui_hon Aurora MySQL v1 → v3 移行計画 : https://zenn.dev/hmatsu47/books/aurora-mysql3-plan-book

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Aurora MySQL 3.06 の ML 機能で Bedrock アクセスを試してみた #22 JAWS-UG 主催 週刊 AWS キャッチアップ (2024/03/04 週)2024/03/15 まつひさ(hmatsu47)

2.

自己紹介 松久裕保(@hmatsu47) ● https://qiita.com/hmatsu47 ● 名古屋で Web インフラのお守り係をしています ● 普段は JAWS-UG 名古屋・浜松で DB ネタを中心に 話しています(主に RDS / Aurora・たまに DynamoDB) ● 全国各地の JAWS イベントを巡っています ○ 岩手→お遍路(愛媛)→FESTA(福岡)→カーニバル(北海道)→DAYS(東京) ○ 今後は佐賀→金沢(福井開催)→山形→FESTA(広島)の予定 2

3.

本日のネタは ● https://aws.amazon.com/jp/blogs/news/aws-weekly-20240304/ 3

4.

やってみた ● Aurora MySQL 3.06 から Bedrock アクセス ○ 東京リージョンの Aurora MySQL 3.06 から ○ 同リージョンの Claude 2.1 へ ○ SQL(ストアドファンクション)を使ってプロンプトを渡して ○ 結果を受け取る 4

5.

環境準備(東京リージョン) ● Bedrock でベースモデル(Claude 2.1)有効化 ● VPC を作成 ○ NAT ゲートウェイまたは NAT インスタンスを配置 ● ポリシー&ロール作成(Aurora 用・Bedrock - InvokeModel) ● Aurora クラスター/インスタンス作成 ○ クラスターパラメータグループとロールを割り当て etc. 5

6.

Bedrock でベースモデル有効化 6

7.

VPC 作成 7

8.

ポリシー作成 8

9.

ロール作成 9

10.

DB サブネットグループ作成 10

11.

Aurora クラスターパラメータグループ作成 11

12.

Aurora クラスター/インスタンス作成 12

13.

ロール割り当て・セキュリティグループ調整 13

14.

DB・ストアドファンクション作成・権限付与 CREATE DATABASE bedrock_test; USE bedrock_test; GRANT AWS_BEDROCK_ACCESS TO 【接続中ユーザー】 ; CREATE FUNCTION invoke_claude (request_body TEXT) RETURNS TEXT ALIAS AWS_BEDROCK_INVOKE_MODEL MODEL ID 'anthropic.claude-v2:1' CONTENT_TYPE 'application/json' ACCEPT 'application/json'; GRANT EXECUTE ON FUNCTION bedrock_test.invoke_claude TO 【接続中ユーザー】 ; 14

15.
[beta]
プロンプト用テーブル作成・サンプルデータ投入
CREATE TABLE prompts (request varchar(1024));
INSERT INTO prompts VALUES (
'{
"prompt": "\\n\\nHuman: JAWS-UGってなんですか? \\n\\nAssistant:",
"max_tokens_to_sample": 300,
"temperature": 0.5,
"top_k": 250,
"top_p": 1,
"stop_sequences": [
"\\n\\nHuman:"
],
"anthropic_version": "bedrock-2023-05-31"
}');
15

16.
[beta]
クエリ実行
mysql> SELECT invoke_claude(request) FROM prompts\G
*************************** 1. row ***************************
invoke_claude(request): {"completion":" JAWS-UGとは、スクリーンリーダー「 JAWS」の
ユーザーグループのことです。 \n\nJAWSは視覚障害者などのためのスクリーンリーダーソフトウェア
で、コンピュータの画面上のテキストを音声で読み上げることができます。 JAWS-UGはこのJAWSを利
用しているユーザーのコミュニティです。 \n\nJAWS-UGでは、JAWSに関する情報交換やノウハウの共
有、JAWSの操作方法や設定のアドバイスなどを行っています。また、 JAWSの新しいバージョン情報
や、視覚障害者向け情報技術全般に関する情報も提供しているようです。 \n\n視覚障害者の情報アク
セスを支援する技術の一つとして重要な JAWSですので、JAWS-UGはJAWSユーザーにとって有益なコ
ミュニティだと思います。 ","stop_reason":"stop_sequence","stop":"\n\nHuman:"}
1 row in set (8.06 sec)

16

17.

ポイント ● 結果が返るまで少し時間がかかる ○ バッチ処理向け? ● ベクトル埋め込みはできない ○ Aurora PostgreSQL の pgvector 相当のベクトル検索機能がない ○ 本格的に活用するなら Aurora PostgreSQL のほうが向いている 17