|
from langchain.prompts import PromptTemplate |
|
from langchain.chains import LLMChain |
|
from langchain.llms import HuggingFaceHub |
|
from .config import config |
|
from .prompts import prompts |
|
|
|
class LLM_chain: |
|
def __init__(self): |
|
self.llm = HuggingFaceHub( |
|
repo_id=config["model"], |
|
model_kwargs={"temperature": config["temperature"], "max_new_tokens": config["max_new_tokens"], "top_k": config["top_k"], "load_in_8bit": config["load_in_8bit"]}) |
|
|
|
def __call__(self, entity: str, id: int = 0): |
|
template = prompts[id]["prompt_template"] |
|
prompt = PromptTemplate(template=template, input_variables=["entity"]) |
|
llm_chain = LLMChain(prompt=prompt, llm=self.llm, verbose=True) |
|
output = llm_chain.invoke(entity) |
|
return output["text"] |