Instructions to use launch/MET-D-Qwen3-4B-es-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-es-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-es-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-es-only") model = AutoModelForCausalLM.from_pretrained("launch/MET-D-Qwen3-4B-es-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-es-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-es-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-es-only", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/launch/MET-D-Qwen3-4B-es-only
- SGLang
How to use launch/MET-D-Qwen3-4B-es-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-es-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-es-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-es-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-es-only", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use launch/MET-D-Qwen3-4B-es-only with Docker Model Runner:
docker model run hf.co/launch/MET-D-Qwen3-4B-es-only
Model Card for MET-D-Qwen3-4B-es-only
MET-D-Qwen3-4B-es-only is a Spanish-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 Spanish.
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 Spanish only
- Language coverage: this checkpoint is trained on Spanish 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-es-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"""Te propondré un dilema moral y te presentaré una descripción del personaje y preguntas.
La respuesta a la primera pregunta debe ser SÃ, No o Ambiguo, y la respuesta a la segunda debe ser SÃ o No.
Debes respetar estrictamente el formato de salida, ya que se analizará automáticamente.
Asegúrate de mostrar tanto la "Razón:" como la "Respuesta:" para las dos preguntas.
Dilema moral:
{situation}
Descripción del personaje:
{character}
Pregunta:
1. Desde la perspectiva de A, ¿se considerarÃa aceptable la siguiente acción (ya realizada, considerada como realizada, que podrÃa considerarse como realizada o que se cuestiona en el contexto de la situación)? "{action}"
2. Si la respuesta anterior es sÃ, ¿a A le resultarÃa incómoda mental o emocionalmente realizar la acción? Por el contrario, si la respuesta anterior es no, ¿a A le resultarÃa incómoda mental o emocionalmente no realizar la acción?
Tu respuesta:
1. Razón: {{Razón}} Respuesta: {{SÃ/No/Ambiguo}}
2. Razón: {{Razón}} Respuesta: {{SÃ/No}}
"""
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
- 788