Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

AWS Bedrock

前往 AWS docs 注册 AWS 并设置您的凭据。

您还需要为您的账户开启模型访问权限,您可以按照这些说明进行操作。

身份验证

始终设置 LibreChat 应使用的 Bedrock 区域:

BEDROCK_AWS_DEFAULT_REGION=us-east-1

LibreChat 支持以下用于 Bedrock 的身份验证方法。

AWS profile

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_PROFILE=your-profile-name

当您已经在 ~/.aws/config~/.aws/credentials 中拥有凭证,或者您的配置文件使用了 AWS IAM Identity Center、角色扮演 (role assumption) 或 credential_process 时,请使用此选项。

BEDROCK_AWS_PROFILE 是一个 LibreChat 特有的设置,它将选定的 profile 传递给 Bedrock 的 AWS SDK 凭证提供程序链。这会将 profile 的选择范围限定在 Bedrock,而不会更改其他集成所使用的凭证。AWS 标准的 AWS_PROFILE 环境变量仍然受 AWS SDK 默认提供程序链的支持。

如果您的配置文件使用了 credential_process,请确保 AWS 配置文件和辅助命令的安全性。AWS 警告称,写入 stderr 的密钥材料可能会被 SDK 和工具捕获或记录。

默认 AWS 凭证提供程序链

您可以省略 Bedrock 特定的凭证和配置文件设置,让 AWS SDK for JavaScript 自动解析凭证:

BEDROCK_AWS_DEFAULT_REGION=us-east-1

对于使用 IAM 角色或其他 AWS 原生短期凭证来源的部署,这是首选方法。SDK 会按优先级顺序检查受支持的凭证提供程序,并在找到第一个有效凭证时停止。常见来源包括环境变量、IAM Identity Center/SSO、共享配置和凭证文件、Web 身份、ECS 容器凭证、EC2 实例元数据以及进程凭证。

例如,如果设置了 AWS 标准的 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY,这些凭证的优先级可能会高于 ~/.aws/credentials~/.aws/config 中基于配置文件的凭证。

Bedrock API key

Amazon Bedrock API 密钥使用 bearer auth 而非 SigV4 签名的 AWS 凭证来验证 Bedrock 调用。在 LibreChat 中,请使用 Bedrock 范围的环境变量进行配置:

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_BEARER_TOKEN=your_bedrock_api_key

BEDROCK_AWS_BEARER_TOKEN 是 LibreChat 特有的。AWS 文档和原始的 AWS SDK/CLI 示例使用 AWS 标准的 AWS_BEARER_TOKEN_BEDROCK 环境变量,但 LibreChat 特意使用了以 Bedrock 为作用域的名称,以便该令牌仅影响 Bedrock endpoint 配置。LibreChat 将此值作为 bearer 认证传递给 AWS SDK。

若要允许用户从 LibreChat UI 提供他们自己的 Bedrock API key,请设置:

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_BEARER_TOKEN=user_provided

短期 Bedrock API 密钥继承了用于生成它们的 AWS 主体的权限,仅在生成它们的 AWS 区域内有效,且有效期不超过 12 小时或源会话的过期时间。长期 Bedrock API 密钥仅建议用于探索和开发。请参阅 AWS 文档以了解使用 Bedrock API 密钥生成 Bedrock API 密钥的相关信息。

静态 Bedrock 凭据

仅在配置文件或 IAM 角色不适用时,才使用静态的 Bedrock 特定环境变量:

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_ACCESS_KEY_ID=your_access_key_id
BEDROCK_AWS_SECRET_ACCESS_KEY=your_secret_access_key
# BEDROCK_AWS_SESSION_TOKEN=your_session_token

如果设置了 BEDROCK_AWS_ACCESS_KEY_IDBEDROCK_AWS_SECRET_ACCESS_KEY,LibreChat 会将它们直接传递给 Bedrock 客户端。这两个变量必须同时提供,且它们的优先级高于 BEDROCK_AWS_PROFILE 以及 Bedrock 的 SDK 默认提供程序链。

如果设置了 BEDROCK_AWS_BEARER_TOKEN,LibreChat 将使用 bearer 认证来连接 Bedrock,而不是使用静态凭据、BEDROCK_AWS_PROFILE 或 SDK 默认的提供程序链。

