Views
No views yet
#This model is deprecated and requires older versions
pip install hqq==0.1.8
pip install transformers==4.46.01model_id = 'mobiuslabsgmbh/Llama-2-7b-chat-hf-4bit_g64-HQQ'
2from transformers import AutoTokenizer
3from hqq.models.hf.base import AutoHQQHFModel
4tokenizer = AutoTokenizer.from_pretrained(model_id)
5model = HQQModelForCausalLM.from_quantized(model_id)1model_id = 'mobiuslabsgmbh/Llama-2-7b-chat-hf-4bit_g64-HQQ'
2
3from transformers import AutoTokenizer
4from hqq.models.hf.base import AutoHQQHFModel
5tokenizer = AutoTokenizer.from_pretrained(model_id)
6model = HQQModelForCausalLM.from_quantized(model_id)
7
8##########################################################################################################
9import transformers
10from threading import Thread
11
12from sys import stdout
13def print_flush(data):
14 stdout.write("\r" + data)
15 stdout.flush()
16
17#Adapted from https://huggingface.co/spaces/huggingface-projects/llama-2-7b-chat/blob/main/app.py
18def process_conversation(chat):
19 system_prompt = chat['system_prompt']
20 chat_history = chat['chat_history']
21 message = chat['message']
22
23 conversation = []
24 if system_prompt:
25 conversation.append({"role": "system", "content": system_prompt})
26 for user, assistant in chat_history:
27 conversation.extend([{"role": "user", "content": user}, {"role": "assistant", "content": assistant}])
28 conversation.append({"role": "user", "content": message})
29
30 return tokenizer.apply_chat_template(conversation, return_tensors="pt").to('cuda')
31
32def chat_processor(chat, max_new_tokens=100, do_sample=True):
33 tokenizer.use_default_system_prompt = False
34 streamer = transformers.TextIteratorStreamer(tokenizer, timeout=10.0, skip_prompt=True, skip_special_tokens=True)
35
36 generate_params = dict(
37 {"input_ids": process_conversation(chat)},
38 streamer=streamer,
39 max_new_tokens=max_new_tokens,
40 do_sample=do_sample,
41 top_p=0.90,
42 top_k=50,
43 temperature= 0.6,
44 num_beams=1,
45 repetition_penalty=1.2,
46 )
47
48 t = Thread(target=model.generate, kwargs=generate_params)
49 t.start()
50
51 outputs = []
52 for text in streamer:
53 outputs.append(text)
54 print_flush("".join(outputs))
55
56 return outputs
57
58###################################################################################################
59
60outputs = chat_processor({'system_prompt':"You are a helpful assistant.",
61 'chat_history':[],
62 'message':"How can I build a car?"
63 },
64 max_new_tokens=1000, do_sample=False)