| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- def adjust(
- selected,
- data,
- aiclient,
- qwclient,
- sfclient
- ):
- options=[
- ['第十三章 楼地面工程 13.4 块料面层 13.4.4 地砖、橡胶塑料板 楼地面单块0.4m2以内地砖 干硬性水泥砂浆', '第十三章 楼地面工程 13.4 块料面层 13.4.4 地砖、橡胶塑料板 楼地面单块0.4m2以外地砖 干硬性水泥砂浆'],
- ['第十三章 楼地面工程 13.4 块料面层 13.4.4 地砖、橡胶塑料板 楼地面单块0.4m2以内地砖 水泥砂浆', '第十三章 楼地面工程 13.4 块料面层 13.4.4 地砖、橡胶塑料板 楼地面单块0.4m2以外地砖 水泥砂浆'],
- ['第十三章 楼地面工程 13.4 块料面层 13.4.4 地砖、橡胶塑料板 楼地面单块0.4m2以内地砖 干粉型粘结剂','第十三章 楼地面工程 13.4 块料面层 13.4.4 地砖、橡胶塑料板 楼地面单块0.4m2以外地砖 干粉型粘结剂'],
- ['第十三章 楼地面工程 13.4 块料面层 13.4.4 地砖、橡胶塑料板 楼梯单块0.1m2以内地砖 水泥砂浆', '第十三章 楼地面工程 13.4 块料面层 13.4.4 地砖、橡胶塑料板 楼梯单块0.4m2以内地砖 水泥砂浆', '第十三章 楼地面工程 13.4 块料面层 13.4.4 地砖、橡胶塑料板 楼梯单块0.4m2以外地砖 水泥砂浆'],
- ['第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.06m2以内墙砖 砂浆粘贴 墙面', '第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.18m2以内墙砖 砂浆粘贴 墙面', '第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.18m2以上墙砖 砂浆粘贴 墙面'],
- ['第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.06m2以内墙砖 砂浆粘贴 柱、梁、零星面', '第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.18m2以内墙砖 砂浆粘贴 柱、梁、零星面', '第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.18m2以上墙砖 砂浆粘贴 柱、梁、零星面'],
- ['第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.06m2以内墙砖 干粉型粘结剂粘贴 墙面', '第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.18m2以内墙砖 干粉型粘结剂粘贴 墙面', '第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.18m2以上墙砖 干粉型粘结剂粘贴 墙面'],
- ['第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.06m2以内墙砖 干粉型粘结剂粘贴 柱、梁、零星面', '第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.18m2以内墙砖 干粉型粘结剂粘贴 柱、梁、零星面', '第十四章 墙柱面工程 14.3 镶贴块料面层及幕墙 14.3.1 瓷砖 单块面积0.18m2以上墙砖 干粉型粘结剂粘贴 柱、梁、零星面']
- ]
- hit = []
- hit_group = []
- for entry in selected:
- for group in options:
- if entry in group:
- hit = [entry]
- hit_group = group
- if len(hit) == 0:
- return selected
- xuanxiang=[]
- choice=[]
- letters='ABC'
- for i in range(len(hit_group)):
- xuanxiang.append("给定一个选项:" + hit_group[i] + ', 记作' + letters[i])
- completion = aiclient.chat.completions.create(
- model="glm-4.5-air",
- messages=[
- {"role": "system", "content": "You are a helpful assistant."},
- {"role": "user", "content": "长度单位可以是米,是厘米,是毫米。如果未注明,则默认是毫米."},
- {"role": "user", "content": "以下是一段工作内容的描述: " + data['tz'] + '\n其中可能包括了地砖或者墙砖的尺寸。譬如,10厚800X800防滑地砖,就表明地砖尺寸为800毫米乘以800毫米\n根据尺寸可以算出单块砖的面积0.64m2。再例如,10厚600X600地砖,尺寸600毫米,面积0.36m2' + ';'.join(xuanxiang) + "\n请根据工作内容计算出面积,并从上述选项中选择单块面积最恰当的一个选项并返回。请给出分析过程并返回A或者B或者C作为答案.如果无法确定,请返回A"},
- ],
- extra_body={"thinking": {"type": "disabled"}},
- )
- json_string = completion.choices[0].message.content
- print(json_string)
- if len(json_string) < 8:
- if 'A' in json_string:
- choice=[hit_group[0]]
- if 'B' in json_string:
- choice=[hit_group[1]]
- if 'C' in json_string:
- choice=[hit_group[2]]
- else:
- completion = aiclient.chat.completions.create(
- model="glm-4.5-flash",
- messages=[
- {"role": "system", "content": "You are a helpful assistant.请将最终答案以JSON格式输出"},
- {"role": "user", "content": " 给你一段文字如下, " + json_string + ",其中给出了一个类似于A或者B或者C的选项作为答案,请将该答案输出"},
- ],
- extra_body={"thinking": {"type": "disabled"}},
- )
- json_string = completion.choices[0].message.content
- print(json_string)
- if 'A' in json_string:
- choice=[hit_group[0]]
- if 'B' in json_string:
- choice=[hit_group[1]]
- if 'C' in json_string:
- choice=[hit_group[2]]
- selected = [x for x in selected if x not in hit]
- selected = selected + choice
- return selected
|