import torchfrom transformers import AutoTokenizer, AutoModelForSequenceClassification, BitsAndBytesConfigfrom peft import PeftModel, PeftConfig path = 'AIPsy/qwen3-8b-client-intent-classification-ru-7'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_client = AutoModelForSequenceClassification.from_pretrained(config.base_model_name_or_path, device_map="cuda:0", quantization_config=quantization_config, num_labels=7, use_cache = True, )model_client = PeftModel.from_pretrained(model_client, path)model_client.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_client(**inputs.to(model_client.device)) binary_tensor = (outputs.logits > 0).int()print(binary_tensor) client_categories_list = ['Информирование', 'Запрос информации','Ведение диалога', 'Одобрение', 'Неодобрение', 'Рефлексия','Решение проблемы']list_categories = []for label,category in zip(binary_tensor, client_categories_list): if label: list_categories.append(category)print(list_categories)#[1, 1, 0, 0, 1, 1, 0] list_categories = [ cat for label, cat in zip(binary_tensor.squeeze(), client_categories_list) if label.item()]print(list_categories)#['Информирование', 'Запрос информации', 'Неодобрение', 'Рефлексия']