在 Amazon Bedrock 中使用大型模型时,如何防止 Python 中的读取超时?

1 分钟阅读
0

我想避免在使用 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 秒)开始,然后调整此持续时间,直到不再出现超时错误为止。

AWS 官方
AWS 官方已更新 8 个月前