Bedrock Runtime: InvokeModelWithResponseStream, https response error StatusCode:...

2025年11月17日 20:28 状态: processing

🚨 错误信息

InvokeModelWithResponseStream: operation error Bedrock Runtime: InvokeModelWithResponseStream, https response error StatusCode: 400, RequestID: 9db7870a-aa6b-4af6-92da-cc02766a1478, ValidationException: ***.***.custom.input_examples: Extra inputs are not permitted (request id: 20251117202313735022317iJHViwC2) (request id: 2025111720230235456758fCbNP08U) (request id: 20251117202301977098771nt2OoPqp) (request id: 202511172022462034573156ST3qEkQ)

🤖 AI解决方案

代码报错分析报告

1. 错误翻译

原文:ValidationException: ***.***.custom.input_examples: Extra inputs are not permitted
译文:验证异常:***.***.custom.input_examples:不允许额外的输入

2. 原因分析

根本原因:您向 Bedrock Runtime 服务发送的请求中包含了超出预期或不允许的额外输入参数。

具体问题

  • 请求中的 input_examples 字段包含了系统不允许的额外参数

  • AWS Bedrock 服务验证了输入格式,发现与预期的 schema 不匹配

  • 这是一个请求参数验证错误,发生在 API 调用层面
  • 3. 解决方案

    # 修复后的 Bedrock 调用示例
    import boto3
    import json
    
    bedrock_runtime = boto3.client('bedrock-runtime')
    
    # 正确的请求体格式
    request_body = {
        "prompt": "您的提示词内容",
        "max_tokens": 100,
        # 仅包含必需的参数,移除额外的 input_examples
        # "input_examples": ...  # 移除这个字段或检查其格式
    }
    
    try:
        response = bedrock_runtime.invoke_model_with_response_stream(
            modelId='your-model-id',
            body=json.dumps(request_body)
        )
    except Exception as e:
        print(f"错误: {e}")

    修复步骤

  • 检查您发送给 Bedrock 的请求体结构

  • 移除 input_examples 字段或确保其格式符合规范

  • 验证所有输入参数是否都是模型支持的
  • 4. ️ 预防措施

    最佳实践建议:

  • 严格遵循API文档:在使用 AWS Bedrock 服务时,仔细阅读对应模型的输入输出格式要求
  • 验证请求参数:在发送请求前,使用 AWS 提供的 schema 验证工具检查参数格式
  • ️ 推荐工具:

  • 使用 AWS CLI 的 bedrock validate 命令预先验证请求格式
  • 启用 AWS CloudWatch Logs 来监控 Bedrock API 调用详情

---

关键提醒:此错误表明您的请求体格式不符合 Bedrock 服务的预期,请检查文档确认正确的参数结构。