AWS介绍如何从加拿大中部和卡尔加里区域,通过跨区域推理访问GPT-5.6、GPT-6和GPT-6.1。文章涵盖推理配置、权限设置,以及Responses、Chat Completions和Converse API调用。
在 Amazon Bedrock 上构建生成式 AI 应用的加拿大组织,通常需要从加拿大 AWS 区域访问最新的基础模型(FM),例如 OpenAI GPT-6.1、OpenAI GPT-6 和 GPT-5.6。借助 Amazon Bedrock 跨区域推理(CRIS),你现在可以从加拿大访问这些模型。加拿大(中部)和加拿大西部(卡尔加里)区域现已支持访问 OpenAI GPT-5.6 模型(Sol、Terra 和 Luna)、GPT-6(Astra、Sol 和 Luna)以及 GPT-6.1 Sol。推理在北美地区处理,数据驻留控制措施将在本文后文介绍。
跨区域推理是一种容量机制。应用调用源区域中的 Amazon Bedrock Runtime 端点,然后由 Amazon Bedrock 将请求路由到受支持的目标区域进行处理。通过这种方式,你可以使用更大的容量池,帮助应用在需求激增时维持吞吐量,无需在应用中自行管理目标区域的路由。
本文将介绍可从加拿大访问的 GPT-5.6、GPT-6 和 GPT-6.1 模型,以及为这些模型提供服务的跨区域推理配置文件。随后,我们将展示如何设置权限,并通过 OpenAI Responses API、Chat Completions API 和 Amazon Bedrock Converse API 调用模型。对于 Responses API,我们还会提供流式输出和工具使用示例。最后,我们将介绍如何申请提高配额、查看源区域中可用的可观测性信号,以及在使用完毕后清理资源。
通过 Amazon Bedrock,你可以在加拿大使用跨区域推理访问三个系列的 OpenAI 模型。下表汇总了各个模型及其定位。
这些模型接受文本和图像输入,返回文本,并支持 100 万 token 的上下文窗口、推理模式和工具调用。GPT-6.1 Sol 支持相同大小的上下文窗口和工具调用,其模型卡还列出了额外支持的输入和输出模态。GPT-5.6、GPT-6 和 GPT-6.1 还支持 Amazon Bedrock 上的提示词缓存(参见“提示词缓存”部分)。你可以通过 bedrock-runtime 端点上的 OpenAI Responses API、OpenAI Chat Completions API 和 Amazon Bedrock Converse API 访问这些模型。
有关定价,请参阅 Amazon Bedrock 定价。有关各模型的区域可用性,请参阅《Amazon Bedrock 用户指南》中的模型卡。
Amazon Bedrock 推理配置文件是一种逻辑标识符,可以替代原始模型 ID 传入。每个配置文件都定义了一个模型,以及 Amazon Bedrock 可以将请求路由到的一组区域。加拿大提供以下两种配置文件类型:
us. 为前缀):将请求路由到加拿大源区域和美国区域。如果你的工作负载要求推理处理始终在北美地区(加拿大和美国)内进行,请选择此配置文件。global. 为前缀):将请求路由到部署了该模型且受支持的 AWS 商业区域。这种方式可以在请求发起时利用更大的容量池。端点的可用性因模型和源区域而异,如下表所示。
配置文件包含的区域和模型可用性可能发生变化。GPT-5.6 模型的全球配置文件仅支持从 ca-central-1 使用。从 ca-west-1 访问 GPT-5.6 时,请使用美国地理范围配置文件。部署前,请使用 AWS Command Line Interface(AWS CLI)或控制台(参见下一节)核实源区域中的有效配置文件,也可以参阅跨区域推理支持文档。
以下各节将介绍从加拿大源区域调用这些模型所需的设置和代码。
开始之前,请确认你具备以下条件:
如需快速试用,可附加 AWS 托管策略 AmazonBedrockLimitedAccess。对于访问控制要求更严格的已部署工作负载,请使用遵循最小权限原则的自定义策略。以下示例授予从 ca-central-1 访问 GPT-6 Astra 全球配置文件的权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["bedrock:InvokeModel*"],
"Resource": [
"arn:aws:bedrock:ca-central-1::inference-profile/global.openai.gpt-6-astra"
]
},
{
"Effect": "Allow",
"Action": ["bedrock:InvokeModel*"],
"Resource": ["arn:aws:bedrock:*::foundation-model/openai.gpt-6-astra"],
"Condition": {
"StringLike": {
"bedrock:InferenceProfileArn": "arn:aws:bedrock:ca-central-1::inference-profile/global.openai.gpt-6-astra"
}
}
}
]
}
如果通过 API 密钥方式进行身份验证(为 OpenAI SDK 提供 bearer token),还需要授予 bedrock:CallWithBearerToken 权限。对于 Responses API,还需为 arn:aws:bedrock:ca-central-1:*:project/default 添加 bedrock:InvokeModel 权限。
如果你的组织通过 SCP 限制可用区域,可以使用 bedrock:InferenceProfileArn 条件键允许 CRIS 流量,同时阻止直接调用未经批准的区域。以下 SCP 会拒绝在获准源区域之外执行 Amazon Bedrock 推理,除非请求使用了 CRIS 推理配置文件:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyBedrockOutsideCanadaUnlessCris",
"Effect": "Deny",
"Action": ["bedrock:InvokeModel*"],
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:RequestedRegion": ["ca-central-1", "ca-west-1"]
},
"ArnNotLike": {
"bedrock:InferenceProfileArn": [
"arn:aws:bedrock:*:*:inference-profile/us.openai.*",
"arn:aws:bedrock:*:*:inference-profile/global.openai.*"
]
}
}
}
]
}
设置此条件后,即使 SCP 在其他情况下拒绝访问这些区域,Amazon Bedrock 仍可将请求路由到配置文件的目标区域。要使请求成功,所选配置文件中的每个目标区域都必须被允许访问。更多详情,请参阅“在多账户环境中设置跨区域推理”。
调用模型之前,可以使用 AWS CLI 验证源区域中哪些配置文件处于有效状态。以下命令列出 ca-central-1 中处于有效状态的 OpenAI 配置文件。要从卡尔加里执行相同检查,请将 ca-central-1 替换为 ca-west-1。
aws bedrock list-inference-profiles \
--region ca-central-1 \
--type-equals SYSTEM_DEFINED \
--query "inferenceProfileSummaries[?contains(inferenceProfileId, 'openai')].[inferenceProfileId,status]" \
--output table
Amazon Bedrock 控制台也提供相同的视图。打开控制台,选择加拿大(中部)或加拿大西部(卡尔加里)作为区域,在 Inference 下选择 Cross-Region inference,然后查看可用的配置文件。
以下截图展示了 Amazon Bedrock 控制台中加拿大(中部)区域列出的有效 OpenAI 推理配置文件。
图 1:Amazon Bedrock 控制台中有效的 OpenAI 跨区域推理配置文件(加拿大〔中部〕)
GPT-5.6、GPT-6 和 GPT-6.1 在 bedrock-runtime 端点上支持三种访问方式:OpenAI Responses API、OpenAI Chat Completions API 和 Amazon Bedrock Converse API。兼容 OpenAI 的 API 通过该端点的 /openai/v1 路径调用。该端点支持使用 AWS Signature Version 4(SigV4)或 Amazon Bedrock API 密钥进行身份验证。
以下示例使用适用于 Python 的 Amazon Bedrock 令牌生成器,根据当前 AWS 凭证创建短期 Amazon Bedrock API 密钥,因此应用无需存储静态密钥。
对于已经使用 OpenAI SDK 调用 Responses API 的应用,将客户端指向对应区域的 Amazon Bedrock Runtime 端点,并将推理配置文件 ID 作为 model 参数传入。
from aws_bedrock_token_generator import provide_token
from openai import OpenAI
region = "ca-central-1" # Use "ca-west-1" for Calgary
client = OpenAI(
base_url=f"https://bedrock-runtime.{region}.amazonaws.com/openai/v1",
api_key=provide_token(region=region),
)
response = client.responses.create(
model="global.openai.gpt-6-astra",
input="What are the key considerations for AI governance in Canadian financial services?",
max_output_tokens=1024,
)
print(response.output_text)
如需流式输出,请设置 stream=True,并遍历响应事件,在文本到达时将其打印出来:
stream = client.responses.create(
model="global.openai.gpt-6-luna",
input="List five generative AI use cases for Canadian healthcare.",
max_output_tokens=512,
stream=True,
)
for event in stream:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
OpenAI Chat Completions API
OpenAI Chat Completions 格式也可以通过同一个端点调用。
response = client.chat.completions.create(
model="global.openai.gpt-5.6-terra",
messages=[{"role": "user", "content": "Summarize recent AI regulatory trends in Canada."}],
max_completion_tokens=1024,
reasoning_effort="low",
)
print(response.choices[0].message.content)
有关支持的完整参数列表(包括推理强度级别),请参阅《Amazon Bedrock 用户指南》中的模型卡。
Amazon Bedrock Converse API
如果你的应用程序通过 AWS SDK 调用 Amazon Bedrock,可以使用 Converse API。Boto3 会通过标准 AWS 凭证链解析凭证。
import boto3
bedrock = boto3.client("bedrock-runtime", region_name="ca-central-1")
response = bedrock.converse(
modelId="us.openai.gpt-5.6-terra",
messages=[{"role": "user", "content": [{"text": "Summarize recent AI regulatory trends in Canada."}]}],
inferenceConfig={"maxTokens": 1024},
)
# GPT-5.6 and GPT-6 may return a reasoningContent block alongside the text.
# Select the block that contains the text output.
text_output = next(block["text"] for block in response["output"]["message"]["content"] if "text" in block)
print(text_output)
只需更改推理配置文件 ID,同样的调用方式也适用于 GPT-6 Sol、GPT-6 Luna 和 GPT-6.1 Sol。以下示例为 GPT-6 Sol 使用美国地理范围配置文件,为 GPT-6 Luna 使用全球配置文件。两者均已在 ca-central-1 验证通过。
# GPT-6 Sol, GPT-6 Luna, and GPT-6.1 Sol are called the same way. Swap the inference profile ID, and choose a us. (US geographic) or global. profile to match your data boundary.
# For example, GPT-6.1 Sol via the US geographic profile: modelId="us.openai.gpt-6.1-sol"
# GPT-6 Sol via the US geographic profile: strong reasoning and coding for complex work.
response = bedrock.converse(
modelId="us.openai.gpt-6-sol",
messages=[{"role": "user", "content": [{"text": "Summarize recent AI regulatory trends in Canada."}]}],
inferenceConfig={"maxTokens": 512},
)
# GPT-6 Luna via the global profile: fast, low-cost inference for high-volume tasks such as classification.
response = bedrock.converse(
modelId="global.openai.gpt-6-luna",
messages=[{"role": "user", "content": [{"text": "Classify this ticket as BILLING, TECHNICAL, or OTHER: ..."}]}],
inferenceConfig={"maxTokens": 256},
)
这些模型支持客户端工具使用(函数调用)。在 tools 参数中定义工具后,模型会返回结构化的工具调用请求,供你的应用程序执行。
response = client.responses.create(
model="global.openai.gpt-6-astra",
input="What's the current exchange rate from CAD to USD?",
tools=[{
"type": "function",
"name": "get_exchange_rate",
"parameters": {
"type": "object",
"properties": {
"from_currency": {"type": "string"},
"to_currency": {"type": "string"}
}
}
}],
)
# The model returns a tool-call request rather than text.
for item in response.output:
if item.type == "function_call":
print(f"Tool: {item.name}, Args: {item.arguments}")
GPT-5.6、GPT-6 和 GPT-6.1 支持 Amazon Bedrock 的提示词缓存,可降低重复提示词前缀带来的成本和延迟。隐式缓存无需修改代码:Amazon Bedrock 会自动缓存符合条件、长度达到 1,024 个 token 或以上的前缀。后续请求读取的缓存 token 按优惠费率计费,且不计入每分钟 token 配额。缓存 token 会显示在响应的 usage 对象和 Amazon CloudWatch 指标中,便于你跟踪使用情况。有关缓存写入定价、最小前缀长度以及显式缓存断点支持的信息,请参阅提示词缓存文档和各模型的模型卡。
bedrock-runtime 端点上的跨区域推理配额按每个模型每分钟的 token 数(TPM)衡量。每项配额将输入和输出 token 合并计入同一个上限。美国地理范围推理配置文件和全球推理配置文件各自拥有独立的配额,因此在两者之间切换会改变你所使用的配额池。
Token 消耗量由输入 token、缓存写入的输入 token 和输出 token 共同构成。输出 token 会乘以模型的配额消耗倍率,因此,输出量较大的工作负载消耗配额的速度会高于原始 token 数量所体现的水平。在投入生产之前,应尽早申请提高配额,并监控配额使用率。测试时,应采用具有代表性的提示词、输出长度、流式响应行为、并发量和峰值流量。
如需申请提高配额,请按以下步骤操作:
在 ca-central-1 或 ca-west-1 打开 Service Quotas 控制台。
选择 Amazon Bedrock,然后选择所需模型名为“Cross-Region InvokeModel tokens per minute”的配额。
选择“Request increase at account level”,输入目标值,然后提交请求。
有关如何跟踪 token 使用情况和成本的详细信息,请参阅《在 Amazon Bedrock 中跟踪使用情况和成本》。
由于这些模型通过 Amazon Bedrock Runtime API 运行,通过推理配置文件发出的请求,在可观测性工具中的呈现方式与按需请求相同。调用日志和 Amazon CloudWatch 指标均记录在源区域中,无论请求实际在哪个区域处理,都是如此。你的可观测性数据始终集中在同一处。
AWS CloudTrail 会记录每个请求,并在 additionalEventData.inferenceRegion 字段中记录实际处理请求的目标区域。例如:"additionalEventData": { "inferenceProfileArn": "arn:aws:bedrock:ca-central-1:111122223333:inference-profile/global.openai.gpt-6-astra", "inferenceRegion": "us-west-2" }
"additionalEventData": {
"inferenceProfileArn": "arn:aws:bedrock:ca-central-1:111122223333:inference-profile/global.openai.gpt-6-astra",
"inferenceRegion": "us-west-2"
}
Amazon CloudWatch 按推理配置文件发布指标,涵盖调用次数、token 数量、延迟、限流次数和错误。
模型调用日志会将完整的请求和响应载荷发送到 Amazon Simple Storage Service(Amazon S3)或 Amazon CloudWatch Logs。要在 Amazon Bedrock 控制台中启用此功能,请选择“Settings”,然后选择“Model invocation logging”。你也可以调用 PutModelInvocationLoggingConfiguration API。此功能默认关闭。
AWS Data Exports 会按模型和配置文件逐项列出支出。
Amazon CloudWatch Coding Agent Insights
如果你使用这些模型来驱动 OpenAI Codex 等 AI 编程助手,Amazon CloudWatch Coding Agent Insights 提供了专用仪表板。它可以按部门、团队和环境等维度展示 token 使用量、API 请求次数、活跃用户数和成本归属。要启用此功能,请将你的编程智能体配置为向 Amazon CloudWatch 导出遥测数据。有关设置步骤,请参阅《为 OpenAI Codex 设置 OpenTelemetry》。
为避免测试结束后持续产生费用,请移除你创建的资源:
关闭模型调用日志。在 Amazon Bedrock 控制台中,选择“Settings”,然后选择“Model invocation logging”,或调用 DeleteModelInvocationLoggingConfiguration。这将停止向 Amazon S3 和 Amazon CloudWatch Logs 发送日志。
删除或解除关联你为测试创建的 IAM 策略,并删除为测试创建的所有 Amazon Bedrock API 密钥。
推理配置文件本身由系统定义,在未使用时不会产生费用。
安全与合规
跨区域推理旨在保护传输中和静态存储的数据。请求通过 AWS 私有骨干网络传输,并使用 TLS 1.2 或更高版本加密,而不经过公共互联网。对于加拿大客户,静态存储的数据默认保留在源区域,包括调用日志、知识库和配置。只有临时的推理计算在目标区域执行,而且默认情况下,模型提供商无法访问你的提示词或补全内容。
OpenAI 模型有一项需要特别注意的事项。被自动化滥用分类器标记的内容,可能会在目标区域保留最多 30 天以供审核。如果你希望将处理范围限制在北美(加拿大和美国),可以选择美国地理范围配置文件。我们建议你与合规团队一起审查 Amazon Bedrock 的滥用检测机制。
如需更详细地了解加拿大数据驻留模式,请参阅《跨区域推理与加拿大数据驻留:技术架构指南》。
本文展示了如何从加拿大访问 OpenAI GPT-5.6(Sol、Terra 和 Luna)、GPT-6(Astra、Sol 和 Luna)以及 GPT-6.1 Sol。通过 Amazon Bedrock 的跨区域推理功能,可以从加拿大(中部)和加拿大西部(卡尔加里)区域访问这些模型。我们介绍了可用的推理配置文件、权限设置方法和一个 SCP 示例,以及如何通过 Responses、Chat Completions 和 Converse API 调用这些模型。针对 Responses API,我们还提供了流式响应和工具使用示例。此外,我们也展示了如何申请提高配额、查看使用情况,以及清理测试资源。
要开始使用,请先查阅《Amazon Bedrock 用户指南》中的 OpenAI 模型卡,然后打开 Amazon Bedrock 控制台,通过推理配置文件发送一条测试提示词。有关定价,请参阅 Amazon Bedrock 定价页面。
如果你有任何问题或反馈,欢迎在本文下方留言。