🙆
Aurora MySQL Bedrock 統合について試してみた。
アップデート概要
Amazon Aurora MLからClaude2などの foundation models に直接叩ける機能が3/8にアナウンスされました。
CDKでAurora Serveless v2を作成
Bedrock統合する機能を使うには、Aurora Engine 3.06が必要。
3/10現在、VER_3_06_0がないので一カ所aws-cdk-libをいじってAurora Serverless v2を作成しました。
aws-cdk-libのビルドは、CONTRIBUTINGを参照。
https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md
RDS Managed Role
RDS ClusterからBedrock Modelにアクセスするために、RDS ClusterにManaged Roleをアタッチします。
クラスタパラメータグループの変更
aws_default_bedrock_role に、Bedrockアクセス用に作成したIAM Role ARNを記載
UDF Function
(Claude 2.1 Modelの例)
CREATE FUNCTION invoke_claude2 (request_body TEXT)
RETURNS TEXT
ALIAS AWS_BEDROCK_INVOKE_MODEL
MODEL ID 'anthropic.claude-v2:1'
CONTENT_TYPE 'application/json'
ACCEPT 'application/json';
Grant
権限付与
GRANT AWS_BEDROCK_ACCESS TO clusteradmin@`%`;
GRANT EXECUTE ON FUNCTION bedrockdemo.invoke_claude2 TO clusteradmin@`%`;
Prompt (Table )
Anthropic Claude Messages APIでプロンプト部分を記載する必要がありそうです。
CREATE TABLE prompts (request varchar(1024));
INSERT INTO prompts VALUES (
'{
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "日本国の首相は ?"
}
]
}
]
} ');
下記SQLを叩くと、
SELECT invoke_claude2(request) FROM prompts;
下記のようにClaudeからレスポンスがきます。
まとめ
マルチモーダルモデルであるClaude 3 Sonnet にも対応しているので、Aurora内のデータ(画像など)を直接Bedrockと連携できて便利と思われる
OpenSearch ConnectorからもBedrockと直接アクセスできますが、Auroraからも同様アクセスできるようになります。
Discussion