为您的用例选择一个 Bedrock 基础模型。
→长上下文推理 + 工具使用 → Claude (Sonnet/Opus)。成本优化聊天 → Claude Haiku 或 Titan Text Lite。代码 → Claude 或 Llama。嵌入 → Titan Embeddings V2 或 Cohere Embed。图像生成 → Titan Image, Stable Diffusion 或 Nova Canvas。具有自托管控制的开源模型 → Llama, Mistral 或自定义模型导入。
原因: 没有一个模型在成本、延迟、能力和许可条款方面都是最佳的。根据瓶颈匹配模型类别。
参考↗
知识库源是简短、独立的问题解答或产品说明(每个约 100-500 字)。
→使用默认令牌大小(300)和重叠(20%)进行固定大小分块。
原因: 独立单元不需要边界感知分块。固定大小最简单、最便宜。
参考↗
文档段落内有自然的主题切换;固定大小的分割会在思维中途打断句子。
→语义分块。Bedrock 知识库将嵌入相似的连续句子进行分组,并在意义边界处分割。
原因: 在分块内保留连贯的思想 → 更清晰的检索,更高的答案质量。
参考↗
包含章节间交叉引用的长篇技术手册;问题需要跨文档进行综合。
→分层分块。Bedrock 构建父(大)+ 子(小)分块;在子嵌入上进行检索,返回父上下文。
原因: 小分块提供精确检索;父上下文保留交叉引用和周围细节。
参考↗
源文件已预先分块,或每个文件刻意作为一个逻辑单元。
→不采用任何分块策略。每个文件在知识库中成为一个分块。
参考↗
PDF 源包含文本和图表;用户提出的问题需要理解图表。
→启用 Bedrock 知识库高级解析,使用基础模型(Claude/Nova)作为解析器。图表和表格通过视觉进行描述,然后嵌入。
原因: 默认解析仅支持文本。多模态解析在嵌入之前将视觉内容转换为描述性文本。
参考↗
选择 Titan Embeddings G1 还是 V2。
→V2 支持可配置维度(256/512/1024),并在多语言基准测试中优于 G1。G1 固定为 1536。对于存储受限或非英语用例选择 V2;G1 仅用于旧版兼容性。
参考↗
50万产品目录:短标题(50 字)+ 长规格(500 字)。优化搜索质量和成本。
→每个项目嵌入一次(组合字段或单独字段)。使用 Titan Embeddings V2 降低维度(256 或 512)以优化成本;使用相同的模型嵌入查询和文档。
原因: 混合嵌入模型或跳过标准化会破坏相似性搜索。降低维度可在边缘质量损失的情况下削减存储和查询成本。
参考↗
为 Bedrock 知识库选择一个向量存储。
→默认/最快设置 → Amazon OpenSearch Serverless(自动管理)。频繁模式更新 + 关系连接的亚毫秒级延迟 → 带有 pgvector 的 Aurora PostgreSQL。现有 Pinecone / MongoDB Atlas / Redis 客户 → 保持现有。小型知识库(<10K 文档)成本优化 → Aurora pgvector 或 Neptune Analytics。
原因: OpenSearch Serverless 是最省力的默认选项。当需要事务或元数据连接时,Aurora pgvector 更有优势。
参考↗
知识库返回语义相关的文档,但它们来自过时/错误区域的版本。
→向源文件添加元数据(`version`、`region`、`effective_date`),并通过 `retrievalConfiguration.vectorSearchConfiguration.filter` 在查询时应用元数据过滤器。
原因: 纯向量相似性忽略了新近度和权威性。元数据过滤在排名之前缩小了候选池。
参考↗
RAG 错过了包含精确标识符(SKU、错误代码、法规编号)的查询,因为语义搜索过度强调了意义相似的文本。
→在知识库上启用混合搜索(语义 + 关键词/BM25)。将向量相似性与用于 ID、代码和专有名称的词汇匹配结合起来。
参考↗
Top-k=5 检索到 5 个分块,但最相关的通常排在第 3 或第 4 位。
→将 `numberOfResults` 增加到 20,然后启用重排序模型(Cohere Rerank 或 Amazon Rerank)以按与原始查询的相关性重新排序。
原因: 嵌入相似性 ≠ 任务相关性。交叉编码器重排序器同时查看查询和分块,并进行精确评分。
参考↗
用户问题是对话式、多部分或包含代词/后续提问;知识库检索质量下降。
→启用 Bedrock 知识库查询重构。模型在检索之前将复杂查询重写为多个有重点的子查询。
参考↗
S3 源文档频繁更新;知识库必须始终反映最新版本而无需手动同步。
→通过 S3 事件通知 → EventBridge → StartIngestionJob 配置知识库数据源进行自动化同步,或使用知识库计划同步。避免依赖手动控制台的“同步”按钮。
参考↗
长文档问答模型在文档中间找到答案的问题上产生幻觉。
→不要在提示中传递完整文档——通过 RAG 进行分块 + 检索,以便只有相关的分块到达模型。如果完整文档是强制性的,请使用具有强大长上下文召回能力的模型(Claude Sonnet 200K)并将问题放在文档之后。
原因: 大多数 LLM 表现出“中间遗失”的召回退化。RAG 规避了这一点;当 RAG 不可用时,放置位置有所帮助。
选择满足质量标准的最低成本定制。
→按顺序尝试:(1) 提示工程,(2) RAG 与知识库,(3) 微调,(4) 持续预训练,(5) 自定义模型导入。在第一个满足标准的步骤停止。
原因: 每一步的努力和持续成本都在增加。微调 + Provisioned Throughput 比 RAG 昂贵得多。
参考↗
使用带标签的任务示例对 Bedrock 模型进行微调。
→S3 中的 JSONL 文件,每行一个示例:`{"prompt": "...", "completion": "..."}`(或模型系列对应的聊天格式)。
原因: 每个模型系列(Titan、Claude、Llama)都有特定的模式;在格式化之前检查模型的微调文档。
参考↗
使用大量未标记的领域文本将基础模型适应专业词汇(法律、医学、科学)。
→对未标记的领域语料库进行持续预训练。这与指令微调(需要提示-完成对)不同。
原因: 持续预训练更新语言理解;指令微调教授任务行为。不同的数据形态,不同的目标。
参考↗
用于微调的客户交互数据包含姓名、电子邮件、电话号码。
→在将训练数据集上传到 S3 之前,擦除或标记 PII。一旦权重吸收了 PII,输出过滤就无法可靠地对其进行掩盖。
原因: 微调模型可能会复述训练数据片段。在数据层进行擦除是唯一持久的缓解措施。
参考↗
引入一个自微调的 Llama 或 Mistral 模型,并通过 Bedrock 的统一 API 提供服务。
→自定义模型导入。将权重上传到 S3,向 Bedrock 注册,通过 Bedrock 运行时使用统一的 IAM 和日志进行调用。
原因: 允许您在自带权重上重用 Bedrock Guardrails、知识库和代理,而无需部署 SageMaker 端点。
参考↗
在生产环境中部署一个微调过的 Bedrock 模型。
→购买 Provisioned Throughput。自定义(微调、持续预训练、导入)模型无法按需调用。
参考↗
高流量 Claude 应用程序在高峰期达到每区域配额;需要在不购买 Provisioned Throughput 的情况下获得更高的吞吐量。
→跨区域推理配置文件。Bedrock 透明地将调用路由到多个区域,以提高有效 TPM/RPM 配额。
原因: 单区域按需配额在高峰期会达到上限;跨区域配置文件大致可以将配额倍增,除了使用推理配置文件 ARN 外,无需更改应用程序代码。
参考↗
部署在 us-east-1 的 Bedrock 应用程序上,APAC 用户遇到的延迟明显高于美国/欧盟用户。
→在 ap-northeast-1 / ap-southeast-1 / ap-south-1(模型已通用可用)部署区域性 Bedrock 端点。通过 Route 53 延迟或地理位置策略路由用户。
原因: 对于长上下文,LLM 往返时间占主导地位;跨太平洋 RTT 仅需 150-250 毫秒。
参考↗
受 HIPAA 监管的应用程序需要使用 Bedrock 总结 PHI。
→仅使用符合 HIPAA 资格的基础模型(根据 HIPAA 合格服务列表)。与 AWS 签署 BAA。使用客户管理的 KMS 密钥加密提示/响应。禁用模型调用日志记录,或将其范围限定为具有受限访问权限的私有 S3 存储桶。
参考↗
根据敏感度(公开/机密/受限)决定哪些数据可以流向 Bedrock。
→公开 → 不受限制。机密 → 仅通过 VPC 端点 + CMK + 私有存储桶中的调用日志。受限(商业秘密、受监管的 PHI/PCI)→ 完全阻止流向 Bedrock 或使用符合 Bedrock 资格的合规制度 + 在调用前进行 redaction。
多账户组织希望账户 A 在不复制权重的情况下与账户 B 共享自定义 Bedrock 模型。
→通过 AWS RAM 进行自定义模型共享。所有者共享自定义模型 ARN;消费者账户通过标准 Bedrock 运行时,使用资源策略上的跨账户 IAM 主体进行调用。
原因: 避免了冗余的微调成本并集中了模型生命周期。RAM 控制谁可以消费共享资源。
参考↗
需要标准 Bedrock 目录中没有的利基第三方模型(例如,医疗保健专用 LLM)。
→Amazon Bedrock Marketplace。从 Marketplace 目录订阅模型,部署到 Bedrock 端点,通过标准运行时 API 调用。
原因: 将第三方计费、IAM、KMS 和可观察性与第一方 Bedrock 模型统一起来。
参考↗
高容量搜索应用程序在每次查询刷新时重新嵌入相同的文档;嵌入成本占主导地位。
→在文档摄取时预计算嵌入,将向量存储在以文档 ID + 内容哈希为键的 DynamoDB 或 OpenSearch 中。仅当内容哈希更改时才重新嵌入。
原因: 重复嵌入相同的文本是最常见的可避免成本。哈希键缓存是 O(1) 跳过。
GDPR 在微调模型上的“被遗忘权”:用户请求从训练数据中删除其 PII。
→从训练语料库中删除记录,然后从头开始微调一个全新的基础模型。无法可靠地从现有权重中清除数据——输出过滤不足以达到目的。
原因: 一旦权重吸收了训练数据,推断时的掩码是不可靠的。可行的途径是在不包含受影响记录的情况下进行全面再训练。
共享知识库为多个团队提供服务;每个团队只能看到自己的文档。
→在摄取时为每个分块标记 `tenant_id` / `team_id` / `clearance` 元数据。在查询时将 `retrievalConfiguration.vectorSearchConfiguration.filter` 设置为调用者从 IAM 会话或应用程序上下文中允许的值。
原因: 向量相似性忽略访问控制;元数据过滤是共享知识库中每个租户持久隔离的唯一方法。
参考↗
欧盟客户要求提示和知识库嵌入永不离开 eu-west-1。
→在 eu-west-1 中部署 Bedrock + 知识库 + S3 源存储桶。通过范围限定为 eu-west-1 的推理配置文件 ARN 固定调用;对其他区域的 `bedrock:*` 使用 SCP `aws:RequestedRegion` 拒绝。
参考↗