Views
No views yet
pip install git+https://github.com/huggingface/transformers.gitWrite me a linked list implementation: \n1
2from transformers import AutoTokenizer, LlamaForCausalLM
3from human_eval.data import write_jsonl, read_problems
4from tqdm import tqdm
5
6# initialize the model
7
8model_path = "Phind/Phind-CodeLlama-34B-v1"
9model = LlamaForCausalLM.from_pretrained(model_path, device_map="auto")
10tokenizer = AutoTokenizer.from_pretrained(model_path)
11
12# HumanEval helper
13
14def generate_one_completion(prompt: str):
15 tokenizer.pad_token = tokenizer.eos_token
16 inputs = tokenizer(prompt, return_tensors="pt", truncation=True, max_length=4096)
17
18 # Generate
19 generate_ids = model.generate(inputs.input_ids.to("cuda"), max_new_tokens=256, do_sample=True, top_p=0.75, top_k=40, temperature=0.1)
20 completion = tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
21 completion = completion.replace(prompt, "").split("\n\n\n")[0]
22
23 return completion
24
25# perform HumanEval
26problems = read_problems()
27
28num_samples_per_task = 1
29samples = [
30 dict(task_id=task_id, completion=generate_one_completion(problems[task_id]["prompt"]))
31 for task_id in tqdm(problems)
32 for _ in range(num_samples_per_task)
33]
34write_jsonl("samples.jsonl", samples)
35
36# run `evaluate_functional_correctness samples.jsonl` in your HumanEval code sandbox