(
data_file_src: str = None,
data_file_tgt: str = None,
lang_src: str = None,
lang_tgt: str = None,
dataset_type: str = "humaneval",
)
| 67 | |
| 68 | |
| 69 | def read_translation_dataset( |
| 70 | data_file_src: str = None, |
| 71 | data_file_tgt: str = None, |
| 72 | lang_src: str = None, |
| 73 | lang_tgt: str = None, |
| 74 | dataset_type: str = "humaneval", |
| 75 | ) -> Dict: |
| 76 | if "humaneval" in dataset_type.lower(): |
| 77 | dataset_src = {task["task_id"]: task for task in stream_jsonl(data_file_src)} |
| 78 | dataset_tgt = {task["task_id"].split("/")[-1]: task for task in stream_jsonl(data_file_tgt)} |
| 79 | for k, sample in dataset_src.items(): |
| 80 | prompt = "code translation\n" |
| 81 | if lang_src == "cpp": |
| 82 | prompt += "C++:\n" |
| 83 | elif lang_src == "js": |
| 84 | prompt += "JavaScript:\n" |
| 85 | else: |
| 86 | prompt += f"{lang_src}:\n".capitalize() |
| 87 | prompt += dataset_src[k]["declaration"] + "\n" + dataset_src[k]["canonical_solution"].rstrip() + "\n" |
| 88 | if lang_tgt == "cpp": |
| 89 | prompt += "C++:\n" |
| 90 | elif lang_tgt == "js": |
| 91 | prompt += "JavaScript:\n" |
| 92 | else: |
| 93 | prompt += f"{lang_tgt}:\n".capitalize() |
| 94 | prompt += dataset_tgt[k.split("/")[-1]]["declaration"] |
| 95 | dataset_src[k]["prompt"] = prompt |
| 96 | else: |
| 97 | raise f"Dataset: {dataset_type} not supported." |
| 98 | |
| 99 | return dataset_src |
| 100 | |
| 101 | |
| 102 | def process_extra_prompt(prompt: str, language_type: str = None) -> str: |
no test coverage detected