StructureCoder
Collection
Alignment with Fill-In-the-Middle for Enhancing Code Generation • 4 items • Updated
How to use SenseLLM/StructureCoder-3B with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="SenseLLM/StructureCoder-3B")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe(messages) # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("SenseLLM/StructureCoder-3B")
model = AutoModelForCausalLM.from_pretrained("SenseLLM/StructureCoder-3B")
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]:]))How to use SenseLLM/StructureCoder-3B with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "SenseLLM/StructureCoder-3B"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "SenseLLM/StructureCoder-3B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker model run hf.co/SenseLLM/StructureCoder-3B
How to use SenseLLM/StructureCoder-3B with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "SenseLLM/StructureCoder-3B" \
--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": "SenseLLM/StructureCoder-3B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'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 "SenseLLM/StructureCoder-3B" \
--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": "SenseLLM/StructureCoder-3B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'How to use SenseLLM/StructureCoder-3B with Docker Model Runner:
docker model run hf.co/SenseLLM/StructureCoder-3B
Structure splits code snippets into smaller, granular blocks, creatingmore diverse DPO pairs from the same testcases. Additionally, we introduce the Abstract Syntax Tree (AST) splitting and curriculum training method to enhance the DPO training. Please refer to our paper for more details!
| Model | Checkpoint | Size |
|---|---|---|
| StructureCoder-1.5B | 🤗 HF Link | 1.5B |
| StructureCoder-3B | 🤗 HF Link | 3B |
| StructureCoder-7B | 🤗 HF Link | 7B |
We thank the following amazing projects that truly inspired us:
docker model run hf.co/SenseLLM/StructureCoder-3B