ValueError:Tokenizer 类 LlamaTokenizer 不存在或当前未导入

Qui*_*ten 4 python huggingface-transformers huggingface llama

我正在尝试运行这个Hugging Face 博客中的代码。起初,我无法访问模型,所以这个错误:OSError: meta-llama/Llama-2-7b-chat-hf is not a localfolder,现在已解决,我从 Hugging Face 创建了一个有效的访问令牌。现在,我在运行以下代码时遇到不同的错误:

from transformers import AutoTokenizer
import transformers
import torch

model = "meta-llama/Llama-2-7b-chat-hf"

tokenizer = AutoTokenizer.from_pretrained(model, use_auth_token=True)
pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    torch_dtype=torch.float16,
    device_map="auto",
)

sequences = pipeline(
    'I liked "Breaking Bad" and "Band of Brothers". Do you have any recommendations of other shows I might like?\n',
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
    max_length=200,
)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")
Run Code Online (Sandbox Code Playgroud)

错误:

ValueError: Tokenizer class LlamaTokenizer does not exist or is not currently imported.
Run Code Online (Sandbox Code Playgroud)

该错误与以下错误不同:ImportError: Cannot import name 'LLaMATokenizer' from 'transformers',因为现在它是一个 valueerror。为了确保我使用正确的版本,我运行以下代码:

pip install git+https://github.com/huggingface/transformers
Run Code Online (Sandbox Code Playgroud)

之后我检查了这个问题ValueError: Tokenizer class LLaMATokenizer does not exit or is not current import。第22222 章 这表明:

将 tokenizer_config.json 中的 LLaMATokenizer 更改为小写 LlamaTokenizer,它的工作方式就像一个魅力。

因此,我检查了文件是否正在使用LLamaTokenizer而不是像LlamaTokenizer这里的示例(这是文件中的类):

class LlamaTokenizer(PreTrainedTokenizer):
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有人知道如何修复这个错误?

Hea*_*ify 7

只需运行以下命令就可以了。它将升级您的库并自动为您transformers拉取最新版本tokenizers

pip install --upgrade transformers