langchain BedrockChat正在使用GPT2 Tokenizer而不是LlamaTokenizer,

x6h2sr28  于 3个月前  发布在  其他
关注(0)|答案(1)|浏览(41)

检查其他资源

  • 我为这个问题添加了一个非常描述性的标题。
  • 我在集成搜索中搜索了LangChain文档。
  • 我使用GitHub搜索找到了一个类似的问题,但没有找到。
  • 我确信这是LangChain中的一个bug,而不是我的代码。
  • 通过更新到LangChain的最新稳定版本(或特定集成包)无法解决此bug。

示例代码

model_id = "meta.llama2-70b-chat-v1"
llm = BedrockChat(model_id=model_id, model_kwargs={"temperature": 0.5})
llm.get_num_tokens("this is a text")

错误消息和堆栈跟踪(如果适用)

'(MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /gpt2/resolve/main/tokenizer_config.json (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f55346aa800>, 'Connection to huggingface.co timed out. (connect timeout=10)'))"), '(Request ID: *****')' 在请求HEAD https://huggingface.co/gpt2/resolve/main/tokenizer_config.json时抛出,导致下载gpt2 tokenizer_config时出现错误。

描述

我发现BedrockChat在使用GPT2 Tokenizer而不是LlamaTokenizer作为meta.llama2-70b-chat-v1模型的元数据。
当我在一个网络隔离环境中使用Langchain时发现了这个问题,当时出现了这个错误,它试图下载gpt2 tokenizer_config。
网络错误本身并不是问题所在,而是BedRockChat在进行令牌计数时没有使用正确的令牌器。我执行的代码片段是这个。
我追溯到了父类BaseLanguageModel,并发现它实际上确实在使用GPT2 Tokenizer。

系统信息

!pip freeze | grep langchain

langchain==0.1.16
langchain-community==0.0.33
langchain-core==0.1.45
langchain-text-splitters==0.0.1
langchainplus-sdk==0.0.20

相关问题