Views
No views yet
Qwen/Qwen3-0.6B, дообученная (fine-tuned) с использованием метода LoRA на задачу анализа резюме на русском языке. Модель предназначена для извлечения ключевых навыков и квалификации из текстов резюме.Liza-06 отражает цель проекта - создать помощника для стартапа, специализирующегося на обработке резюме.1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
4
5# 1. Загрузите базовую модель и токенизатор
6base_model_name = "Qwen/Qwen3-0.6B"
7tokenizer = AutoTokenizer.from_pretrained(base_model_name)
8base_model = AutoModelForCausalLM.from_pretrained(
9 base_model_name,
10 torch_dtype=torch.bfloat16 if torch.cuda.is_available() and torch.cuda.is_bf16_supported() else torch.float16,
11 device_map="auto"
12)
13
14# 2. Загрузите обученные веса LoRA (этот репозиторий)
15lora_model_name = "your-username/liza-06-resume-russian" # Замените на ваше имя пользователя
16liza_model = PeftModel.from_pretrained(base_model, lora_model_name)
17liza_model.eval()
18
19# 3. Подготовьте входной текст
20test_resume = """Ваше тестовое резюме здесь..."""
21
22instruction = "Проанализируйте следующее резюме и выделите основные навыки и квалификацию кандидата."
23input_text = f"<|im_start|>user\n{instruction}\n\nРезюме:\n{test_resume}<|im_end|>\n<|im_start|>assistant\nОсновные навыки и квалификация:"
24
25# 4. Токенизируйте и сгенерируйте
26model_inputs = tokenizer([input_text], return_tensors="pt", truncation=True, max_length=2048).to(liza_model.device)
27
28with torch.no_grad():
29 generated_ids = liza_model.generate(
30 **model_inputs,
31 max_new_tokens=512,
32 do_sample=True,
33 temperature=0.7, # Рекомендовано для non-thinking mode Qwen3
34 top_p=0.8, # Рекомендовано для non-thinking mode Qwen3
35 top_k=20,
36 # presence_penalty=1.5, # Может помочь уменьшить повторы
37 )
38
39# 5. Декодируйте ответ
40output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
41response = tokenizer.decode(output_ids, skip_special_tokens=True).split("<|im_end|>")[0].strip()
42
43print("Анализ резюме:")
44print(response)
45
46