Athenea-4B-Coding is a fine-tuned version of
huihui-ai/Huihui-Qwen3-4B-Thinking-2507-abliterated, specialized in
code reasoning, debugging, and problem solving.
Trained on high-quality programming data with explicit reasoning traces using
<think> and
</think> tags, the model is designed to perform detailed step-by-step reasoning for software development, algorithm design, and code comprehension tasks.
Athenea-4B-Coding extends Huihui-Qwen3’s structured reasoning capabilities into programming-related domains, showing strong performance on logical problem-solving, code completion, and debugging scenarios.
The model was fine-tuned using the dataset
Aquiles-ai/Athenea-Coding-100k, which includes diverse programming challenges, structured reasoning chains, and natural language explanations across multiple programming languages.
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4model = AutoModelForCausalLM.from_pretrained("Aquiles-ai/Athenea-4B-Coding",
5 dtype=torch.bfloat16,
6 trust_remote_code=True,
7 device_map="auto",
8 attn_implementation="flash_attention_2") # Requires flash-attn
9
10# Without flash-attn:
11# model = AutoModelForCausalLM.from_pretrained("Aquiles-ai/Athenea-4B-Coding",
12# dtype="auto",
13# device_map="auto"
14# )
15
16tokenizer = AutoTokenizer.from_pretrained("Aquiles-ai/Athenea-4B-Coding", trust_remote_code=True)
17
18messages = [
19 {"role": "user", "content": "Hey, write a Python function that calculates the factorial of a number recursively."}
20]
21
22inputs = tokenizer.apply_chat_template(
23 messages,
24 add_generation_prompt=True,
25 tokenize=True,
26 return_dict=True,
27 return_tensors="pt",
28).to('cuda')
29
30with torch.no_grad():
31 output = model.generate(
32 **inputs,
33 max_new_tokens=8092,
34 pad_token_id=tokenizer.eos_token_id,
35 eos_token_id=tokenizer.eos_token_id,
36 )
37
38# Decode and print the output
39print(tokenizer.decode(output[0], skip_special_tokens=True))
1from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
2import torch
3from threading import Thread
4
5model = AutoModelForCausalLM.from_pretrained("Aquiles-ai/Athenea-4B-Coding",
6 dtype=torch.bfloat16,
7 trust_remote_code=True,
8 device_map="auto",
9 attn_implementation="flash_attention_2")
10
11tokenizer = AutoTokenizer.from_pretrained("Aquiles-ai/Athenea-4B-Coding", trust_remote_code=True)
12
13messages = [
14 {"role": "user", "content": "Hey, write a Python function that implements the binary search algorithm recursively."}
15]
16
17inputs = tokenizer.apply_chat_template(
18 messages,
19 add_generation_prompt=True,
20 tokenize=True,
21 return_dict=True,
22 return_tensors="pt",
23).to('cuda')
24
25# Create the streamer
26streamer = TextIteratorStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
27
28# Build kwargs for generate
29generate_kwargs = dict(
30 **inputs,
31 max_new_tokens=8092,
32 pad_token_id=tokenizer.eos_token_id,
33 eos_token_id=tokenizer.eos_token_id,
34 streamer=streamer,
35)
36
37def _generate_thread(model, kwargs):
38 with torch.no_grad():
39 model.generate(**kwargs)
40
41thread = Thread(target=_generate_thread, args=(model, generate_kwargs))
42thread.start()
43
44for chunk in streamer:
45 print(chunk, end="", flush=True)
1vllm serve Aquiles-ai/Athenea-4B-Coding \
2 --host 0.0.0.0 \
3 --port 8000 \
4 --api-key dummyapikey \
5 --max-model-len=16384 \
6 --async-scheduling \
7 --gpu-memory-utilization=0.90
1from openai import OpenAI
2client = OpenAI(api_key="dummyapikey", base_url="http://127.0.0.1:8000/v1")
3stream = client.chat.completions.create(
4 model="Aquiles-ai/Athenea-4B-Coding",
5 messages=[{
6 "role": "user",
7 "content": "Hey, write a Python function that determines if a string is a palindrome, ignoring case, spaces, and punctuation."
8 }],
9 max_tokens=8092,
10 stream=True
11)
12for chunk in stream:
13 if chunk.choices[0].delta.content:
14 print(chunk.choices[0].delta.content, end="", flush=True)
In addition to code usage, you can also try our models locally through an
open-source playground on GitHub.