-
Notifications
You must be signed in to change notification settings - Fork 91
Add files via upload #246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add files via upload #246
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -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') | ||||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||||||||||||||||
| 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) | ||||||||||||||||
|
Comment on lines
+82
to
+84
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Passing
Suggested change
|
||||||||||||||||
| test_record['prediction'] = prediction | ||||||||||||||||
| with open(output_file, 'a') as f: | ||||||||||||||||
| f.write(json.dumps(test_record)+'\n') | ||||||||||||||||
|
|
||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -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) | ||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hardcoding
Suggested change
|
||||||||||
|
|
||||||||||
| # 最大上下文长度限制(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]: | ||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The
Suggested change
|
||||||||||
| """ | ||||||||||
| 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" | ||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||||||||||
|
|
||||||||||
| 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 | ||||||||||
|
|
||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hardcoding absolute paths like
/root/OpenSeek/...makes the codebase non-portable and prone to failure when run in different environments or by other users. It is highly recommended to resolve these paths dynamically relative to the script's location usingos.pathutilities.