Как использовать LLMChain с моделью llm, хранящейся на диске

Мне нужно использовать LLMChain с локально хранимой моделью. У меня есть код ниже.

      llm_chain = LLMChain(prompt=prompt, llm = HuggingFaceHub(repo_id="google/flan-t5-large", model_kwargs={..some params}))

Вместо repo_id мне нужно указать локальный путь. Посоветуйте, пожалуйста, как мне это обновить.

Спасибо

2 ответа

Это зависит от вашей модели, но вы можете загрузитьLlamaилиGPT4Allмодели с диска:

      from langchain.llms import LlamaCpp
llm = LlamaCpp(
    model_path="/Users/rlm/Desktop/Code/llama.cpp/models/openorca-platypus2-13b.gguf.q4_0.bin",
    n_gpu_layers=1,
    n_batch=512,
    n_ctx=2048,
    f16_kv=True,  
    callback_manager=CallbackManager([StreamingStdOutCallbackHandler()]),
    verbose=True,
)

Пример GPT4all:

      from langchain.llms import GPT4All
llm = GPT4All(model="/Users/rlm/Desktop/Code/gpt4all/models/nous-hermes-13b.ggmlv3.q4_0.bin")

вы можете построить цепочку, как в Hugginface, с local_files_only=True, вот пример:

      tokenizer = AutoTokenizer.from_pretrained(your_tokenizer)
model = AutoModelForCausalLM.from_pretrained(
    your_model_PATH,
    device_map=device_map,
    torch_dtype=torch.float16,
    max_memory=max_mem,
    quantization_config=quantization_config,
    local_files_only=True
)

Затем вы строите конвейер:

      pipe = pipeline(
    "text-generation",
    model              = model, 
    tokenizer          = tokenizer, 
    max_length         = 512,
    temperature        =   0.7,
    top_p              =   0.95,
    repetition_penalty =   1.15
)
local_llm = HuggingFacePipeline(pipeline=pipe)

Теперь вы можете передать конвейер в Langchain:

      llm_chain = LLMChain(prompt=prompt, llm=local_llm)
Другие вопросы по тегам