主题
LlamaCloud 支持通过 AWS Bedrock 访问 Anthropic Claude 模型,作为其多模态 AI 能力的一部分。AWS Bedrock 提供企业级的访问方式,带来更强的安全、合规以及与 AWS 生态的集成。本页指导你为自托管的 LlamaCloud 部署配置 AWS Bedrock 集成。
前置条件
一个有效的 AWS 账号
在你所在地域已启用 AWS Bedrock 访问
所支持模型的访问权限与配额:
供 LlamaParse 高级能力使用:
- Anthropic Claude 3.5 Sonnet (
anthropic.claude-3-5-sonnet-20240620-v1:0)(已弃用) - Anthropic Claude Sonnet 4.5 (
anthropic.claude-sonnet-4-5-20250929-v1:0)
- Anthropic Claude 3.5 Sonnet (
供 LlamaCloud Playground 使用:
- Cohere Rerank 3.5(可选)
环境变量
基本配置
AWS_ACCESS_KEY_ID—— AWS access key IDAWS_SECRET_ACCESS_KEY—— AWS secret access keyAWS_REGION—— AWS 地域(例如us-east-1)PREFERED_PREMIUM_MODE_MODEL—— 覆盖 premium_mode 所使用的模型。
配置
从下面两种方式中选一种来配置 AWS Bedrock 集成:
方式一:为服务账号使用 IAM Role(推荐)
这种方式用 AWS IAM 角色做安全的、无需内置凭据的认证。
第 1 步:创建 IAM Policy
创建一份含下列权限的 IAM policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream",
"bedrock:CreateModelInvocationJob",
"bedrock:ListInferenceProfiles"
],
"Resource": [
"arn:aws:bedrock:*:*:foundation-model/*",
"arn:aws:bedrock:*:*:inference-profile/*"
]
}
]
}第 2 步:创建 IAM Role
- 为 EKS 服务账号创建一个 IAM role
- 把该 policy 附加给这个角色
- 为你的 EKS 集群配好信任关系
第 3 步:配置 Helm values
temporalWorkloads:
llamaParse:
serviceAccountAnnotations:
eks.amazonaws.com/role-arn: "arn:aws:iam::ACCOUNT-ID:role/ROLE-NAME"第 4 步:设定模型 ID 或推理配置 ID(可选)
用 config.llms.providerConfigs 里的 provider_model_name 来精确选定某个 Bedrock 模型 ID 或推理配置(inference profile)ID。不写 credentials 时,就沿用该部署已配好的 Bedrock 凭据(包括它的 IAM role):
config:
llms:
providerConfigs:
- provider: bedrock
model_id: anthropic-sonnet-4.5
provider_model_name: "us.anthropic.claude-sonnet-4-5-20250929-v1:0"
priority: 200完整配置说明见 AWS EKS 的 IAM Roles for Service Accounts 文档。
方式二:使用静态 AWS 凭据
第 1 步:创建 Kubernetes Secret
apiVersion: v1
kind: Secret
metadata:
name: aws-bedrock-credentials
type: Opaque
stringData:
AWS_ACCESS_KEY_ID: "AKIA..."
AWS_SECRET_ACCESS_KEY: "your-secret-key"
AWS_REGION: "us-east-1"
PREFERED_PREMIUM_MODE_MODEL: "anthropic-sonnet-4.5"第 2 步:配置 Helm values
# External Secret
config:
llms:
awsBedrock:
secret: "aws-bedrock-credentials"
# or direct configuration (not recommended for production)
config:
llms:
awsBedrock:
region: "us-east-1"
accessKeyId: "AKIA..."
secretAccessKey: "your-secret-key"
providerConfigs:
- provider: bedrock
model_id: anthropic-sonnet-4.5
provider_model_name: "us.anthropic.claude-sonnet-4-5-20250929-v1:0"
priority: 200AWS Bedrock 的推理配置(Inference Profiles)
AWS Bedrock 的推理配置提供了跨地域路由模型请求、以及成本追踪等增强能力。某些较新的 Anthropic 模型必须用推理配置,而不能直接用模型 ID。
何时使用推理配置
- 某些模型必须用它:依模型与地域不同,你可能需要用推理配置而不是直接的模型 ID
- 更多信息见 AWS 推理配置支持文档
- 跨地域路由:在多个地域之间自动路由请求,以提升可用性
- 成本追踪:为应用提供细粒度的用量与成本追踪
- 更强的可靠性:更好的容错与可用性。
推理配置 ID 的格式
推理配置 ID 采用带地域前缀的格式:
- Claude Sonnet 4.5:
us.anthropic.claude-sonnet-4-5-20250929-v1:0
到哪里找推理配置 ID
- 进入 Amazon Bedrock 控制台
- 走到 Inference and Assessment → Cross-region Inference
- 复制你所选模型的 Inference Profile ID
使用推理配置的配置方式
把推理配置 ID 作为 config.llms.providerConfigs 里的 provider_model_name 使用:
config:
llms:
providerConfigs:
- provider: bedrock
model_id: anthropic-sonnet-4.5
provider_model_name: "us.anthropic.claude-sonnet-4-5-20250929-v1:0"
priority: 200验证
配置完成后,请这样验证你的 AWS Bedrock 集成:
- 查看管理界面:确认 Claude 模型出现在 LlamaCloud 管理界面里
- 测试功能:上传一份文档并使用高级解析模式
故障排查
常见问题
访问被拒
Error: User is not authorized to perform bedrock:InvokeModel解决办法:
- 确认 IAM 权限包含了全部所需动作
- 检查资源 ARN 是否同时覆盖了基础模型(foundation models)与推理配置
- 确认该角色已正确附加到服务账号上(走 IRSA 时)
找不到模型
Error: Could not resolve foundation model from model identifier解决办法:
- 确认模型 ID 或推理配置 ID 无误
- 检查该模型在你的 AWS 地域是否可用
- 改用推理配置 ID 代替直接的模型 ID
按需(On-Demand)吞吐量报错
Error: On-demand throughput is not supported for this model解决办法:
- 这通常意味着该模型需要用一个推理配置
- 改用推理配置 ID 的格式
- 到 Bedrock 控制台核对正确的推理配置 ID
地域问题
Error: Model not available in region解决办法:
- 查看模型在你指定的 AWS 地域是否可用
- 考虑换到该模型可用的地域
- 用跨地域推理配置来获得更好的可用性
配额超限
Error: Throttling exception or quota exceeded解决办法:
- 在 AWS 控制台查看你的 Bedrock 配额
- 需要时申请提额
- 在你的应用里做好请求节流
排查步骤
直接测试 AWS 凭据:
终端窗口
aws bedrock list-foundation-models --region us-east-1测试一次模型调用:
终端窗口
aws bedrock-runtime invoke-model \ --model-id us.anthropic.claude-sonnet-4-6 \ --body '{"messages":[{"role":"user","content":[{"type":"text","text":"Hello"}]}],"max_tokens":100,"anthropic_version":"bedrock-2023-05-31"}' \ --cli-binary-format raw-in-base64-out \ output.json核对服务账号注解(走 IRSA 时):
终端窗口
kubectl describe serviceaccount llamacloud-llamaparse检查 secret 是否已挂载:
终端窗口
kubectl describe pod <pod-name> | grep -A 20 Environment