AWS Bedrock
前往 AWS docs 注册 AWS 并设置您的凭据。
您还需要为您的账户开启模型访问权限,您可以按照这些说明进行操作。
身份验证
始终设置 LibreChat 应使用的 Bedrock 区域:
LibreChat 支持以下用于 Bedrock 的身份验证方法。
AWS profile
当您已经在 ~/.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 自动解析凭证:
对于使用 IAM 角色或其他 AWS 原生短期凭证来源的部署,这是首选方法。SDK 会按优先级顺序检查受支持的凭证提供程序,并在找到第一个有效凭证时停止。常见来源包括环境变量、IAM Identity Center/SSO、共享配置和凭证文件、Web 身份、ECS 容器凭证、EC2 实例元数据以及进程凭证。
例如,如果设置了 AWS 标准的 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY,这些凭证的优先级可能会高于 ~/.aws/credentials 或 ~/.aws/config 中基于配置文件的凭证。
Bedrock API key
Amazon Bedrock API 密钥使用 bearer auth 而非 SigV4 签名的 AWS 凭证来验证 Bedrock 调用。在 LibreChat 中,请使用 Bedrock 范围的环境变量进行配置:
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 API 密钥继承了用于生成它们的 AWS 主体的权限,仅在生成它们的 AWS 区域内有效,且有效期不超过 12 小时或源会话的过期时间。长期 Bedrock API 密钥仅建议用于探索和开发。请参阅 AWS 文档以了解使用 Bedrock API 密钥和生成 Bedrock API 密钥的相关信息。
静态 Bedrock 凭据
仅在配置文件或 IAM 角色不适用时,才使用静态的 Bedrock 特定环境变量:
如果设置了 BEDROCK_AWS_ACCESS_KEY_ID 和 BEDROCK_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指定您想要启用的模型:
注意:如果省略,所有已知且受支持的模型 ID 将被自动包含。
-
Bedrock 上的 Claude Fable/Mythos 类模型仅支持推理配置(inference-profile)。请使用诸如
us.anthropic.claude-fable-5的配置 ID,并在调用它们之前在 Bedrock 控制台或数据保留 API(Data Retention API)中启用 Anthropic 数据共享。 -
在此处查看所有 Bedrock 模型 ID:
额外配置
您可以在 librechat.yaml 文件中进一步配置 Bedrock endpoint:
-
streamRate: (可选) 设置处理每个新 token 的速率(以毫秒为单位)。- 这有助于稳定并发请求的处理,并提供更流畅的前端流式渲染。
-
titleModel: (可选) 指定用于生成对话标题的模型。- 推荐:
anthropic.claude-3-haiku-20240307-v1:0。 - 省略或设置为
current_model以使用与聊天相同的模型。
- 推荐:
-
availableRegions: (可选) 指定您想要启用的 AWS 区域。- 如果提供了该选项,用户将看到一个用于选择区域的下拉菜单。如果未进行选择,则使用默认区域。
-
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:
有关创建配置文件、配置 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,包括streamRate、titleModel、titleMethod、titlePrompt、titlePromptTemplate和titleEndpoint。
这篇指南怎么样?