Instructions to use launch/MET-D-Qwen3-4B-hi-only with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use launch/MET-D-Qwen3-4B-hi-only with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="launch/MET-D-Qwen3-4B-hi-only") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("launch/MET-D-Qwen3-4B-hi-only") model = AutoModelForCausalLM.from_pretrained("launch/MET-D-Qwen3-4B-hi-only") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use launch/MET-D-Qwen3-4B-hi-only with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "launch/MET-D-Qwen3-4B-hi-only" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "launch/MET-D-Qwen3-4B-hi-only", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/launch/MET-D-Qwen3-4B-hi-only
- SGLang
How to use launch/MET-D-Qwen3-4B-hi-only with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "launch/MET-D-Qwen3-4B-hi-only" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "launch/MET-D-Qwen3-4B-hi-only", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "launch/MET-D-Qwen3-4B-hi-only" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "launch/MET-D-Qwen3-4B-hi-only", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use launch/MET-D-Qwen3-4B-hi-only with Docker Model Runner:
docker model run hf.co/launch/MET-D-Qwen3-4B-hi-only
Model Card for MET-D-Qwen3-4B-hi-only
MET-D-Qwen3-4B-hi-only is a Hindi-only moral reasoning model fine-tuned from 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 Hindi.
Model Details
- Base model: Qwen/Qwen3-4B
- Task: for a given
(situation, character description, action)triple, answer two questions from the character's perspective:- Is the action acceptable? (
Yes/No/Ambiguous) - Would (not) doing it be emotionally/mentally discomforting? (
Yes/No)
- Is the action acceptable? (
- Training data: self-generated reasoning traces, rejection-sampled against the ground truth per character perspective, in Hindi only
- Language coverage: this checkpoint is trained on Hindi only. The multilingual model and other single-language variants are also available (see Model Variants below).
- License: Apache 2.0 (inherited from the base model)
How to Get Started
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
model_id = "launch/MET-D-Qwen3-4B-hi-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"""मैं आपको एक नैतिक दुविधा दूँगा और आपको एक कैरेक्टर का विवरण और सवाल पेश करूँगा।
पहले सवाल का जवाब हाँ, नहीं, या अस्पष्ट होना चाहिए, और दूसरे सवाल का जवाब हाँ या नहीं होना चाहिए।
आपको आउटपुट फॉर्मेट का सख्ती से पालन करना चाहिए, क्योंकि इसे ऑटोमैटिकली पार्स किया जाएगा।
सुनिश्चित करें कि आप सभी 2 सवालों के लिए "कारण:" और "उत्तर:" दोनों आउटपुट करें।
नैतिक दुविधा:
{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, 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:
@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}
}
- Downloads last month
- 935