本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
工作空间 () Anthropic-compatible
Amazon Bedrock Workspaces 使用终端节点上的 Anthropic-compatible 消息 API 为您的生成式 AI 工作负载提供应用程序级隔离。bedrock-mantle工作空间使您能够对 AI 应用程序进行细分,以进行成本跟踪、可观测性和访问控制。
提示
对于新应用程序,我们推荐使用bedrock-runtime终端节点。如果您不需要工作空间,可使用带有推理配置文件的 Converse 或 Inv oke API 进行隔离、标记和成本跟踪。bedrock-runtime
注意
工作空间只能用于支持bedrock-mantle端点上消息 API 的模型。要查看哪些模型支持消息 API,请参阅亚马逊 Bedrock 支持的 API。
如果您使用的是 OpenAI-compatible API(响应 API、聊天完成),请项目 (OpenAI-compatible)改用。
什么是工作空间?
工作空间是一种逻辑边界,用于在使用 Anthropic Messages API 时,在 Amazon Bedrock 中隔离应用程序、环境或实验等工作负载。工作空间与底层资源相同,项目 (OpenAI-compatible)它们使用项目 API 进行管理,并提供相同的功能:
-
成本监控:使用 AWS 标签和 AWS Cost Explorer 跟踪工作空间级别的支出
-
可观测性:跟踪每个工作空间的使用指标和模式,以进行监控和优化。
工作空间允许您在生产环境中管理多个生成式 AI 工作负载,无需创建单独的 AWS 账户或组织,从而降低运营复杂性,同时保持安全性和监管。
每个 AWS 账户都有一个默认工作空间(项目),所有推理请求都与之关联。您可以使用项目 API 创建其他工作区,并使用anthropic-workspace标头在消息 API 请求中引用它们。
何时使用工作区
当你需要时,你应该使用工作区:
-
按业务结构组织:根据您的组织分类法(例如业务单位、团队、应用程序或成本中心)管理 Amazon Bedrock 的使用情况
-
准确跟踪成本:监控并将 AI 支出分配给特定团队、项目或环境
-
强制执行访问策略:应用精细的 IAM 权限来控制谁可以访问特定的 AI 工作负载
-
扩展生产工作负载:在明确的操作边界和监控下运行多个生产应用程序
工作空间与项目
工作空间项目 (OpenAI-compatible)是相同的底层资源——两者都通过项目 API 进行管理。区别在于你在推理请求中如何引用它们,具体取决于你使用的 API:
| 功能 | Workspaces | Projects |
|---|---|---|
| 支持的 API | 人类消息 API | OpenAI-compatible API(响应、聊天完成) |
| 端点 | bedrock-mantle.{region}.api.aws/anthropic/v1/messages |
bedrock-mantle.{region}.api.aws/v1 |
| 标题 | anthropic-workspace: {project-id} |
OpenAI-Project: {project-id} |
| 管理 API | 项目 API | 项目 API |
| 访问控制 | 在 IAM 政策中将项目作为资源 | 在 IAM 政策中将项目作为资源 |
| 成本跟踪 | AWS 项目上的标签 | AWS 项目上的标签 |
工作区入门
本部分将引导您创建工作空间、将其与消息 API 请求关联以及验证您的设置。
先决条件
开始之前,请确保您已具备以下条件:
第 1 步:设置环境
使用您的亚马逊 Bedrock 凭证配置您的环境变量:
export BEDROCK_API_KEY="<your-bedrock-key>" export BEDROCK_REGION="us-east-1"
第 2 步:创建工作空间
工作空间是使用项目 API 创建的。使用名称和标签创建用于成本监控的工作空间(项目):
curl -X POST "https://bedrock-mantle.$BEDROCK_REGION.api.aws/v1/organization/projects" \ -H "Authorization: Bearer $BEDROCK_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Claude Chatbot Production", "tags": { "Application": "CustomerChatbot", "Environment": "Production", "Team": "NLPEngineering", "CostCenter": "41250" } }'
响应:
{ "arn": "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123def456", "created_at": 1772135628, "id": "proj_abc123def456", "name": "Claude Chatbot Production", "object": "organization.project", "status": "active", "tags": { "Application": "CustomerChatbot", "Environment": "Production", "Team": "NLPEngineering", "CostCenter": "41250" } }
注意该id字段 — 这是您在anthropic-workspace标题中传递的值。
第 3 步:将请求与您的工作空间关联起来
要将您的消息 API 请求与工作空间相关联,请在标anthropic-workspace头中添加项目 ID:
使用相同工作空间 ID 提出的所有推理请求都组合在一起,从而实现了每个工作空间的成本跟踪、访问控制和可观察性。
第 4 步:验证您的工作空间设置
列出所有工作空间(项目)以验证您的工作空间是否已成功创建:
curl -X GET "https://bedrock-mantle.$BEDROCK_REGION.api.aws/v1/organization/projects" \ -H "Authorization: Bearer $BEDROCK_API_KEY"
管理工作区
由于工作区是通过项目 API 管理的,因此所有项目管理操作都适用。有关以下内容处理 项目的详细说明,请参阅:
-
列出工作空间:检索您账户中的所有工作空间
-
检索详细信息:获取有关特定工作空间的信息
-
更新工作空间:修改工作空间名称或标签
-
管理标签:为成本分配添加或移除标签
-
存档工作空间:存档不再使用的工作空间
最佳实践
推荐的工作空间结构
每个应用程序一个工作区:为每个不同的应用程序或服务创建单独的工作区。
├── Claude-Chatbot-Production ├── Claude-Chatbot-Staging ├── Claude-Chatbot-Development ├── Claude-Summarizer-Production └── Claude-Summarizer-Development
-
单独的环境:为开发、暂存和生产环境使用不同的工作空间。
-
实验隔离:为实验和概念验证创建专用的工作空间。
工作空间生命周期管理
-
尽早创建工作空间:在部署应用程序之前设置工作区
-
使用一致的命名:遵循组织命名规范
-
成本分配标签:始终包含成本中心和团队标签
-
定期审计:定期审查和存档未使用的工作空间
-
监控使用情况:跟踪工作空间指标以确定优化机会