Text Generation
Transformers
Safetensors
code
t5
text2text-generation
codet5
code-repair
program-repair
bug-fixing
java
seq2seq
Eval Results (legacy)
text-generation-inference
Instructions to use thealper2/codet5-base-code-repair with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use thealper2/codet5-base-code-repair with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="thealper2/codet5-base-code-repair")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForSeq2SeqLM tokenizer = AutoTokenizer.from_pretrained("thealper2/codet5-base-code-repair") model = AutoModelForSeq2SeqLM.from_pretrained("thealper2/codet5-base-code-repair", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use thealper2/codet5-base-code-repair with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "thealper2/codet5-base-code-repair" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "thealper2/codet5-base-code-repair", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/thealper2/codet5-base-code-repair
- SGLang
How to use thealper2/codet5-base-code-repair 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 "thealper2/codet5-base-code-repair" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "thealper2/codet5-base-code-repair", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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 "thealper2/codet5-base-code-repair" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "thealper2/codet5-base-code-repair", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use thealper2/codet5-base-code-repair with Docker Model Runner:
docker model run hf.co/thealper2/codet5-base-code-repair
|
Download README.md from thealper2/codet5-base-code-repair: direct link, hf CLI and curl.
- Browser
- Download file 4.92 kB
-
https://huggingface.co/thealper2/codet5-base-code-repair/resolve/main/README.md
- Command line
-
hf download hf://thealper2/codet5-base-code-repair/README.md
-
curl -L -o README.md https://huggingface.co/thealper2/codet5-base-code-repair/resolve/main/README.md
4.92 kB
| license: bsd-3-clause | |
| base_model: Salesforce/codet5-base | |
| datasets: | |
| - google/code_x_glue_cc_code_refinement | |
| language: | |
| - code | |
| library_name: transformers | |
| pipeline_tag: text-generation | |
| tags: | |
| - code | |
| - codet5 | |
| - code-repair | |
| - program-repair | |
| - bug-fixing | |
| - java | |
| - seq2seq | |
| model-index: | |
| - name: codet5-base-code-repair | |
| results: | |
| - task: | |
| type: text2text-generation | |
| name: Automated Program Repair | |
| dataset: | |
| name: CodeXGLUE code-refinement (small) | |
| type: google/code_x_glue_cc_code_refinement | |
| config: small | |
| split: test | |
| metrics: | |
| - type: exact_match | |
| value: 22.43 | |
| name: Exact Match (%) | |
| - type: bleu | |
| value: 80.13 | |
| name: BLEU | |
| # codet5-base-code-repair | |
| [Salesforce/codet5-base](https://huggingface.co/Salesforce/codet5-base) fine-tuned on the | |
| [CodeXGLUE code-refinement](https://huggingface.co/datasets/google/code_x_glue_cc_code_refinement) | |
| `small` split for **automated program repair**: given a buggy Java method, the model generates the | |
| fixed version. | |
| Inputs and outputs follow the dataset's abstracted Java style, where identifiers are normalised to | |
| tokens such as `METHOD_1`, `VAR_1`, `TYPE_1` and `STRING_1`. | |
| ## Usage | |
| ```python | |
| from transformers import AutoModelForSeq2SeqLM, AutoTokenizer | |
| model_id = "MODEL_ID" # <- repo id | |
| tokenizer = AutoTokenizer.from_pretrained(model_id) | |
| model = AutoModelForSeq2SeqLM.from_pretrained(model_id) | |
| buggy = ( | |
| "public int METHOD_1 ( int VAR_1 ) { if ( VAR_1 = 0 ) { return 1 ; } " | |
| "return ( VAR_1 * ( METHOD_1 ( ( VAR_1 - 1 ) ) ) ) ; }" | |
| ) | |
| inputs = tokenizer(buggy, max_length=256, truncation=True, return_tensors="pt") | |
| outputs = model.generate(**inputs, max_new_tokens=256, num_beams=4, early_stopping=True) | |
| print(tokenizer.decode(outputs[0], skip_special_tokens=True)) | |
| ``` | |
| No task prefix is needed — the buggy snippet is fed in as-is. Beam search with `num_beams=4` is the | |
| decoding setting used for all numbers reported below, and it is already stored in the repo's | |
| `generation_config.json`. | |
| ## Results | |
| Full splits (5,835 examples each), beam search with 4 beams: | |
| | Split | Exact Match | BLEU | Loss | | |
| |------------|-------------|-------|--------| | |
| | Validation | 21.29% | 80.27 | 0.1272 | | |
| | Test | 22.43% | 80.13 | 0.1257 | | |
| Breakdown of the test-set predictions: | |
| | Outcome | Share | | |
| |---------------------------------------------|--------| | |
| | Exact fix | 22.43% | | |
| | Partial fix (changed, closer but not exact) | 13.49% | | |
| | Input copied unchanged | 3.38% | | |
| | Incorrect | 64.08% | | |
| The high BLEU next to the modest exact-match rate is expected for this task: the fixed method is | |
| usually a near-copy of the buggy one, so most generated tokens are correct even when the actual bug | |
| is not fixed. **Exact match is the metric that matters here**; BLEU mostly measures how well the | |
| model preserves the surrounding code. | |
| Validation exact match by epoch (1,000-example in-training subset): | |
| | Epoch | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | |
| |-------|------|------|------|------|------|------|------|------|----------|------| | |
| | EM | 10.5 | 15.2 | 17.5 | 19.5 | 19.8 | 20.6 | 20.9 | 20.6 | **21.2** | 21.0 | | |
| The epoch-9 checkpoint scored best and is the one published here. | |
| ## Training | |
| | | | | |
| |---|---| | |
| | Base model | `Salesforce/codet5-base` (~223M params) | | |
| | Dataset | `google/code_x_glue_cc_code_refinement`, config `small` | | |
| | Train / validation / test | 46,680 / 5,835 / 5,835 | | |
| | Epochs | 10 (best checkpoint by exact match kept) | | |
| | Learning rate | 5e-5, linear decay, 5% warmup | | |
| | Batch size | 16 × 2 gradient accumulation (effective 32) | | |
| | Weight decay | 0.01 | | |
| | Max grad norm | 1.0 | | |
| | Max source / target length | 256 / 256 tokens | | |
| | Precision | bf16 | | |
| | Seed | 42 | | |
| | Training time | ~1h25m on a single GPU | | |
| No example in any split was truncated at 256 tokens (longest source: 132 tokens), and the dataset | |
| contains no identical buggy/fixed pairs. | |
| ## Limitations | |
| - Trained only on **abstracted Java** methods from CodeXGLUE. Real-world code with actual | |
| identifier names, or any other language, is out of distribution and will perform much worse. | |
| - Handles single, self-contained methods — no cross-file or repository-level context. | |
| - Roughly two thirds of test inputs are still not repaired correctly. Treat outputs as suggestions | |
| to review, not as verified fixes, and always re-run your tests. | |
| - The model can return the input unchanged (3.4% of the test set) when it finds no fix. | |
| ## License | |
| Released under BSD-3-Clause, following the `Salesforce/codet5-base` base model. The training data, | |
| CodeXGLUE code-refinement, is distributed under the Computational Use of Data Agreement (C-UDA). | |