from typing import Optional TASKS_PRETTY = { "commit_message_generation": "Commit Message Generation", "bug_localization": "Bug Localization on Issue", "module_to_text": "Module-to-Text", "library_usage": "Library Usage Examples Generation", "project_code_completion": "Project-level Code Completion", "bug_localization_build_logs": "Bug Localization on Build Logs", } TASKS_PRETTY_REVERSE = {value: key for key, value in TASKS_PRETTY.items()} TASKS_DESCRIPTIONS = { "commit_message_generation": """# Commit Message Generation\n Our Commit Message Generation benchmark 🤗 [JetBrains-Research/lca-cmg](https://huggingface.co/datasets/JetBrains-Research/lca-cmg) includes 163 manually curated commits from Python projects. We use the following metrics for evaluation: * [BLEU](https://huggingface.co/spaces/evaluate-metric/sacrebleu) * [ROUGE](https://huggingface.co/spaces/evaluate-metric/rouge) * [ChrF](https://huggingface.co/spaces/evaluate-metric/chrf) * [BERTScore](https://huggingface.co/spaces/evaluate-metric/bertscore) For further details on the dataset and the baselines from 🏟️ Long Code Arena Team, refer to `commit_message_generation` folder in [our baselines repository](https://github.com/JetBrains-Research/lca-baselines) or to our preprint (TODO). """, "bug_localization": "cool description for Bug Localization on Issue task", "module_to_text": "cool description for Module-to-Text task", "library_usage": "cool description for Library Usage Examples Generation task", "project_code_completion": "cool description for Project-level Code Completion task", "bug_localization_build_logs": "cool description for Bug Localization on Build Logs task", } def get_submission_text_files_for_task(task_pretty: Optional[str]) -> str: if not task_pretty: return "Please, select a specific task to see more detailed instructions regarding submitting files." task_id = TASKS_PRETTY_REVERSE[task_pretty] if task_id == "commit_message_generation": return f"""**{task_pretty} Instructions:**\n\n* Please, attach files in [JSONLines format](https://jsonlines.org/). For an example, check the predictions provided by 🏟️ Long Code Arena Team in 🤗 [JetBrains-Research/lca-results](https://huggingface.co/datasets/JetBrains-Research/lca-results/tree/main/commit_message_generation/predictions). Make sure to include `"prediction"` and `"reference"` fields for each example, the rest are optional.""" return f"**{task_pretty} Instructions:**\n\n* 🚧 There are no instructions for the current task yet."