要通过 Bedrock API 以编程方式检索可用模型或模型版本的列表,您可以使用 AWS Bedrock 提供的 ListFoundationModels
API 操作。此方法返回您的 AWS 账户所在区域中可用的基础模型的元数据,包括模型 ID、提供商(例如,Anthropic、Meta)以及支持的输入/输出模态等详细信息。此过程包括使用 AWS 凭证初始化 Bedrock 客户端,调用 API,然后解析响应以提取模型详细信息。这种方法对于动态发现模型而无需手动配置非常有用。
以下是实际实现方法。首先,确保您的编程语言已安装 AWS SDK(例如,Python 的 boto3
)。使用您的 AWS 区域和凭证初始化 Bedrock 客户端。例如,在 Python 中:
import boto3
client = boto3.client('bedrock', region_name='us-west-2')
response = client.list_foundation_models()
response
将包含一个 modelSummaries
数组,其中每个条目都包含 modelId
、providerName
以及其他属性,如 inputModalities
(例如,“TEXT”)和 outputModalities
。您可以使用可选参数,如 byProvider
或 byOutputModality
来过滤结果,以缩小到特定提供商的模型或支持某些任务的模型。例如,list_foundation_models(byProvider='anthropic')
只返回 Anthropic 的 Claude 模型。
处理响应时,您通常会迭代 modelSummaries
以提取模型 ID 和版本。请注意,某些模型可能有多个版本(例如,anthropic.claude-v2
和 anthropic.claude-v2:1
),这些版本会作为单独的条目列出。为了避免在应用程序中硬编码模型 ID,您可以定期缓存此列表或在运行时获取。请注意 API 速率限制,并在必要时实现重试。有关完整详细信息,请参阅 AWS Bedrock API 文档,其中描述了所有响应字段和过滤选项。