我想避免在使用 Amazon Bedrock 生成文本时出现读取超时错误。
简短描述
有时,当您使用 Amazon Bedrock 的大型语言模型生成文本时,会出现读取超时错误。当 Python boto3 客户端查询大型语言模型但在 botocore 的默认读取超时期限内没有收到响应时,就会出现此错误。要解决读取超时错误,请增加读取超时时间
解决方法
用于增加客户端读取超时值的示例代码:
from boto3 import client
from botocore.config import Config
config = Config(read_timeout=1000)
client = client(service_name='bedrock-runtime',
config=config)
如果您使用诸如 LangChain 之类的第三方库,请先使用 botocore 配置实例化 boto3 客户端。然后,将其作为客户端参数传递给可调用模型类。
用于将 boto3 客户端传递给第三方库时增加读取超时值的示例代码。
from boto3 import client
from botocore.config import Config
from langchain_community.llms import Bedrock
config = Config(read_timeout=1000)
client = client(service_name='bedrock-runtime',
config=config)
llm = Bedrock(model_id="anthropic.claude-v2:1",
client=client)
前面的示例显示读取超时时间设置为 1000 秒。读取超时期限用于指定 botocore 在引发读取超时异常之前等待服务器响应的时间。
**注意:**诸如 Anthropic Claude Opus 之类的大型模型可能需要超过 60 秒才能返回响应。
最佳实践
将读取超时时间设置为足够长以允许您的查询完成。从较大的值(例如 1000 秒)开始,然后调整此持续时间,直到不再出现超时错误为止。