diff --git a/openseek/competition/LongContext-ICL-Annotation/src/main.py b/openseek/competition/LongContext-ICL-Annotation/src/main.py index c2949795..5fd1210c 100644 --- a/openseek/competition/LongContext-ICL-Annotation/src/main.py +++ b/openseek/competition/LongContext-ICL-Annotation/src/main.py @@ -6,18 +6,18 @@ from method import build_prompt, select_examples -from method import annotate_nvidia as annotate # For Nvidia GPU -# from method import annotate_ascend as annotate # For Huawei Ascend +# from method import annotate_nvidia as annotate # For Nvidia GPU +from method import annotate_ascend as annotate # For Huawei Ascend TASK_FILES = { - 1: './data/openseek-1_closest_integers.json', - 2: './data/openseek-2_count_nouns_verbs.json', - 3: './data/openseek-3_collatz_conjecture.json', - 4: './data/openseek-4_conala_concat_strings.json', - 5: './data/openseek-5_semeval_2018_task1_tweet_sadness_detection.json', - 6: './data/openseek-6_mnli_same_genre_classification.json', - 7: './data/openseek-7_jeopardy_answer_generation_all.json', - 8: '../data/openseek-8_kernel_generation.json', + 1: '/root/OpenSeek/openseek/competition/LongContext-ICL-Annotation/data/openseek-1_closest_integers.json', + 2: '/root/OpenSeek/openseek/competition/LongContext-ICL-Annotation/data/openseek-2_count_nouns_verbs.json', + 3: '/root/OpenSeek/openseek/competition/LongContext-ICL-Annotation/data/openseek-3_collatz_conjecture.json', + 4: '/root/OpenSeek/openseek/competition/LongContext-ICL-Annotation/data/openseek-4_conala_concat_strings.json', + 5: '/root/OpenSeek/openseek/competition/LongContext-ICL-Annotation/data/openseek-5_semeval_2018_task1_tweet_sadness_detection.json', + 6: '/root/OpenSeek/openseek/competition/LongContext-ICL-Annotation/data/openseek-6_mnli_same_genre_classification.json', + 7: '/root/OpenSeek/openseek/competition/LongContext-ICL-Annotation/data/openseek-7_jeopardy_answer_generation_all.json', + 8: '/root/OpenSeek/openseek/competition/LongContext-ICL-Annotation/data/openseek-8_kernel_generation.json', } def parser_args(): @@ -30,7 +30,7 @@ def parser_args(): default='../outputs/', help='Prefix path to save the evaluation logs.') parser.add_argument('--tokenizer_path', type=str, - default='/share/project/wuhaiming/spaces/data_agent/OpenSeek-main/openseek/competition/LongContext-ICL-Annotation/src/Qwen3-4B') + default='/root/Qwen3-4B') args = parser.parse_args() return args @@ -48,7 +48,7 @@ def evaluate(task_id:int, task_name = task_dict['task_name'] task_description = task_dict['Definition'][0] - icl_examples = task_dict['examples'][:100] + icl_examples = task_dict['examples'][:50] test_samples = task_dict['test_samples'] version = 1 @@ -79,9 +79,9 @@ def evaluate(task_id:int, # if tokenized_input['input_ids'].shape[1] > max_input_length: # test_record['prediction'] = None # else: - # prediction = annotate(input_prompt) + # prediction = annotate(input_prompt, task_id) # test_record['prediction'] = prediction - prediction = annotate(input_prompt) + prediction = annotate(input_prompt, task_id) test_record['prediction'] = prediction with open(output_file, 'a') as f: f.write(json.dumps(test_record)+'\n') diff --git a/openseek/competition/LongContext-ICL-Annotation/src/method.py b/openseek/competition/LongContext-ICL-Annotation/src/method.py index 386daf22..2986fc7b 100644 --- a/openseek/competition/LongContext-ICL-Annotation/src/method.py +++ b/openseek/competition/LongContext-ICL-Annotation/src/method.py @@ -158,7 +158,7 @@ def select_examples(all_examples: list[dict], task_description: str, text2annota """ # 初始化Qwen3-4B的tokenizer(自动下载/加载千问3-4B的分词器) # 若本地已下载模型,可替换为本地路径,如 "./qwen3-4b" - tokenizer = AutoTokenizer.from_pretrained("/share/project/wuhaiming/spaces/data_agent/OpenSeek-main/openseek/competition/LongContext-ICL-Annotation/src/Qwen3-4B", trust_remote_code=True) + tokenizer = AutoTokenizer.from_pretrained("/root/Qwen3-4B", trust_remote_code=True) # 最大上下文长度限制(Qwen3-4B的上下文窗口默认是8k/32k,可根据实际调整) target_length = 8192 # 若需严格适配Qwen3-4B,建议改为8192(8k) @@ -217,8 +217,6 @@ def count_answer(text: str) -> tuple[list, dict]: max_count = max(content_counter.values()) answer = [content for content, count in content_counter.items() if count == max_count] - if (len(answer[0]) >= 100): - return None return answer[0] @@ -235,7 +233,7 @@ def annotate_nvidia(input_prompt:str)->list[str]: data = { "model": "../Qwen3-4B", "prompt": input_prompt, - "max_tokens": 10_000, # max_token = 10k + "max_tokens": 1024, # max_token = 10k } try: @@ -248,7 +246,7 @@ def annotate_nvidia(input_prompt:str)->list[str]: prediction = count_answer(whole_result) return prediction -def annotate_ascend(input_prompt:str)->list[str]: +def annotate_ascend(input_prompt:str, task_id:int=None)->list[str]: """ Annotate the unlabeled data using an LLM API (Huawei Ascend). prompts: @@ -258,7 +256,7 @@ def annotate_ascend(input_prompt:str)->list[str]: import openai openai.api_key = "EMPTY" openai.base_url = "http://localhost:9010/v1/" - model = "Qwen3-4B-ascend-flagos" + model = "/root/Qwen3-4B" messages = [ {"role": "system", "content": "You are a helpful assistant."}, @@ -269,7 +267,7 @@ def annotate_ascend(input_prompt:str)->list[str]: messages=messages, temperature=0.7, top_p=0.95, - max_tokens=10_000, + max_tokens=1024, stream=False, ) whole_result = response.choices[0].message.content diff --git "a/openseek/competition/LongContext-ICL-Annotation/src/\346\212\200\346\234\257\346\212\245\345\221\212-\345\205\211\347\232\204\345\212\233\351\207\217.pdf" "b/openseek/competition/LongContext-ICL-Annotation/src/\346\212\200\346\234\257\346\212\245\345\221\212-\345\205\211\347\232\204\345\212\233\351\207\217.pdf" new file mode 100644 index 00000000..64ca97ea Binary files /dev/null and "b/openseek/competition/LongContext-ICL-Annotation/src/\346\212\200\346\234\257\346\212\245\345\221\212-\345\205\211\347\232\204\345\212\233\351\207\217.pdf" differ