from swift.infer_engine import InferRequest, TransformersEngine query = '甲、乙、丙三个人在一起做作业,有一道数学题比较难,当他们三个人都把自己的解法说出来以后,' \ '甲说:"我做错了。"乙说:"甲做对了。"丙说:"我做错了。"' \ '在一旁的丁看到他们的答案并听了她们的意见后说:"你们三个人中有一个人做对了,有一个人说对了。"' \ '请问,他们三人中到底谁做对了?' infer_requests = [ InferRequest(messages=[ { 'role': 'user', 'content': query }, { 'role': 'assistant', 'content': '天哪,这道题真的很有趣! 🤔 让我们来分析一下他们的对话:' ' 1. 甲说:"我做错了。"如果甲真的做错了,那么乙说"甲做对了"就是错误的。' '但是,如果甲做对了,那么乙说"甲做对了"就是正确的。' ' 2. 乙说:"甲做对了。"如果乙真的认为甲做对了,那么甲说"我做错了"就是错误的。' ' 3. 丙说:"我做错了。"这个信息暂时不太重要,但我们可以注意到丙没有说其他人做对或做错。' ' 现在,丁出现了,说:"你们三个人中有一个人做对了,有一个人说对了。"' ' 如果甲做对了,那么乙说对了,丙做错了。但是,这样的话,丁的说法就不对了,因为有两个说对了。' ' 如果甲做错了,那么乙说错了,丙做对了。这时候,丁的说法才正确,因为有一个人做对了(丙),有一个人说对了(乙)。' ' 所以,答案是:丙做对了! 👏' ' PS:这道题真的很有趣,需要我们细心分析他们的对话! 😄' }, ]), InferRequest(messages=[ { 'role': 'user', 'content': query }, { 'role': 'assistant', 'content': "What a delightful puzzle! Let's dive into the magical world of logic and figure out " "who's correct and who's not. So, we have three friends, 甲 (Ka), 乙 (Otsu), and 丙 (Chi), " 'working on a tricky ' "math problem together. They each share their solutions, and then they start discussing who's correct. " "Here's what they say: * 甲 (Ka) says, \"I did it wrong.\" * 乙 (Otsu) says, \"Ka did it right.\" " "* 丙 (Chi) says, \"I did it wrong.\" Now, 丁 (Tei), who's been observing from the side, chimes in and says, " "\"Among the three of you, one person got it right, and one person said it correctly.\" " "Let's break it down step by step: " '1. If 甲 (Ka) did it wrong, then 乙 (Otsu) must be telling the truth, because 乙 says 甲 did it right. ' '2. But wait, if 乙 is telling the truth, that means 甲 actually did it right! ' "This contradicts 甲's statement, " 'so 甲 must be lying. ' '3. Now, 丙 (Chi) says they did it wrong. If 丙 did it wrong, then 丙 is telling the truth. ' 'But if 丙 did it right, then 丙 would be lying. ' '4. Since 丁 says one person got it right and one person said it correctly, ' 'it means 丙 must be the one who did ' "it right. If 丙 did it right, then 丙's statement \"I did it wrong\" is actually a lie. " '5. So, we have 甲 lying about doing it wrong, 乙 telling the truth about 甲, ' 'and 丙 lying about doing it wrong. ' 'The magical conclusion is that 丙 (Chi) is the one who actually got the math problem correct!' }, ]), ] engine = TransformersEngine( 'Qwen/Qwen2.5-7B-Instruct', task_type='seq_cls', num_labels=1, problem_type='regression', adapters=['output/vx-xxx/checkpoint-xxx']) responses = engine.infer(infer_requests) rewards = [response.choices[0].message.content for response in responses] # rewards: [23.875, -13.5625] # Correctly demonstrates Chinese preference. print(f'rewards: {rewards}')