AskYourVideo / utils /text_processing.py
MRuslanR's picture
Changed base prompt for Qwen
14183ba
from transformers import AutoModelForCausalLM, AutoTokenizer
def load_qwen_model():
model_name = "Qwen/Qwen2.5-1.5B-Instruct"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
return model, tokenizer
def generate_response(model, tokenizer, question, context):
prompt = f"Контекст: {context}\n\nВопрос: {question}\nОтвет:"
messages = [
{"role": "system", "content": "Вы - полезный помощник."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=8192
)
generated_ids = [
output_ids[len(input_ids):]
for input_ids, output_ids
in zip(model_inputs.input_ids, generated_ids)
]
return tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]