zman1x1's picture
fix: remove hardcoded cuda device map
44fd29d unverified
raw
history blame
2.39 kB
# Load model directly
from langchain.llms import HuggingFacePipeline
from transformers import (
AutoTokenizer,
AutoModelForSeq2SeqLM,
pipeline,
GenerationConfig
)
model_id = "MBZUAI/LaMini-Flan-T5-248M"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSeq2SeqLM.from_pretrained(model_id)
gen_config = GenerationConfig.from_pretrained(model_id)
class lamini:
def __init__(self) -> None:
pass
def load_model(
task="text2text-generation",
**kwargs
):
"""Returns a pipeline for the model
- model: MBZUAI/LaMini-Flan-T5-248M
Returns:
_type_: _description_
"""
max_length = kwargs.get("max_length", 512)
temperature = kwargs.get("temperature", 0)
top_p = kwargs.get("top_p", 0.95)
repetition_penalty = kwargs.get("repetition_penalty", 1.15)
pipe = pipeline(
"text2text-generation",
model=model,
tokenizer=tokenizer,
generation_config=gen_config,
max_length=max_length,
top_p=top_p,
temperature=temperature,
repetition_penalty=repetition_penalty,
)
llm = HuggingFacePipeline(pipeline=pipe)
return llm
class templates:
def summarize(self, text):
instructions = "summarize for better understanding: "
pipe = pipeline(
"text2text-generation",
model=model,
tokenizer=tokenizer,
max_length=400,
generation_config=gen_config,
temperature=0,
top_p=0.95,
repetition_penalty=1.15
)
return pipe(instructions + text)
def generate_title(self, text):
instructions = "generate a perfect title for the following text in 6 words: "
pipe = pipeline(
"text2text-generation",
model=model,
tokenizer=tokenizer,
max_length=60,
generation_config=gen_config,
temperature=0,
top_p=0.95,
repetition_penalty=1.15
)
return pipe(instructions + text)