Как использовать 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)