Amazon Bedrock
AWS のフルマネージド生成 AI サービスで、基盤モデルを API 経由で利用できる
AWSAI
Bedrock とは
Amazon Bedrock は、AWS のフルマネージド生成 AI サービスで、Amazon Nova、Claude、Llama などの基盤モデル (FM) を API 経由で利用できる。インフラ管理不要で、Lambda から直接呼び出せる。
利用可能なモデル
| プロバイダー | モデル | 用途 |
|---|---|---|
| Amazon | Nova 2 Lite / Pro | テキスト生成、要約 |
| Anthropic | Claude 3.5 Sonnet | 高品質なテキスト生成 |
| Meta | Llama 3 | オープンソースモデル |
| Cohere | Command R+ | RAG、検索 |
| Amazon | Titan Embeddings | ベクトル埋め込み |
Lambda からの呼び出し
import { BedrockRuntimeClient, InvokeModelCommand } from '@aws-sdk/client-bedrock-runtime';
const client = new BedrockRuntimeClient({ region: 'ap-northeast-1' });
const response = await client.send(new InvokeModelCommand({
modelId: 'amazon.nova-lite-v1:0',
contentType: 'application/json',
body: JSON.stringify({
messages: [{ role: 'user', content: [{ text: '要約してください' }] }],
}),
}));
Bedrock の機能
Bedrock は InvokeModel API でモデルを呼び出す基本機能に加え、Knowledge Bases で RAG (検索拡張生成) を実現し、Guardrails で有害コンテンツをフィルタリングする。Fine-tuning でモデルをカスタマイズしたり、Agents でツール呼び出しやマルチステップ推論を行うこともできる。
RAG (検索拡張生成)
ユーザーの質問
↓
Knowledge Base (ベクトル検索)
↓ 関連ドキュメントを取得
Bedrock (モデル + コンテキスト)
↓
回答を生成
Knowledge Bases は S3 のドキュメントを自動的にベクトル化し、OpenSearch Serverless に保存する。
コスト管理
同じプロンプトの結果を DynamoDB にキャッシュして重複呼び出しを削減し、プロンプトを簡潔にしてトークン数を最適化する。Nova Lite のような低コストモデルを選択し、大量処理は非同期バッチ推論を活用する。
全体像を把握するには関連書籍も有用。