在对 Amazon Bedrock 发送请求时,您可以通过在 API 调用中包含 modelId
参数来指定要使用的基础模型。Bedrock 中的每个模型都有一个唯一的标识符(例如 amazon.titan-text-express-v1
或 anthropic.claude-v2
),它决定了用于处理请求的底层模型。通过 AWS SDK、CLI 或 REST API 发送请求时,您需要明确设置此参数以选择所需的模型。例如,在 InvokeModel
API 中,您需要在请求正文或 SDK 方法调用中将 modelId
与输入文本和推理配置等其他参数一起构建。
为了说明这一点,这里有一个使用 Python 的 AWS SDK (Boto3) 的简化示例
import boto3
bedrock = boto3.client(service_name='bedrock-runtime')
response = bedrock.invoke_model(
modelId='anthropic.claude-v2',
body=json.dumps({
"prompt": "Explain how to choose a model in Bedrock.",
"max_tokens_to_sample": 300
})
)
在此代码段中,modelId
设置为 anthropic.claude-v2
,表示选择 Claude v2。类似地,使用 amazon.titan-text-express-v1
将调用 Amazon 的 Titan Text Express 模型。请求正文的结构(例如,prompt
vs. inputText
)在不同模型之间可能略有差异,因此您必须遵循所选模型所需的输入格式。Bedrock 文档提供了每个模型输入参数的详细规范。
选择模型时,请确保它在您的 AWS 区域可用并符合您的用例。例如,Titan Text Express 针对通用文本生成进行了优化,而 Claude v2 支持更长的上下文。您可以使用 ListFoundationModels
API 列出您区域中可用的模型。务必检查 modelId
的拼写和版本(例如 v1
vs. v2
),因为不正确的 ID 将导致错误。此外,某些模型可能需要特定权限或有使用限制,因此请查看 Bedrock 的服务配额和 IAM 策略以避免中断。