import torchfrom transformers import AutoTokenizer, AutoModelForSequenceClassification, BitsAndBytesConfigfrom peft import PeftModel, PeftConfig path = 'AIPsy/qwen3-8b-therapist-intent-classification-ru-9'config = PeftConfig.from_pretrained(path) # tokenizertokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)tokenizer.pad_token = tokenizer.eos_token # qunatization configquantization_config = BitsAndBytesConfig( load_in_4bit = True, bnb_4bit_quant_type = 'nf4', bnb_4bit_use_double_quant = True, bnb_4bit_compute_dtype = torch.bfloat16) model_therapist = AutoModelForSequenceClassification.from_pretrained(config.base_model_name_or_path, device_map="cuda:0", quantization_config=quantization_config, num_labels=9, use_cache = True, )model_therapist = PeftModel.from_pretrained(model_therapist, path)model_therapist.config.pad_token_id = tokenizer.pad_token_idtext = '''Клиент: Я считаю, что эта обида переросла в ненависть. Знаешь, такую прям вот, как раньше, кровная какая-то ненависть. То есть у меня к человеку настолько сильная неприязнь, что я вообще не хочу ничего не знать о нём, не слышать. У меня прям даже уже не боль, а как бы презрение.Я уже ненавижу его. Вот такое осталось состояние.Терапевт: Хорошо, я тебя поняла. Вот так, давай сначала, знаешь как, определимся, вот у нас с тобой есть почти час, да, вот чего бы ты хотела от сегодняшней встречи? Какой бы вот итог, результат тебя бы удовлетворил? Скажи, пожалуйста.Клиент: По факту мне хочется завершиться с этим ощущением ненависти, потому что никакого, никакой пользы я этого не вижу для себя, да, никаких у нас с ним не может быть. Я всё хочу оставить и этот вопрос закрыть, потому что, как показывает жизненный опыт на сегодняшний день, все эти эмоции ещё негативно отражаются в настоящих моих отношениях.''' inputs = tokenizer(str(text), padding=True, truncation=True, return_tensors="pt")with torch.no_grad(): outputs = model_therapist(**inputs.to(model_therapist.device)) binary_tensor = (outputs.logits > 0).int()print(binary_tensor)#[1, 1, 1, 0, 0, 0, 1, 0, 0] list_categories = [ cat for label, cat in zip(binary_tensor.squeeze(), therapist_categories_list) if label.item()]print(list_categories)#['Информирование', 'Запрос информации', 'Общая эмоциональная поддержка', 'Запрос на простраивание связей']