本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
工作空间 () Anthropic-compatible
Amazon Bedrock Workspaces 使用终端节点上的 Anthropic-compatible 消息 API 为您的生成式 AI 工作负载提供应用程序级隔离。bedrock-mantleWorkspaces 使您能够对 AI 应用程序进行细分,以实现成本跟踪、可观察性和访问控制。
注意
工作空间只能与在bedrock-mantle端点上支持消息 API 的模型一起使用。要查看哪些型号支持消息 API,请参阅Amazon Bedrock 支持的 API。
如果您使用的是 OpenAI-compatible API(响应 API、聊天完成),请项目 (OpenAI-compatible)改用。
什么是工作空间?
工作区是一个逻辑边界,用于在使用 Anthropic Messages API 时在 Amazon Bedrock 中隔离应用程序、环境或实验等工作负载。工作空间与底层资源相同项目 (OpenAI-compatible),它们使用 Projects API 进行管理,并提供相同的功能:
-
访问隔离:使用 Amazon Bedrock Projects 的 IAM 策略控制谁可以访问特定的工作空间资源
-
成本监控:使用 AWS 标签和 AWS Cost Explorer 跟踪工作空间级别的支出
-
可观察性:跟踪每个工作空间的使用指标和模式,以进行监控和优化。
Workspaces 允许您在生产环境中管理多个生成式 AI 工作负载,无需创建单独的 AWS 账户或组织,从而降低运营复杂性,同时保持安全性和治理。
每个 AWS 账户都有一个默认的工作空间(项目),所有推理请求都与之关联。您可以使用 Projects API 创建其他工作空间,并使用anthropic-workspace标头在消息 API 请求中引用它们。
何时使用工作区
当你需要执行以下操作时,你应该使用工作区:
-
按业务结构整理:根据您的组织分类(例如业务部门、团队、应用程序或成本中心)管理 Amazon Bedrock 的使用情况
-
准确跟踪成本:监控人工智能支出并将其分配给特定团队、项目或环境
-
强制执行访问策略:应用精细的 IAM 权限来控制谁可以访问特定 AI 工作负载
-
扩展生产工作负载:在明确的运营界限和监控的情况下运行多个生产应用程序
工作空间与项目
工作空间和项目 (OpenAI-compatible)是相同的底层资源,两者都通过 Projects 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 项目上的标签 |
工作空间入门
本部分将指导您创建工作空间、将其与 Messages API 请求关联以及验证您的设置。
先决条件
在开始之前,请确保您满足以下条件:
第 1 步:设置环境
使用您的 Amazon 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:将请求与您的工作区关联
要将您的 Messages 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"
管理工作空间
由于工作区是通过 Projects API 管理的,因此所有项目管理操作都适用。有关以下处理 项目内容的详细说明,请参阅:
-
列出工作空间:检索您账户中的所有工作空间
-
检索详细信息:获取有关特定工作空间的信息
-
更新工作空间:修改工作空间名称或标签
-
管理标签:添加或移除标签以进行成本分配
-
存档工作空间:存档不再使用的工作空间
最佳实践
推荐的工作区结构
每个应用程序一个工作区:为每个不同的应用程序或服务创建单独的工作区。
├── Claude-Chatbot-Production ├── Claude-Chatbot-Staging ├── Claude-Chatbot-Development ├── Claude-Summarizer-Production └── Claude-Summarizer-Development
-
单独的环境:为开发、暂存和生产环境使用不同的工作空间。
-
实验隔离:创建用于实验和概念验证的专用工作空间。
工作空间生命周期管理
-
尽早创建工作空间:在部署应用程序之前设置工作空间
-
使用一致的命名:遵循组织命名惯例
-
成本分配标签:始终包括成本中心和团队标签
-
定期审计:定期审查和存档未使用的工作空间
-
监控使用情况:跟踪工作空间指标以确定优化机会