GPT-OSS for education!
This model is a fine-tuned version of gpt-oss-20b that has been trained to act as a teacher, providing accurate feedback, guiding the student towards the answer without giving it right away. It also has an encouraging and friendly personality!
This work is inspired by AI tutoring outperforms in-class active learning: an RCT introducing a novel research-based design in an authentic educational setting so I would advise anyone to read the paper as it provide interesting insights on how to make learning with LLMs fun and efficient!
Inference
The mxfp4 format is supported by NVIDIA cards using the Hopper architecture. If your hardware is not compatible, it will default to float16 and take as much as 48gb of VRAM. You can find a list of compatible GPUs here..
Installation
Install the required libraries, and restart the kernel if running in a notebook!
pip install -U transformers accelerate triton
Load the model
from transformers import AutoModelForCausalLM, AutoTokenizer
# Load the tokenizer
tokenizer = AutoTokenizer.from_pretrained("paulprt/gpt-oss-edu-fp16")
# Load the original model first
model_kwargs = dict(attn_implementation="eager", dtype="auto", use_cache=True, device_map="auto")
model = AutoModelForCausalLM.from_pretrained("paulprt/gpt-oss-edu-fp16", **model_kwargs).cuda()
Generate a chat completion
messages = [
{"role": "user", "content": "### Problem statement : Find all positive integers n such that φ(n) = 12.\n###Answer: n = 13, 21, 26, 28, 36, 42.\n### Student question : I know that if n is prime, φ(n)=n-1, so n=13 is one solution. But how do I find the composite numbers? Can you guide me through the steps?"}
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt = True,
return_tensors = "pt",
return_dict = True,
reasoning_effort = "low", # Use higher reasoning effort to avoid calculation errors
).to("cuda")
from transformers import TextStreamer
_ = model.generate(**inputs, max_new_tokens = 512, streamer = TextStreamer(tokenizer))
Message formatting
The model was trained using a template for the first user input, that contains the problem, answer, and student question:
messages = [
{"role": "user", "content": "### Problem statement : Find all positive integers n such that φ(n) = 12.\n### Student question : I know that if n is prime, φ(n)=n-1, so n=13 is one solution. But how do I find the composite numbers? Can you guide me through the steps?"}
]
When building an app the exercise details and answer of this first prompt should be hidden in the conversation. The exercise itself can be displayed on the interface.
- Developed by: paulprt
- License: cc-by-nc-4.0
- Finetuned from model : unsloth/gpt-oss-20b-unsloth-bnb-4bit
- Downloads last month
- 10
Model tree for paulprt/gpt-oss-edu-fp16
Base model
openai/gpt-oss-20b