|
# This model can generate the solution to problem in [LeetCode](https://leetcode.com) |
|
|
|
## The training data: [codellama/CodeLlama-7b-Instruct-hf](https://huggingface.co/datasets/khaimaitien/leetcode_problem_solution) |
|
## The base model: [codellama/CodeLlama-7b-Instruct-hf](https://huggingface.co/codellama/CodeLlama-7b-Instruct-hf) |
|
You can find more information at: https://github.com/khaimt/coding_challenge_solver |
|
|
|
The prompt template is: |
|
``` python |
|
prompt_str = ( |
|
f"[INST] Write code to solve the following coding problem that obeys" |
|
f"the constraints and passes the example test cases." |
|
f"Please wrap your code answer using ```:\n{input}\n[/INST]```python\n" |
|
) |
|
``` |
|
Where input is the problem in LeetCode, an example is: https://github.com/khaimt/coding_challenge_solver/blob/main/test_cases/problem1.txt |
|
|
|
**Example for inference:** |
|
|
|
```python |
|
prompt_str = ( |
|
f"[INST] Write code to solve the following coding problem that obeys" |
|
f"the constraints and passes the example test cases." |
|
f"Please wrap your code answer using ```:\n{input}\n[/INST]```python\n" |
|
) |
|
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto", torch_dtype=torch.bfloat16) |
|
token_ids = tokenizer([prompt_str], return_tensors="pt")["input_ids"] |
|
token_ids = token_ids.to(model.device) |
|
outputs = model.generate(input_ids=token_ids, max_new_tokens=1024, do_sample=True, temperature=0.0001) |
|
all_token_ids = outputs[0].tolist() |
|
ouput_token_ids = all_token_ids[token_ids.shape[-1] :] |
|
output = tokenizer.decode(ouput_token_ids) |
|
print("-------------Solution generated from Model---------") |
|
print(output) |
|
``` |