Views
No views yet
COMPLETE (user finished) or CONTINUE (user is thinking/pausing).CONTINUE.1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4model_name = "RAS1981/qwen3-turn-detector-merged"
5device = "cuda" if torch.cuda.is_available() else "cpu"
6
7model = AutoModelForCausalLM.from_pretrained(model_name).to(device)
8tokenizer = AutoTokenizer.from_pretrained(model_name)
9
10def predict_turn(text):
11 messages = [
12 {"role": "system", "content": "Ты голосовой ассистент. Определяй, закончил ли пользователь говорить."},
13 {"role": "user", "content": text}
14 ]
15
16 inputs = tokenizer.apply_chat_template(
17 messages,
18 tokenize=True,
19 add_generation_prompt=True,
20 return_tensors="pt"
21 ).to(device)
22
23 outputs = model.generate(
24 inputs,
25 max_new_tokens=2,
26 use_cache=True,
27 pad_token_id=tokenizer.eos_token_id
28 )
29
30 decoded = tokenizer.decode(outputs[0][inputs.shape[1]:], skip_special_tokens=True)
31 return decoded.strip()
32
33# Test Cases
34print(predict_turn("Привет, я хочу заказать пиццу")) # Output: COMPLETE
35print(predict_turn("Ну я думаю что может быть...")) # Output: CONTINUEIlyaGusev/ru_turbo_alpaca and ss-corpus-ru.COMPLETE and CONTINUE labels to prevent bias.