Open3
AWS構成図をS3にアップ → Lambda → Bedrock API → GitHub → HCP Terraform → terraform plan
参考
GitHub
Lambda
出力で経由したリポジトリ
コード出力まで
AWS構成図をS3にアップ → Lambda → Bedrock API → S3(GitHub)
modelId
anthropic.claude-3-5-sonnet-20240620-v1:0
プロンプト
{
"type": "text",
"text":
"画像をもとにTerraformコードを生成する"
"東京リージョンのprovider情報のみを含める"
"terraformのコードのみを出力し、出力ファイルの前後に不要なテキストは含めない"
"```の囲い込みは含めない"
"各リソースの接続に必要なリソースブロックは適宜補完する"
}
画像
入力
出力
出力されたコード
provider "aws" {
region = "ap-northeast-1"
}
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
enable_dns_hostnames = true
enable_dns_support = true
tags = {
Name = "main-vpc"
}
}
resource "aws_subnet" "public" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
availability_zone = "ap-northeast-1a"
map_public_ip_on_launch = true
tags = {
Name = "Public Subnet"
}
}
resource "aws_internet_gateway" "main" {
vpc_id = aws_vpc.main.id
tags = {
Name = "Main IGW"
}
}
resource "aws_route_table" "public" {
vpc_id = aws_vpc.main.id
route {
cidr_block = "0.0.0.0/0"
gateway_id = aws_internet_gateway.main.id
}
tags = {
Name = "Public Route Table"
}
}
resource "aws_route_table_association" "public" {
subnet_id = aws_subnet.public.id
route_table_id = aws_route_table.public.id
}
resource "aws_instance" "example" {
ami = "ami-0c3fd0f5d33134a76" # Amazon Linux 2 AMI in Tokyo region
instance_type = "t2.micro"
subnet_id = aws_subnet.public.id
tags = {
Name = "Example Instance"
}
}
terraform plan(Pull requests)まで
Pull requests
HCP Terraform / terraform plan
単にBedrock APIだけだと、構成図を広げるとこんな感じになってしまった。Claude 3.5 Sonnet v2 がリージョンまたぎでバージニアでも使えるようになってたので試してみる。
まさかの精度おちてしまったw
画像読み込みからコード生成っていう分野はv1よりまだ弱いのかもしれない...
anthropic.claude-3-5-sonnet-20240620-v1:0
↓
anthropic.claude-3-5-sonnet-20241022-v2:0
落ちるなんてあるのかなぁと思いClaudeへきいてみた。
Claude 3.5 sonnet v1とv2の違いを教えて
v1がv2より回答精度が落ちるなんてありえますか
また落ちる場合があるなら、その理由はなんですか
---
はい、Claude 3.5 Sonnetのv1とv2のバージョン間の違いについて、以下のように説明いたします:
1. バージョン間の違い
Anthropicは通常、モデルの新バージョンをリリースする際に、性能や精度の向上を目指しています。v2は通常、v1より以下の点で改善されています:
- 回答の正確性の向上
- 推論能力の強化
- 文脈理解の改善
- より洗練された言語処理
2. 回答精度について
通常、新バージョン(v2)はv1より回答精度が落ちることは基本的にありません。むしろ、以下の理由で性能が向上します:
- より大規模で多様なトレーニングデータ
- 改良されたアルゴリズム
- より洗練された機械学習技術
3. 仮に精度が一時的に低下する可能性がある理由
極めて稀なケースとして、以下の状況が考えられます:
- トレーニングデータの偏りや不具合
- 新しいアルゴリズムの実験的な変更
- モデルの学習プロセスでの一時的な不安定性
ただし、Anthropicは厳格な品質管理を行っているため、このような事態は非常に考えにくいです。
4. 推奨事項
- 最新バージョンを常に使用することをお勧めします
- 重要な作業では、出力を常に確認してください
詳細な技術的情報については、Anthropicの公式ドキュメントやサポートサイトで最新情報をご確認ください。
オレゴンに複製したら精度かわらないかなぁと思ったけど、やってる途中に新LTネタとしては微妙と思ったので一旦中断。
構成図→IaC→デプロイ からいっそ構成図をぬいて プロンプト→IaC→デプロイ というのをやってみることにする。