生成式 AI 平台 - 通过 Amazon Bedrock 构建企业级 AI 基础设施
讲解使用 Amazon Bedrock 构建生成式 AI 应用程序的方法。介绍基础模型的选择、RAG 模式的实现、通过护栏确保安全性、与 SageMaker 的协作等企业级 AI 基础设施的设计。
生成式 AI 的挑战与 Bedrock 的定位
要将生成式 AI 嵌入企业应用程序,存在基础模型的选型、基础设施的构建、安全性的确保、成本的管理等诸多挑战。自行托管大语言模型(LLM)时,需要采购 GPU 实例、优化模型、扩展推理端点以及管理模型版本。Amazon Bedrock 是解决这些问题的全托管生成式 AI 服务。可以通过 API 使用 Anthropic Claude、Amazon Nova、Meta Llama、Mistral AI、OpenAI、Cohere、Stability AI 等多家提供商的基础模型。无需进行任何模型托管和基础设施管理。可用的模型会随着提供商的增加和模型的世代更替而频繁变化,因此在设计时,请通过 ListFoundationModels API 或 Bedrock 控制台的模型目录,确认在该区域中实际可以调用的模型。Bedrock 可以通过统一的 API 使用多家提供商的模型。因此,可以灵活地选择 / 切换最适合任务的模型。例如,可以选用 Anthropic Claude 的长上下文处理(默认为 200K 令牌,Sonnet 4 代起也有支持最多 100 万令牌的模型),或 Meta Llama 的开放权重模型等。数据受到 AWS 安全基础设施的保护,不会被用于模型训练。
RAG 模式与 Knowledge Bases
Bedrock 的 Knowledge Bases 功能以全托管方式实现检索增强生成(RAG)模式。RAG 是提高基础模型回答精度的方法,它从外部数据源检索与用户问题相关的信息,并将这些信息作为上下文提供给模型。在 Knowledge Bases 中,导入的文档(PDF、Word、HTML、文本)会被自动分块,转换为向量嵌入并存储到向量存储中。数据源不仅可以选择 S3,还可以选择 Web 爬虫、Confluence、Salesforce、SharePoint 以及使用自有导入路径的自定义数据源。向量存储也不固定为 1 种。代表性的例子包括 Amazon OpenSearch Serverless、Amazon OpenSearch 托管集群、Amazon Aurora PostgreSQL、Amazon Neptune Analytics、Amazon S3 Vectors、Pinecone、Redis Enterprise Cloud、MongoDB Atlas。可以通过 StorageConfiguration 的 type 指定。可以做出这样的判断:如果已有搜索基础设施就沿用它,如果想降低存储成本就选择 S3 Vectors。以下是使用 Knowledge Bases 的 RAG 查询示例。
import boto3
client = boto3.client('bedrock-agent-runtime', region_name='ap-northeast-1')
# 当前世代的模型通过推理配置文件调用(配置文件 ID 请确认最新的 Active)
response = client.retrieve_and_generate(
input={'text': '请介绍一下公司内部规定'},
retrieveAndGenerateConfiguration={
'type': 'KNOWLEDGE_BASE',
'knowledgeBaseConfiguration': {
'knowledgeBaseId': 'KB_ID',
'modelArn': 'arn:aws:bedrock:ap-northeast-1:123456789012:inference-profile/jp.anthropic.claude-sonnet-4-5-20250929-v1:0'
}
}
)
print(response['output']['text'])模型 ID 的世代更替很快,对已到 EOL 的 ID 的调用会导致请求本身失败。实现之前,请通过 Bedrock 的模型生命周期表(Active / Legacy / EOL)确认最新的 Active 模型。当前世代的 Anthropic 模型通过跨区域推理配置文件(jp. 或 us. 等前缀)调用,因此传入的不是原始的 foundation-model ARN,而是推理配置文件的 ARN 或配置文件 ID。数据源的同步可以自动或手动执行,在添加 / 更新文档时可以使向量存储保持最新状态。
护栏与模型定制
Bedrock Guardrails 是用于确保生成式 AI 应用程序安全性的全面控制功能。护栏通过组合多个类别的策略来构成。通过内容过滤器,可以阻止暴力、歧视、色情内容等不当的输入输出。如果定义拒绝主题,就可以限制与特定话题(竞争对手的信息、投资建议等)相关的回答。在单词过滤器中,可以直接指定禁用词和本公司特有的 NG 词进行阻止。通过个人信息(PII)的检测和遮蔽功能,防止姓名、电话号码、电子邮件地址等机密信息包含在输出中。此外,上下文依据检查(contextual grounding check)会以分数判定回答对 RAG 参考文档的忠实性以及与问题的相关性,从而减少幻觉。Automated Reasoning checks 则通过基于数理逻辑的策略验证回答内容的正确性。在模型定制中,可以通过微调、持续预训练,以及让小模型学习大模型输出的 Model Distillation,创建专用于特定领域或业务的模型。定制的模型如果通过预置吞吐量确保专用容量,就可以确保稳定的延迟和吞吐量。但专用容量并非始终必需,对于支持的模型,可以通过自定义模型的按需部署,在按使用量计费的状态下调用。也可以将在 SageMaker 中训练的自定义模型导入 Bedrock 使用,便于与现有 ML 工作流集成。
通过 Agents 和 SageMaker 协作构建应用程序
Bedrock Agents 是一种功能,它为基础模型赋予访问外部工具和数据源的能力,用于构建自主执行复杂任务的 AI 代理。代理理解自然语言的指示,分解任务,并自动执行所需的 API 调用和数据检索。例如,可以构建这样的代理:针对客户的咨询,从 CRM 系统获取客户信息,在订单管理系统中确认订单状态,并生成适当的回答。如果将 Lambda 函数定义为操作组,就可以将任意业务逻辑用作代理的工具。另外,这一初代 Bedrock Agents(现 Bedrock Agents Classic)已于 2026 年 7 月 30 日停止受理新客户。新的代理开发由后继的 Amazon Bedrock AgentCore 承接(截至 2026 年 8 月)。以下是定义 Bedrock Agent 操作组的 CloudFormation 示例。FoundationModel 中指定当时处于 Active 状态的模型 ID 或推理配置文件 ID。
Resources:
BedrockAgent:
Type: AWS::Bedrock::Agent
Properties:
AgentName: customer-support-agent
FoundationModel: jp.anthropic.claude-sonnet-4-5-20250929-v1:0
Instruction: "请作为客户支持代理处理咨询"
ActionGroups:
- ActionGroupName: OrderLookup
ActionGroupExecutor:
Lambda: !GetAtt OrderLookupFunction.Arn在与 SageMaker 的协作中,可以通过 Bedrock 的自定义模型导入功能导入在 SageMaker 中训练的专用模型,并通过 Bedrock 的 API 执行推理。通过 SageMaker 的 MLOps 管道将模型的训练 / 评估 / 部署自动化,并在 Bedrock 中集成到应用程序的混合架构,可以提高研发和生产运营两方面的效率。
Bedrock 的费用
Bedrock 的费用按每个模型的输入输出令牌数计费(截至 2026 年 8 月 / 美国西部(俄勒冈)区域)。例如,Amazon Nova 2.0 Lite 按需使用时,每 1,000 个输入令牌 0.00033 美元,每 1,000 个输出令牌 0.00275 美元。以 Anthropic Claude 为首的各提供商的模型每次世代更替时单价也会修订,因此请在 AWS 的 Bedrock 定价页面确认所采用模型的单价。将不在意延迟的处理交给批量推理,单价会下降(Nova 2.0 Lite 为输入 0.0001595 美元、输出 0.0013255 美元 / 1,000 令牌)。通过 Provisioned Throughput 预先确保模型单元,则会适用稳定的延迟和期限承诺的折扣价格。Guardrails 按策略计费,单位为每 1,000 个文本单元(1 个文本单元最多 1,000 个字符)。各策略的费用为:内容过滤器 0.15 美元、拒绝主题 0.15 美元、敏感信息过滤器 0.10 美元、上下文依据检查 0.10 美元、Automated Reasoning checks 0.17 美元。单词过滤器免费。Knowledge Bases 的向量化与检索以及向量存储本身的使用也会另外产生费用。
总结 - 生成式 AI 平台的选择
Amazon Bedrock 是可以通过统一的 API 使用多个基础模型的全托管生成式 AI 服务。Bedrock 通过 Knowledge Bases 实现 RAG 模式,通过 Guardrails 确保安全性,通过 Agents 自主执行任务,并通过与 SageMaker 的协作集成自定义模型。这些涵盖了构建企业级 AI 应用程序所需的功能。Bedrock 能够在避免锁定于模型提供商的同时,通过 AWS 的安全基础设施保护数据,对于考虑在生产环境中引入生成式 AI 的企业来说,是一个有力的平台。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。