Spaces:
Running
Running
File size: 1,168 Bytes
20f9f0c 6817ac7 20f9f0c a6fa6b2 20f9f0c 3b48617 776ea7e 20f9f0c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
from langchain_community.llms.huggingface_pipeline import HuggingFacePipeline
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline,BitsAndBytesConfig
# import accelerate
# import bitsandbytes
from langchain_core.prompts import PromptTemplate
quants = BitsAndBytesConfig(load_in_4bit=True)
model_id = "mistralai/Mistral-7B-Instruct-v0.2"
tokenizer = AutoTokenizer.from_pretrained(model_id,quantization_config=quants)
model = AutoModelForCausalLM.from_pretrained(model_id,quantization_config=quants)
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer,max_new_tokens=1000)
hf = HuggingFacePipeline(pipeline=pipe)
def generate_blog(role , words , topic):
template = ''' You are an expert Blog generator , Given the Topic , the intended audience and the maximum number of words ,
Write a blog on the given topic
Topic : {topic}
Intended Audince : {role}
Number of Words : {words}
Strictly return the output in a markdown format'''
prompt = PromptTemplate.from_template(template)
chain = prompt | hf
return chain.invoke({"topic": topic,"words":words,"role":role}) |