"非基础模型"(non-foundation model)是指那些不是基于Foundation模型的模型。在您的情况下,当您尝试使用新的Claude 3.5 Sonnet模型时,它会抛出一个错误,因为这个模型不是基于Foundation模型的。
要解决这个问题,您需要为context_size
参数提供一个值。context_size
参数表示用于生成文档嵌入的上下文大小。您可以尝试设置一个合适的值,例如1024或2048。以下是修改后的代码:
Bedrock(
model="anthropic.claude-3-5-sonnet-20240620-v1:0",
aws_access_key_id=bedrock_access_key_id,
aws_secret_access_key=bedrock_secret_access_key,
temperature=0,
region_name=bedrock_region,
context_size=1024 # 或者尝试设置为2048
)
如果仍然出现错误,请确保您的模型名称和版本是正确的,并检查您的AWS凭据是否有效。
5条答案
按热度按时间sh7euo9m1#
你好!我在这里帮助你解决任何错误、问题或贡献。让我们一起解决这个问题。
要解决在AWS Lambda函数中使用Bedrock模型从Claude 3 Sonnet切换到Claude 3.5 Sonnet时出现的
context_size
错误,你需要确保为模型设置正确的上下文大小。anthropic.claude-3-sonnet-20240229-v1:0
和anthropic.claude-3-5-sonnet-20240620-v1:0
的上下文大小都是200,000。以下是获取模型上下文大小的相关代码片段:
你可以使用此函数为
anthropic.claude-3-5-sonnet-20240620-v1:0
设置上下文大小:确保你的AWS Lambda函数在使用此上下文大小时配置模型。此外,在初始化
Bedrock
类时,请确保正确传递context_size
参数:这将确保在你的AWS Lambda函数中正确设置和使用
context_size
。LlamaIndex框架中的Bedrock
类有一个需要适当设置的context_size
参数,以避免出现1(https://github.com/run-llama/llama_index/blob/main/llama-index-integrations/llms/llama-index-llms-bedrock-converse/llama_index/llms/bedrock_converse/utils.py)2(https://github.com/run-llama/llama_index/blob/main/llama-index-legacy/llama_index/legacy/llms/bedrock.py)3(https://github.com/run-llama/llama_index/blob/main/llama-index-integrations/llms/llama-index-llms-bedrock/llama_index/llms/bedrock/base.py)错误。cl25kdpy2#
这个错误不是来自我们的代码,而是来自基岩。至于它到底意味着什么,我也不知道。我的猜测是,你应该提供完整的上下文窗口大小(200000个像素?)。
bihw5rsg3#
Bedrock(...., context_window=200000)
5fjcxozz4#
在添加了上下文大小参数(值为200000)后,一切开始正常工作,但我仍然看不到机器人建议的代码:没有bedrock_modelname_to_context_size函数,也没有BEDROCK_MODELS属性。这些建议是指旧代码还是新版本?
ca1c2owp5#
你好@Breamer,你通过llama index运行了claude sonnet模型吗?它是否正常工作?
你能提供给我提示结构吗?