有关 AWS 凭证行为的详细信息,请参阅 AWS SDK for JavaScript 凭证提供程序链AWS SDKs and Tools 设置参考 以及 AWS credential_process 安全说明

配置模型

  • 您可以选择性地通过 BEDROCK_AWS_MODELS 指定您想要启用的模型:
BEDROCK_AWS_MODELS=anthropic.claude-fable-5,anthropic.claude-opus-4-8,anthropic.claude-opus-4-7,anthropic.claude-sonnet-4-6,meta.llama3-1-8b-instruct-v1:0

注意:如果省略,所有已知且受支持的模型 ID 将被自动包含。

额外配置

您可以在 librechat.yaml 文件中进一步配置 Bedrock endpoint:

endpoints:
  bedrock:
    availableRegions:
      - 'us-east-1'
      - 'us-west-2'
    streamRate: 35
    titleModel: 'anthropic.claude-3-haiku-20240307-v1:0'
    guardrailConfig:
      guardrailIdentifier: 'abc123xyz'
      guardrailVersion: '1'
      trace: 'enabled'
      streamProcessingMode: 'sync'
  • streamRate: (可选) 设置处理每个新 token 的速率(以毫秒为单位)。

    • 这有助于稳定并发请求的处理,并提供更流畅的前端流式渲染。
  • titleModel: (可选) 指定用于生成对话标题的模型。

    • 推荐:anthropic.claude-3-haiku-20240307-v1:0
    • 省略或设置为 current_model 以使用与聊天相同的模型。
  • availableRegions: (可选) 指定您想要启用的 AWS 区域。

    • 如果提供了该选项,用户将看到一个用于选择区域的下拉菜单。如果未进行选择,则使用默认区域。
    • image
  • guardrailConfig: (可选)配置 AWS Bedrock Guardrails 以进行内容过滤。

    • guardrailIdentifier: 来自您的 AWS Bedrock 控制台的 Guardrail ID 或 ARN。
    • guardrailVersion: 安全护栏版本号(例如 "1")或 "DRAFT"
    • trace: (可选) 启用跟踪日志:"enabled""disabled""enabled_full"
    • streamProcessingMode: (可选) 设置流处理模式:"sync""async" (默认为 "sync")。
    • 请参阅 AWS Bedrock Guardrails documentation 以了解如何创建和管理 guardrails。

Inference Profiles

AWS Bedrock 推理配置文件(inference profiles)允许您为基础模型创建自定义路由配置,从而实现跨区域负载均衡、成本分配和合规性控制。您可以在 librechat.yaml 中将模型 ID 映射到自定义推理配置文件的 ARN:

endpoints:
  bedrock:
    inferenceProfiles:
      'us.anthropic.claude-3-7-sonnet-20250219-v1:0': '${BEDROCK_CLAUDE_37_PROFILE}'

有关创建配置文件、配置 LibreChat、设置日志记录以及故障排除的完整指南,请参阅 Bedrock Inference Profiles

有关 YAML 字段参考,请参阅 AWS Bedrock 对象结构

文档上传

Bedrock 支持通过文件附件下拉菜单中的 Upload to Provider 选项将文档直接上传至提供商。文档将作为原生文档附件发送至 Bedrock Converse API。

支持的格式: PDF, CSV, DOC, DOCX, XLS, XLSX, HTML, TXT 和 Markdown (.md)

局限性:

  • 每个文档的最大文件大小:4.5 MB
  • 文件名会自动进行清理,以符合 Bedrock 的命名要求(仅限字母数字、空格、连字符、圆括号、方括号;最大长度 200 个字符)

有关文件上传选项的更多信息,请参阅 OCR for Documents 文档。

注意事项

  • 由于缺乏流式传输能力,以下模型不受支持:

    • ai21.j2-mid-v1
  • 由于不支持对话历史记录,因此不支持以下模型:

    • ai21.j2-ultra-v1
    • cohere.command-text-v14
    • cohere.command-light-text-v14
  • AWS Bedrock endpoint 支持通过 librechat.yaml 配置文件使用所有 Shared Endpoint Settings,包括 streamRatetitleModeltitleMethodtitlePrompttitlePromptTemplatetitleEndpoint

这篇指南怎么样?