Bedrock Runtime: InvokeModelWithResponseStream, https response error StatusCode:...
🚨 错误信息
🤖 AI解决方案
错误翻译
原文:ValidationException: invalid beta flag
译文:验证异常:无效的beta标志
2. 原因分析
此错误发生在调用 AWS Bedrock 的 InvokeModelWithResponseStream 操作时。根本原因是请求中包含了一个无效或未被识别的 beta标志。
AWS Bedrock 的某些模型或功能(特别是处于测试阶段的功能)要求在 API 请求中显式传入一个特定的 beta 标志。您可能在请求的 body 或 headers 中设置了一个错误的标志名称、值,或者使用了一个已过期的测试版标识。
解决方案
请查阅您正在调用的 具体模型的AWS官方API文档,确认是否需要以及如何设置 beta 标志。通常需要在请求体(JSON)中添加类似
"anthropic-beta": "header-name-beta" 的键值对。 例如,假设根据文档需要设置一个名为 anthropic-beta 的头信息,您的请求代码可能需要调整为:
python
import boto3
import json client = boto3.client("bedrock-runtime")
# 构造请求体,注意在适当位置加入beta标志
request_body = {
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
# 关键:根据文档添加正确的beta标志
"anthropic_beta": ["header-name-beta"],
"messages": [{"role": "user", "content": "Hello"}]
}
response = client.invoke_model_with_response_stream(
modelId="anthropic.claude-v2:1", # 替换为你的模型ID
contentType="application/json",
accept="application/json",
body=json.dumps(request_body)
)
如果您不确定是否需要该标志,可以尝试将其移除,看看请求是否能成功(前提是模型本身不强制要求)。仔细检查您的请求构建代码,找到并删除
beta 相关的字段。确认您调用的
modelId 和 API 端点是正确的、当前可用的版本。测试阶段的端点或模型标识可能会发生变化。