--- license: apache-2.0 library_name: transformers base_model: Qwen/Qwen3-4B pipeline_tag: text-generation tags: - moral reasoning - value reasoning - persona - chain-of-thought language: - zh --- # Model Card for MET-D-Qwen3-4B-zh-only MET-D-Qwen3-4B-zh-only is a Chinese-only moral reasoning model fine-tuned from [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B). Given a moral dilemma, a character description, and a candidate action, it judges the action from that character's perspective and explains its judgment with an explicit chain-of-thought before answering. Moral dilemmas rarely have a single correct answer, which makes reasoning traces hard to verify. We address this by introducing a character perspective that yields a ground-truth answer, which is used for rejection-sampling the model's own reasoning traces, conditioned on a per-language, per-situation selection of theoretical grounds. Both the reasoning trace and the final answer are generated in Chinese. ## Model Details - **Base model:** Qwen/Qwen3-4B - **Task:** for a given `(situation, character description, action)` triple, answer two questions from the character's perspective: 1. Is the action acceptable? (`Yes` / `No` / `Ambiguous`) 2. Would (not) doing it be emotionally/mentally discomforting? (`Yes` / `No`) - **Training data:** self-generated reasoning traces, rejection-sampled against the ground truth per character perspective, in Chinese only - **Language coverage:** this checkpoint is trained on **Chinese only**. The multilingual model and other single-language variants are also available (see [Model Variants](#model-variants) below). - **License:** Apache 2.0 (inherited from the base model) ## How to Get Started ```python from transformers import AutoTokenizer from vllm import LLM, SamplingParams model_id = "launch/MET-D-Qwen3-4B-zh-only" tokenizer = AutoTokenizer.from_pretrained(model_id) llm = LLM(model=model_id, max_model_len=16384) situation = "..." # the moral dilemma narrative character = "..." # the character description action = "..." # 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) ``` ## Model Variants This checkpoint is part of the [MET collection](https://huggingface.co/collections/launch/met), which includes the same task across base models and language subsets: | Repo | Base model | Language(s) | |---|---|---| | `launch/MET-D-Qwen3-4B` | Qwen3-4B | all 6 (mixed) | | `launch/MET-D-Qwen3-4B-en-only` | Qwen3-4B | English only | | `launch/MET-D-Qwen3-4B-es-only` | Qwen3-4B | Spanish only | | `launch/MET-D-Qwen3-4B-hi-only` | Qwen3-4B | Hindi only | | `launch/MET-D-Qwen3-4B-ko-only` | Qwen3-4B | Korean only | | `launch/MET-D-Qwen3-4B-ms-only` | Qwen3-4B | Malay only | | `launch/MET-D-Qwen3-4B-zh-only` | Qwen3-4B | Chinese only | | `launch/MET-D-Qwen3-8B` | Qwen3-8B | all 6 (mixed) | | `launch/MET-D-Qwen3-8B-en-only` | Qwen3-8B | English only | | `launch/MET-D-Gemma3-4B` | Gemma-3-4B-it | all 6 (mixed) | | `launch/MET-D-Gemma3-4B-en-only` | Gemma-3-4B-it | English only | ## Citation If you use this, please cite: ```bibtex @article{lee2026met, title={MET: Theory-Grounded and Culture-Aware Multilingual Moral Reasoning}, author={Lee, Ayoung and Kwon, Ryan and Zhang, Yunxiang and Liu, Yuxuan and Railton, Peter and Wang, Lu}, journal={arXiv preprint arXiv:2607.11736}, year={2026} } ```