|
|
--- |
|
|
base_model: codellama/CodeLlama-7b-Instruct-hf |
|
|
library_name: peft |
|
|
license: llama2 |
|
|
tags: |
|
|
- code |
|
|
- unit-testing |
|
|
- c++ |
|
|
- lora |
|
|
- peft |
|
|
--- |
|
|
|
|
|
# CodeLlama Unit Test Generator |
|
|
|
|
|
This is a LoRA adapter for CodeLlama-7b-Instruct-hf, fine-tuned to generate comprehensive unit tests for C/C++ code. |
|
|
|
|
|
## Usage |
|
|
|
|
|
```python |
|
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
|
from peft import PeftModel |
|
|
import torch |
|
|
|
|
|
# Load base model and tokenizer |
|
|
base_model = AutoModelForCausalLM.from_pretrained( |
|
|
"codellama/CodeLlama-7b-Instruct-hf", |
|
|
device_map="auto", |
|
|
torch_dtype=torch.float16 |
|
|
) |
|
|
tokenizer = AutoTokenizer.from_pretrained("athrv/codellama_utests_adapter") |
|
|
|
|
|
# Load LoRA adapter |
|
|
model = PeftModel.from_pretrained(base_model, "athrv/codellama_utests_adapter") |
|
|
|
|
|
# Generate unit tests |
|
|
system_prompt = "Generate comprehensive unit tests for C/C++ code." |
|
|
user_prompt = "Create unit tests for: [YOUR_CODE_HERE]" |
|
|
|
|
|
prompt = f"<<SYS>>\n{system_prompt}\n<</SYS>>\n\n[INST] {user_prompt} [/INST]" |
|
|
inputs = tokenizer(prompt, return_tensors="pt").to("cuda") |
|
|
outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.7) |
|
|
response = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
``` |
|
|
|
|
|
## Training Details |
|
|
|
|
|
- **Base Model**: CodeLlama-7b-Instruct-hf |
|
|
- **Dataset**: Embedded_Unittest2 |
|
|
- **Training Method**: LoRA fine-tuning |
|
|
- **Target Modules**: Attention layers |
|
|
- **Sequence Length**: 4096-6144 tokens |
|
|
|
|
|
## Model Performance |
|
|
|
|
|
This model generates comprehensive unit tests covering: |
|
|
- Function testing and edge cases |
|
|
- Boundary conditions |
|
|
- Error scenarios |
|
|
- Proper test naming conventions |
|
|
|