Instructions to use FLs-AI/FL-7B-3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use FLs-AI/FL-7B-3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="FLs-AI/FL-7B-3") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("FLs-AI/FL-7B-3") model = AutoModelForCausalLM.from_pretrained("FLs-AI/FL-7B-3", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use FLs-AI/FL-7B-3 with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf FLs-AI/FL-7B-3:Q4_K_M # Run inference directly in the terminal: llama cli -hf FLs-AI/FL-7B-3:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf FLs-AI/FL-7B-3:Q4_K_M # Run inference directly in the terminal: llama cli -hf FLs-AI/FL-7B-3:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf FLs-AI/FL-7B-3:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf FLs-AI/FL-7B-3:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf FLs-AI/FL-7B-3:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf FLs-AI/FL-7B-3:Q4_K_M
Use Docker
docker model run hf.co/FLs-AI/FL-7B-3:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use FLs-AI/FL-7B-3 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "FLs-AI/FL-7B-3" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "FLs-AI/FL-7B-3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/FLs-AI/FL-7B-3:Q4_K_M
- SGLang
How to use FLs-AI/FL-7B-3 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 "FLs-AI/FL-7B-3" \ --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": "FLs-AI/FL-7B-3", "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 "FLs-AI/FL-7B-3" \ --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": "FLs-AI/FL-7B-3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use FLs-AI/FL-7B-3 with Ollama:
ollama run hf.co/FLs-AI/FL-7B-3:Q4_K_M
- Unsloth Studio
How to use FLs-AI/FL-7B-3 with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for FLs-AI/FL-7B-3 to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for FLs-AI/FL-7B-3 to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for FLs-AI/FL-7B-3 to start chatting
- Pi
How to use FLs-AI/FL-7B-3 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf FLs-AI/FL-7B-3:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "FLs-AI/FL-7B-3:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use FLs-AI/FL-7B-3 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf FLs-AI/FL-7B-3:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default FLs-AI/FL-7B-3:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use FLs-AI/FL-7B-3 with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf FLs-AI/FL-7B-3:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "FLs-AI/FL-7B-3:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use FLs-AI/FL-7B-3 with Docker Model Runner:
docker model run hf.co/FLs-AI/FL-7B-3:Q4_K_M
- Lemonade
How to use FLs-AI/FL-7B-3 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull FLs-AI/FL-7B-3:Q4_K_M
Run and chat with the model
lemonade run user.FL-7B-3-Q4_K_M
List all available models
lemonade list
FL-7B-3: COBOL Code Generation
A 7B model that writes COBOL that actually compiles.
Ask any general coding model for COBOL and you get confident nonsense. The base model here, Qwen/Qwen2.5-Coder-7B, scores a flat zero on COBOLEval. Not "low", zero. Only 3.65% of its test programs compile at all.
FL-7B-3 is a supervised finetune of that same base on a curated COBOL instruction corpus. It solves 15.75% of COBOLEval, matching published GPT-4 results with a model roughly two orders of magnitude smaller, and more than doubling GPT-4's compilation rate.
Benchmarks
COBOLEval (zorse-project/COBOLEval), 146 problems /
821 test cases. Every sample is compiled and executed with GnuCOBOL 3.2.0. No self-reported
or LLM-judged scores. Greedy decoding, repetition_penalty=1.0, max_new_tokens=1536.
| Model | pass@1 | Compile rate | Tests passed |
|---|---|---|---|
| Qwen2.5-Coder-7B (base) | 0.00% | 3.65% | 4 / 821 |
| FL-7B-3 | 15.75% | 51.16% | 204 / 821 |
Published reference numbers on the same benchmark:
| Model | pass@1 | Compile rate |
|---|---|---|
| GPT-4 | 15.75% | 24.12% |
| GPT-4o | 16.40% | 41.80% |
| FL-7B-3 (7B) | 15.75% | 51.16% |
The headline: COBOL goes from unusable to useful. Compilation rate is where the gap is widest: FL-7B-3 produces syntactically valid COBOL roughly twice as often as GPT-4 and 25% more often than GPT-4o.
⚠️ Required inference setting
Set repetition_penalty to exactly 1.0. This is not a stylistic preference. It costs
you real accuracy:
| repetition_penalty | pass@1 |
|---|---|
| 1.0 | 15.75% |
| 1.05 (common default) | 13.01% |
| 1.15 | 2.74% |
COBOL mandates repetition. PROGRAM-ID must match END PROGRAM character for character,
data names recur constantly, division headers are fixed boilerplate. Any repetition penalty
pushes the model away from re-emitting tokens the language requires it to re-emit, and the
program stops compiling. At 1.15 the model produces identifiers like TESTTRUNCATENUMBER
where TRUNCATE-NUMBER was required.
Usage
Transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("FLs-AI/FL-7B-3-safetensors")
model = AutoModelForCausalLM.from_pretrained(
"FLs-AI/FL-7B-3-safetensors", device_map="auto", torch_dtype="bfloat16")
messages = [{"role": "user", "content": "Write a COBOL program that ..."}]
prompt = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
out = model.generate(
**tok(prompt, return_tensors="pt").to(model.device),
max_new_tokens=1536,
do_sample=False,
repetition_penalty=1.0, # <- required, see above
)
print(tok.decode(out[0], skip_special_tokens=True))
GGUF / llama.cpp
llama-cli -hf FLs-AI/FL-7B-3:Q4_K_M --repeat-penalty 1.0 -n 1536
| Quant | Size | Notes |
|---|---|---|
Q8_0 |
~8 GB | Effectively lossless |
Q6_K |
~6 GB | Recommended if you have the RAM |
Q4_K_M |
~4.5 GB | Recommended default, realistic quality floor |
Q2_K |
~3 GB | Experimental. 2-bit on a 7B degrades badly; not benchmarked |
Quantized variants were not re-benchmarked. The reported 15.75% is bf16.
Training
| Method | LoRA SFT, assistant-only loss masking |
| Base | Qwen/Qwen2.5-Coder-7B @ 0396a761 |
| LoRA | r=32, α=64, dropout=0.0, 196 modules (q/k/v/o + gate/up/down_proj) |
| Trainable | 80.7M / 7.70B (1.05%) |
| Precision | bf16, gradient checkpointing |
| Data | 20,332 instruction pairs → 21.2M tokens, packed into 2,586 × 8192-token blocks |
| Schedule | 2 epochs, 324 steps, 131,072 tokens/step |
| Optimizer | adamw_8bit, LR 1e-4 cosine → 0, warmup 3%, wd 0.01, clip 1.0 |
| Hardware | 1× H100 80GB SXM, 2h03m |
| Eval loss | 0.557 → 0.4183 |
On epoch count: epoch 1 moved eval loss by −0.126, epoch 2 by only −0.013. One epoch captures the overwhelming majority of the gain on a corpus this size. Validation loss decreased monotonically across all 64 evaluations with no overfitting inflection.
Limitations
Honest failure analysis. 65 of 146 COBOLEval solutions fail to compile standalone. The errors are a long tail, not one systematic bug:
- Degenerate generation on hard problems. The model can enter repetition loops, appending
-TEMPto an identifier until it exceeds COBOL's 63-character limit, or enumeratingIF WS-NUMBER = 58 ... IF WS-NUMBER = 59 ...instead of writing a loop. Correct solutions are consistently short (median 1,368 characters, max 3,248); output much longer than that is a strong signal the generation has derailed. - Enumeration over algorithm. On problems requiring real logic (primality, parsing), it sometimes hardcodes cases rather than implementing the algorithm.
- Occasional undefined identifiers, e.g. using
Ior a linkage record without declaring it. - Structural breakage on long outputs: missing
PROCEDURE DIVISIONheader, unbalanced parentheses, mismatchedEND PROGRAM.
Scope: trained on COBOL only. General coding ability inherited from the base was not re-measured and may have regressed. Not evaluated on real mainframe dialects (IBM Enterprise COBOL, CICS, JCL, DB2 embedded SQL). GnuCOBOL 3.2 only.
Do not deploy generated COBOL to production systems without review. A 15.75% pass@1 means roughly five out of six generated programs are wrong.
License
The finetune is released under CC BY-NC 4.0 (non-commercial, attribution required).
The base model, Qwen/Qwen2.5-Coder-7B, is Apache-2.0 and remains so. The non-commercial
restriction applies to this finetune's contribution, and cannot and does not revoke any rights
you already hold in the base weights under Apache-2.0. If your use case is commercial, you can
still use the base model freely; you just cannot use these weights.
💡 Note on FL-3.1: This model version (FL-7B-3) is designed specifically for COBOL code generation. We are actively training FL-3.1, which expands the architecture into a full-fledged Mainframe Assistant (adding JCL, CICS, DB2, and general mainframe architectural guidance).
Citation
@misc{fl7b3,
title = {FL-7B-3: COBOL Code Generation},
author = {FLs-AI},
year = {2026},
url = {https://huggingface.co/FLs-AI/FL-7B-3}
}
- Downloads last month
- 68
2-bit
4-bit
6-bit
8-bit