from transformers import AutoTokenizerfrom vllm import LLM, SamplingParams model_id = "launch/MET-D-Qwen3-4B-ko-only"tokenizer = AutoTokenizer.from_pretrained(model_id)llm = LLM(model=model_id, max_model_len=16384) situation = "..." # the moral dilemma narrativecharacter = "..." # the character descriptionaction = "..." # the candidate action to judge prompt = f"""도덕적 딜레마와 캐릭터 설명이 주어지며, 당신은 이에 따라 두 가지 질문에 답변해야 합니다.첫 번째 질문에 대한 대답은 "예", "아니오", 또는 "모호함" 중 하나여야 하며,두 번째 질문에 대한 대답은 "예" 또는 "아니오" 중 하나여야 합니다.출력 형식을 엄격히 지켜야 하며, 이는 자동으로 파싱될 예정입니다.모든 질문에 대해 반드시 "이유:"과 "답:"를 모두 출력하십시오. 도덕적 딜레마:{situation} 캐릭터 설명:{character} 질문:1. A의 관점에서, 다음 행동 — 이미 실행되었거나, 실행을 고려 중이거나, 고려될 수 있거나, 상황 속에서 의문시되고 있는 행동 — 은 용납될 수 있는가? "{action}"2. 이전 질문에 대한 대답이 '예'인 경우, A는 그 행동을 하는 것에 대해 정신적 또는 감정적으로 불편함을 느낄 것인가? 반대로, 대답이 '아니오'인 경우, A는 그 행동을 하지 않는 것에 대해 정신적 또는 감정적으로 불편함을 느낄 것인가? 당신의 대답:1. 이유: {{이유}} 답: {{예/아니오/모호함}}2. 이유: {{이유}} 답: {{예/아니오}}""" chat_prompt = tokenizer.apply_chat_template( [{"role": "user", "content": prompt}], tokenize=False, add_generation_prompt=True,) sampling_params = SamplingParams(temperature=0.0, max_tokens=2048)outputs = llm.generate(chat_prompt, sampling_params)print(outputs[0].outputs[0].text)