postprocess0307.py 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862
  1. import time
  2. from fallback import fallback
  3. from config import simplemodel
  4. from template import xuanxiang
  5. from fallback import fallback
  6. zhijing=['百叶风口', '矩形送风口', '矩形空气分布器', '旋转吹风口' , '方形散流器', '圆形、流线型散流器', '送吸风口', '活动篦式风口', '网式风口', '钢百叶窗']
  7. fengkou1=['第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口周长(mm以内) 900', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口周长(mm以内) 1280','第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口周长(mm以内) 1800', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口周长(mm以内) 2500', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口周长(mm以内) 3300', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口周长(mm以内) 4200', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口(周长mm以内) 5200', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口(周长mm以内) 6400', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口(周长mm以内) 7700', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口(周长mm以内) 9000', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口(周长mm以内) 11000', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口(周长mm以内) 14000', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口(周长mm以内) 17000', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 百叶风口(周长mm以内) 20000']
  8. fengkou2=['第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 矩形送风口周长(mm以内) 400', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 矩形送风口周长(mm以内) 600', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 矩形送风口周长(mm以内) 800']
  9. fengkou3=['第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 矩形空气分布器周长(mm以内) 1200', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 矩形空气分布器周长(mm以内) 1500', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 矩形空气分布器周长(mm以内) 2100']
  10. fengkou4=['第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 旋转吹风口直径(mm以内) 320', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 旋转吹风口直径(mm以内) 450']
  11. fengkou5=['第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 方形散流器周长(mm以内) 500', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 方形散流器周长(mm以内) 1000', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 方形散流器周长(mm以内) 2000']
  12. fengkou6=['第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 圆形、流线形散流器直径(mm以内) 200', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 圆形、流线形散流器直径(mm以内) 360', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 圆形、流线形散流器直径(mm以内) 500']
  13. fengkou7=['第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 送吸风口周长(mm以内) 1000', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 送吸风口周长(mm以内) 1600', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 送吸风口周长(mm以内) 2000']
  14. fengkou8=['第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 活动篦式风口周长(mm以内) 1330', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 活动篦式风口周长(mm以内) 1910', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 活动篦式风口周长(mm以内) 2590']
  15. fengkou9=['第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 网式风口周长(mm以内) 900', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 网式风口周长(mm以内) 1500', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 网式风口周长(mm以内) 2000', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 网式风口周长(mm以内) 2600']
  16. fengkou10=['第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 钢百叶窗 框内面积(m2以内) 0.5', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 钢百叶窗 框内面积(m2以内) 1.0', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 钢百叶窗 框内面积(m2以内) 2.0', '第七册 通风空调工程 第三章 通风管道部件制作安装 3.4 碳钢风口、散流器、百叶窗 3.4.2 碳钢风口、散流器、百叶窗安装 钢百叶窗 框内面积(m2以内) 4.0']
  17. def select_fengkou10(
  18. B, #data
  19. aiclient,
  20. qwclient,
  21. sfclient,
  22. dw):
  23. options=[]
  24. letters = "ABCDEFGHIJKLMN"
  25. for i in range(len(fengkou10)):
  26. options.append("给定选项" + letters[i]+",内容为"+fengkou10[i] )
  27. completion = aiclient.chat.completions.create(
  28. model="glm-4.5-air",
  29. #model="THUDM/GLM-Z1-9B-0414",
  30. #model="ernie-speed-128k",
  31. messages=[
  32. {"role": "system", "content": "You are a helpful assistant."},
  33. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  34. ],
  35. extra_body={"thinking": {"type": "disabled"}},
  36. #extra_body={"enable_thinking": True},
  37. #stream=True
  38. )
  39. json_string = completion.choices[0].message.content
  40. print(json_string)
  41. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  42. answer=[]
  43. if 'A' in json_string and len(fengkou10) > 0:
  44. answer.append('A')
  45. if 'B' in json_string and len(fengkou10) > 1:
  46. answer.append('B')
  47. if 'C' in json_string and len(fengkou10) > 2:
  48. answer.append('C')
  49. if 'D' in json_string and len(fengkou10) > 3:
  50. answer.append('D')
  51. return answer
  52. completion = sfclient.chat.completions.create(
  53. #model="glm-4.5-flash",
  54. model=simplemodel(),
  55. messages=xuanxiang(json_string),
  56. extra_body={"thinking": {"type": "disabled"}},
  57. #extra_body={"enable_thinking": False},
  58. )
  59. json_string = completion.choices[0].message.content
  60. print(json_string)
  61. answer=[]
  62. if 'A' in json_string and len(fengkou10) > 0:
  63. answer.append('A')
  64. if 'B' in json_string and len(fengkou10) > 1:
  65. answer.append('B')
  66. if 'C' in json_string and len(fengkou10) > 2:
  67. answer.append('C')
  68. if 'D' in json_string and len(fengkou10) > 3:
  69. answer.append('D')
  70. return answer
  71. def select_fengkou9(
  72. B, #data
  73. aiclient,
  74. qwclient,
  75. sfclient,
  76. dw):
  77. options=[]
  78. letters = "ABCDEFGHIJKLMN"
  79. for i in range(len(fengkou9)):
  80. options.append("给定选项" + letters[i]+",内容为"+fengkou9[i] )
  81. completion = aiclient.chat.completions.create(
  82. model="glm-4.5-air",
  83. #model="THUDM/GLM-Z1-9B-0414",
  84. #model="ernie-speed-128k",
  85. messages=[
  86. {"role": "system", "content": "You are a helpful assistant."},
  87. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  88. ],
  89. extra_body={"thinking": {"type": "disabled"}},
  90. #extra_body={"enable_thinking": True},
  91. #stream=True
  92. )
  93. json_string = completion.choices[0].message.content
  94. print(json_string)
  95. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  96. answer=[]
  97. if 'A' in json_string and len(fengkou9) > 0:
  98. answer.append('A')
  99. if 'B' in json_string and len(fengkou9) > 1:
  100. answer.append('B')
  101. if 'C' in json_string and len(fengkou9) > 2:
  102. answer.append('C')
  103. if 'D' in json_string and len(fengkou9) > 3:
  104. answer.append('D')
  105. return answer
  106. completion = sfclient.chat.completions.create(
  107. #model="glm-4.5-flash",
  108. model=simplemodel(),
  109. messages=xuanxiang(json_string),
  110. extra_body={"thinking": {"type": "disabled"}},
  111. #extra_body={"enable_thinking": False},
  112. )
  113. json_string = completion.choices[0].message.content
  114. print(json_string)
  115. answer=[]
  116. if 'A' in json_string and len(fengkou9) > 0:
  117. answer.append('A')
  118. if 'B' in json_string and len(fengkou9) > 1:
  119. answer.append('B')
  120. if 'C' in json_string and len(fengkou9) > 2:
  121. answer.append('C')
  122. if 'D' in json_string and len(fengkou9) > 3:
  123. answer.append('D')
  124. return answer
  125. def select_fengkou8(
  126. B, #data
  127. aiclient,
  128. qwclient,
  129. sfclient,
  130. dw):
  131. options=[]
  132. letters = "ABCDEFGHIJKLMN"
  133. for i in range(len(fengkou8)):
  134. options.append("给定选项" + letters[i]+",内容为"+fengkou8[i] )
  135. completion = aiclient.chat.completions.create(
  136. model="glm-4.5-air",
  137. #model="THUDM/GLM-Z1-9B-0414",
  138. #model="ernie-speed-128k",
  139. messages=[
  140. {"role": "system", "content": "You are a helpful assistant."},
  141. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  142. ],
  143. extra_body={"thinking": {"type": "disabled"}},
  144. #extra_body={"enable_thinking": True},
  145. #stream=True
  146. )
  147. json_string = completion.choices[0].message.content
  148. print(json_string)
  149. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  150. answer=[]
  151. if 'A' in json_string and len(fengkou8) > 0:
  152. answer.append('A')
  153. if 'B' in json_string and len(fengkou8) > 1:
  154. answer.append('B')
  155. if 'C' in json_string and len(fengkou8) > 2:
  156. answer.append('C')
  157. return answer
  158. completion = sfclient.chat.completions.create(
  159. #model="glm-4.5-flash",
  160. model=simplemodel(),
  161. messages=xuanxiang(json_string),
  162. extra_body={"thinking": {"type": "disabled"}},
  163. #extra_body={"enable_thinking": False},
  164. )
  165. json_string = completion.choices[0].message.content
  166. print(json_string)
  167. answer=[]
  168. if 'A' in json_string and len(fengkou8) > 0:
  169. answer.append('A')
  170. if 'B' in json_string and len(fengkou8) > 1:
  171. answer.append('B')
  172. if 'C' in json_string and len(fengkou8) > 2:
  173. answer.append('C')
  174. return answer
  175. def select_fengkou7(
  176. B, #data
  177. aiclient,
  178. qwclient,
  179. sfclient,
  180. dw):
  181. options=[]
  182. letters = "ABCDEFGHIJKLMN"
  183. for i in range(len(fengkou7)):
  184. options.append("给定选项" + letters[i]+",内容为"+fengkou7[i] )
  185. completion = aiclient.chat.completions.create(
  186. model="glm-4.5-air",
  187. #model="THUDM/GLM-Z1-9B-0414",
  188. #model="ernie-speed-128k",
  189. messages=[
  190. {"role": "system", "content": "You are a helpful assistant."},
  191. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  192. ],
  193. extra_body={"thinking": {"type": "disabled"}},
  194. #extra_body={"enable_thinking": True},
  195. #stream=True
  196. )
  197. json_string = completion.choices[0].message.content
  198. print(json_string)
  199. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  200. answer=[]
  201. if 'A' in json_string and len(fengkou7) > 0:
  202. answer.append('A')
  203. if 'B' in json_string and len(fengkou7) > 1:
  204. answer.append('B')
  205. if 'C' in json_string and len(fengkou7) > 2:
  206. answer.append('C')
  207. return answer
  208. completion = sfclient.chat.completions.create(
  209. #model="glm-4.5-flash",
  210. model=simplemodel(),
  211. messages=xuanxiang(json_string),
  212. extra_body={"thinking": {"type": "disabled"}},
  213. #extra_body={"enable_thinking": False},
  214. )
  215. json_string = completion.choices[0].message.content
  216. print(json_string)
  217. answer=[]
  218. if 'A' in json_string and len(fengkou7) > 0:
  219. answer.append('A')
  220. if 'B' in json_string and len(fengkou7) > 1:
  221. answer.append('B')
  222. if 'C' in json_string and len(fengkou7) > 2:
  223. answer.append('C')
  224. return answer
  225. def select_fengkou6(
  226. B, #data
  227. aiclient,
  228. qwclient,
  229. sfclient,
  230. dw):
  231. options=[]
  232. letters = "ABCDEFGHIJKLMN"
  233. for i in range(len(fengkou6)):
  234. options.append("给定选项" + letters[i]+",内容为"+fengkou6[i] )
  235. completion = aiclient.chat.completions.create(
  236. model="glm-4.5-air",
  237. #model="THUDM/GLM-Z1-9B-0414",
  238. #model="ernie-speed-128k",
  239. messages=[
  240. {"role": "system", "content": "You are a helpful assistant."},
  241. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  242. ],
  243. extra_body={"thinking": {"type": "disabled"}},
  244. #extra_body={"enable_thinking": True},
  245. #stream=True
  246. )
  247. json_string = completion.choices[0].message.content
  248. print(json_string)
  249. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  250. answer=[]
  251. if 'A' in json_string and len(fengkou6) > 0:
  252. answer.append('A')
  253. if 'B' in json_string and len(fengkou6) > 1:
  254. answer.append('B')
  255. if 'C' in json_string and len(fengkou6) > 2:
  256. answer.append('C')
  257. return answer
  258. completion = sfclient.chat.completions.create(
  259. #model="glm-4.5-flash",
  260. model=simplemodel(),
  261. messages=xuanxiang(json_string),
  262. extra_body={"thinking": {"type": "disabled"}},
  263. #extra_body={"enable_thinking": False},
  264. )
  265. json_string = completion.choices[0].message.content
  266. print(json_string)
  267. answer=[]
  268. if 'A' in json_string and len(fengkou6) > 0:
  269. answer.append('A')
  270. if 'B' in json_string and len(fengkou6) > 1:
  271. answer.append('B')
  272. if 'C' in json_string and len(fengkou6) > 2:
  273. answer.append('C')
  274. return answer
  275. def select_fengkou5(
  276. B, #data
  277. aiclient,
  278. qwclient,
  279. sfclient,
  280. dw):
  281. options=[]
  282. letters = "ABCDEFGHIJKLMN"
  283. for i in range(len(fengkou5)):
  284. options.append("给定选项" + letters[i]+",内容为"+fengkou5[i] )
  285. completion = aiclient.chat.completions.create(
  286. model="glm-4.5-air",
  287. #model="THUDM/GLM-Z1-9B-0414",
  288. #model="ernie-speed-128k",
  289. messages=[
  290. {"role": "system", "content": "You are a helpful assistant."},
  291. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  292. ],
  293. extra_body={"thinking": {"type": "disabled"}},
  294. #extra_body={"enable_thinking": True},
  295. #stream=True
  296. )
  297. json_string = completion.choices[0].message.content
  298. print(json_string)
  299. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  300. answer=[]
  301. if 'A' in json_string and len(fengkou5) > 0:
  302. answer.append('A')
  303. if 'B' in json_string and len(fengkou5) > 1:
  304. answer.append('B')
  305. if 'C' in json_string and len(fengkou5) > 2:
  306. answer.append('C')
  307. return answer
  308. completion = sfclient.chat.completions.create(
  309. #model="glm-4.5-flash",
  310. model=simplemodel(),
  311. messages=xuanxiang(json_string),
  312. extra_body={"thinking": {"type": "disabled"}},
  313. #extra_body={"enable_thinking": False},
  314. )
  315. json_string = completion.choices[0].message.content
  316. print(json_string)
  317. answer=[]
  318. if 'A' in json_string and len(fengkou5) > 0:
  319. answer.append('A')
  320. if 'B' in json_string and len(fengkou5) > 1:
  321. answer.append('B')
  322. if 'C' in json_string and len(fengkou5) > 2:
  323. answer.append('C')
  324. return answer
  325. def select_fengkou4(
  326. B, #data
  327. aiclient,
  328. qwclient,
  329. sfclient,
  330. dw):
  331. options=[]
  332. letters = "ABCDEFGHIJKLMN"
  333. for i in range(len(fengkou4)):
  334. options.append("给定选项" + letters[i]+",内容为"+fengkou4[i] )
  335. completion = aiclient.chat.completions.create(
  336. model="glm-4.5-air",
  337. #model="THUDM/GLM-Z1-9B-0414",
  338. #model="ernie-speed-128k",
  339. messages=[
  340. {"role": "system", "content": "You are a helpful assistant."},
  341. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  342. ],
  343. extra_body={"thinking": {"type": "disabled"}},
  344. #extra_body={"enable_thinking": True},
  345. #stream=True
  346. )
  347. json_string = completion.choices[0].message.content
  348. print(json_string)
  349. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  350. answer=[]
  351. if 'A' in json_string and len(fengkou4) > 0:
  352. answer.append('A')
  353. if 'B' in json_string and len(fengkou4) > 1:
  354. answer.append('B')
  355. return answer
  356. completion = sfclient.chat.completions.create(
  357. #model="glm-4.5-flash",
  358. model=simplemodel(),
  359. messages=xuanxiang(json_string),
  360. extra_body={"thinking": {"type": "disabled"}},
  361. #extra_body={"enable_thinking": False},
  362. )
  363. json_string = completion.choices[0].message.content
  364. print(json_string)
  365. answer=[]
  366. if 'A' in json_string and len(fengkou4) > 0:
  367. answer.append('A')
  368. if 'B' in json_string and len(fengkou4) > 1:
  369. answer.append('B')
  370. return answer
  371. def select_fengkou3(
  372. B, #data
  373. aiclient,
  374. qwclient,
  375. sfclient,
  376. dw):
  377. options=[]
  378. letters = "ABCDEFGHIJKLMN"
  379. for i in range(len(fengkou3)):
  380. options.append("给定选项" + letters[i]+",内容为"+fengkou3[i] )
  381. completion = aiclient.chat.completions.create(
  382. model="glm-4.5-air",
  383. #model="THUDM/GLM-Z1-9B-0414",
  384. #model="ernie-speed-128k",
  385. messages=[
  386. {"role": "system", "content": "You are a helpful assistant."},
  387. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  388. ],
  389. extra_body={"thinking": {"type": "disabled"}},
  390. #extra_body={"enable_thinking": True},
  391. #stream=True
  392. )
  393. json_string = completion.choices[0].message.content
  394. print(json_string)
  395. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  396. answer=[]
  397. if 'A' in json_string and len(fengkou3) > 0:
  398. answer.append('A')
  399. if 'B' in json_string and len(fengkou3) > 1:
  400. answer.append('B')
  401. if 'C' in json_string and len(fengkou3) > 2:
  402. answer.append('C')
  403. return answer
  404. completion = sfclient.chat.completions.create(
  405. #model="glm-4.5-flash",
  406. model=simplemodel(),
  407. messages=xuanxiang(json_string),
  408. extra_body={"thinking": {"type": "disabled"}},
  409. #extra_body={"enable_thinking": False},
  410. )
  411. json_string = completion.choices[0].message.content
  412. print(json_string)
  413. answer=[]
  414. if 'A' in json_string and len(fengkou3) > 0:
  415. answer.append('A')
  416. if 'B' in json_string and len(fengkou3) > 1:
  417. answer.append('B')
  418. if 'C' in json_string and len(fengkou3) > 2:
  419. answer.append('C')
  420. return answer
  421. def select_fengkou2(
  422. B, #data
  423. aiclient,
  424. qwclient,
  425. sfclient,
  426. dw):
  427. options=[]
  428. letters = "ABCDEFGHIJKLMN"
  429. for i in range(len(fengkou2)):
  430. options.append("给定选项" + letters[i]+",内容为"+fengkou2[i] )
  431. completion = aiclient.chat.completions.create(
  432. model="glm-4.5-air",
  433. #model="THUDM/GLM-Z1-9B-0414",
  434. #model="ernie-speed-128k",
  435. messages=[
  436. {"role": "system", "content": "You are a helpful assistant."},
  437. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  438. ],
  439. extra_body={"thinking": {"type": "disabled"}},
  440. #extra_body={"enable_thinking": True},
  441. #stream=True
  442. )
  443. json_string = completion.choices[0].message.content
  444. print(json_string)
  445. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  446. answer=[]
  447. if 'A' in json_string and len(fengkou2) > 0:
  448. answer.append('A')
  449. if 'B' in json_string and len(fengkou2) > 1:
  450. answer.append('B')
  451. if 'C' in json_string and len(fengkou2) > 2:
  452. answer.append('C')
  453. return answer
  454. completion = sfclient.chat.completions.create(
  455. #model="glm-4.5-flash",
  456. model=simplemodel(),
  457. messages=xuanxiang(json_string),
  458. extra_body={"thinking": {"type": "disabled"}},
  459. #extra_body={"enable_thinking": False},
  460. )
  461. json_string = completion.choices[0].message.content
  462. print(json_string)
  463. answer=[]
  464. if 'A' in json_string and len(fengkou2) > 0:
  465. answer.append('A')
  466. if 'B' in json_string and len(fengkou2) > 1:
  467. answer.append('B')
  468. if 'C' in json_string and len(fengkou2) > 2:
  469. answer.append('C')
  470. return answer
  471. def select_fengkou1(
  472. B, #data
  473. aiclient,
  474. qwclient,
  475. sfclient,
  476. dw):
  477. options=[]
  478. letters = "ABCDEFGHIJKLMN"
  479. for i in range(len(fengkou1)):
  480. options.append("给定选项" + letters[i]+",内容为"+fengkou1[i] )
  481. completion = aiclient.chat.completions.create(
  482. model="glm-4.5-air",
  483. #model="THUDM/GLM-Z1-9B-0414",
  484. #model="ernie-speed-128k",
  485. messages=[
  486. {"role": "system", "content": "You are a helpful assistant."},
  487. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  488. ],
  489. extra_body={"thinking": {"type": "disabled"}},
  490. #extra_body={"enable_thinking": True},
  491. #stream=True
  492. )
  493. json_string = completion.choices[0].message.content
  494. print(json_string)
  495. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  496. answer=[]
  497. if 'A' in json_string and len(fengkou1) > 0:
  498. answer.append('A')
  499. if 'B' in json_string and len(fengkou1) > 1:
  500. answer.append('B')
  501. if 'C' in json_string and len(fengkou1) > 2:
  502. answer.append('C')
  503. if 'D' in json_string and len(fengkou1) > 3:
  504. answer.append('D')
  505. if 'E' in json_string and len(fengkou1) > 4:
  506. answer.append('E')
  507. if 'F' in json_string and len(fengkou1) > 5:
  508. answer.append('F')
  509. if 'G' in json_string and len(fengkou1) > 6:
  510. answer.append('G')
  511. if 'H' in json_string and len(fengkou1) > 7:
  512. answer.append('H')
  513. if 'I' in json_string and len(fengkou1) > 8:
  514. answer.append('I')
  515. if 'J' in json_string and len(fengkou1) > 9:
  516. answer.append('J')
  517. if 'K' in json_string and len(fengkou1) > 10:
  518. answer.append('K')
  519. if 'L' in json_string and len(fengkou1) > 11:
  520. answer.append('L')
  521. if 'M' in json_string and len(fengkou1) > 12:
  522. answer.append('M')
  523. if 'N' in json_string and len(fengkou1) > 13:
  524. answer.append('N')
  525. return answer
  526. completion = sfclient.chat.completions.create(
  527. #model="glm-4.5-flash",
  528. model=simplemodel(),
  529. messages=xuanxiang(json_string),
  530. extra_body={"thinking": {"type": "disabled"}},
  531. #extra_body={"enable_thinking": False},
  532. )
  533. json_string = completion.choices[0].message.content
  534. print(json_string)
  535. answer=[]
  536. if 'A' in json_string and len(fengkou1) > 0:
  537. answer.append('A')
  538. if 'B' in json_string and len(fengkou1) > 1:
  539. answer.append('B')
  540. if 'C' in json_string and len(fengkou1) > 2:
  541. answer.append('C')
  542. if 'D' in json_string and len(fengkou1) > 3:
  543. answer.append('D')
  544. if 'E' in json_string and len(fengkou1) > 4:
  545. answer.append('E')
  546. if 'F' in json_string and len(fengkou1) > 5:
  547. answer.append('F')
  548. if 'G' in json_string and len(fengkou1) > 6:
  549. answer.append('G')
  550. if 'H' in json_string and len(fengkou1) > 7:
  551. answer.append('H')
  552. if 'I' in json_string and len(fengkou1) > 8:
  553. answer.append('I')
  554. if 'J' in json_string and len(fengkou1) > 9:
  555. answer.append('J')
  556. if 'K' in json_string and len(fengkou1) > 10:
  557. answer.append('K')
  558. if 'L' in json_string and len(fengkou1) > 11:
  559. answer.append('L')
  560. if 'M' in json_string and len(fengkou1) > 12:
  561. answer.append('M')
  562. if 'N' in json_string and len(fengkou1) > 13:
  563. answer.append('N')
  564. return answer
  565. def select_fengkou(
  566. B, #data
  567. aiclient,
  568. qwclient,
  569. sfclient,
  570. dw):
  571. options=[]
  572. letters = "ABCDEFGHIJKLMN"
  573. for i in range(len(zhijing)):
  574. options.append("给定选项" + letters[i]+",内容为"+zhijing[i] )
  575. completion = aiclient.chat.completions.create(
  576. model="glm-4.5-air",
  577. #model="THUDM/GLM-Z1-9B-0414",
  578. #model="ernie-speed-128k",
  579. messages=[
  580. {"role": "system", "content": "You are a helpful assistant."},
  581. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请选择最合适的选项,并返回字母代号,例如,返回 A"},
  582. ],
  583. extra_body={"thinking": {"type": "disabled"}},
  584. #extra_body={"enable_thinking": True},
  585. #stream=True
  586. )
  587. json_string = completion.choices[0].message.content
  588. print(json_string)
  589. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  590. answer=[]
  591. if 'A' in json_string and len(zhijing) > 0:
  592. answer.append('A')
  593. if 'B' in json_string and len(zhijing) > 1:
  594. answer.append('B')
  595. if 'C' in json_string and len(zhijing) > 2:
  596. answer.append('C')
  597. if 'D' in json_string and len(zhijing) > 3:
  598. answer.append('D')
  599. if 'E' in json_string and len(zhijing) > 4:
  600. answer.append('E')
  601. if 'F' in json_string and len(zhijing) > 5:
  602. answer.append('F')
  603. if 'G' in json_string and len(zhijing) > 6:
  604. answer.append('G')
  605. if 'H' in json_string and len(zhijing) > 7:
  606. answer.append('H')
  607. if 'I' in json_string and len(zhijing) > 8:
  608. answer.append('I')
  609. if 'J' in json_string and len(zhijing) > 9:
  610. answer.append('J')
  611. return answer
  612. completion = sfclient.chat.completions.create(
  613. #model="glm-4.5-flash",
  614. model=simplemodel(),
  615. messages=xuanxiang(json_string),
  616. extra_body={"thinking": {"type": "disabled"}},
  617. #extra_body={"enable_thinking": False},
  618. )
  619. json_string = completion.choices[0].message.content
  620. print(json_string)
  621. answer=[]
  622. if 'A' in json_string and len(zhijing) > 0:
  623. answer.append('A')
  624. if 'B' in json_string and len(zhijing) > 1:
  625. answer.append('B')
  626. if 'C' in json_string and len(zhijing) > 2:
  627. answer.append('C')
  628. if 'D' in json_string and len(zhijing) > 3:
  629. answer.append('D')
  630. if 'E' in json_string and len(zhijing) > 4:
  631. answer.append('E')
  632. if 'F' in json_string and len(zhijing) > 5:
  633. answer.append('F')
  634. if 'G' in json_string and len(zhijing) > 6:
  635. answer.append('G')
  636. if 'H' in json_string and len(zhijing) > 7:
  637. answer.append('H')
  638. if 'I' in json_string and len(zhijing) > 8:
  639. answer.append('I')
  640. if 'J' in json_string and len(zhijing) > 9:
  641. answer.append('J')
  642. return answer
  643. def aifilter1(A, #options
  644. B, #data
  645. aiclient,
  646. qwclient,
  647. sfclient,
  648. dw):
  649. options=[]
  650. letters = "ABCDEFGHIJKLMN"
  651. for i in range(len(A)):
  652. options.append("给定选项" + letters[i]+",内容为"+A[i] )
  653. completion = aiclient.chat.completions.create(
  654. model="glm-4.5-air",
  655. #model="THUDM/GLM-Z1-9B-0414",
  656. #model="ernie-speed-128k",
  657. messages=[
  658. {"role": "system", "content": "You are a helpful assistant."},
  659. {"role": "user", "content": " 特殊处理要求一:如果工作内容描述中没有明确提及刷油漆,则去掉所有刷油漆的选项"},
  660. {"role": "user", "content": " 重要提示:选项指的是给定的A、B、C之类的选项,不是指的工作内容中的可能的1、2、3这样罗列的特征"},
  661. {"role": "user", "content": " 重要提示:除特殊处理要求提及的内容外,不需考虑选项内容与工作内容是否符合,只需要根据特殊处理要求做出处理"},
  662. {"role": "user", "content": "问题描述: 给定一段工作内容: " + B['label'] + " " + B['mc'] + " " + B['tz'] + ",".join(options) + "。请根据处理要求做出处理,并返回结果, 删除选项必须对应到明确的特殊处理要求,不要擅自删除选项。例如,如果处理完后剩余A,B,C三个选项,请返回[A,B,C]"},
  663. ],
  664. extra_body={"thinking": {"type": "disabled"}},
  665. #extra_body={"enable_thinking": True},
  666. #stream=True
  667. )
  668. json_string = completion.choices[0].message.content
  669. print(json_string)
  670. if len([x for x in json_string if x != ',' and x != '[' and x != ']' and x != ' ' and (x < 'A' or x > 'M')]) < 5:
  671. answer=[]
  672. if 'A' in json_string and len(A) > 0:
  673. answer.append(A[0])
  674. if 'B' in json_string and len(A) > 1:
  675. answer.append(A[1])
  676. if 'C' in json_string and len(A) > 2:
  677. answer.append(A[2])
  678. if 'D' in json_string and len(A) > 3:
  679. answer.append(A[3])
  680. if 'E' in json_string and len(A) > 4:
  681. answer.append(A[4])
  682. if 'F' in json_string and len(A) > 5:
  683. answer.append(A[5])
  684. if 'G' in json_string and len(A) > 6:
  685. answer.append(A[6])
  686. if 'H' in json_string and len(A) > 7:
  687. answer.append(A[7])
  688. if 'I' in json_string and len(A) > 8:
  689. answer.append(A[8])
  690. if 'J' in json_string and len(A) > 9:
  691. answer.append(A[9])
  692. return answer
  693. completion = sfclient.chat.completions.create(
  694. #model="glm-4.5-flash",
  695. model=simplemodel(),
  696. messages=xuanxiang(json_string),
  697. extra_body={"thinking": {"type": "disabled"}},
  698. #extra_body={"enable_thinking": False},
  699. )
  700. json_string = completion.choices[0].message.content
  701. print(json_string)
  702. answer=[]
  703. if 'A' in json_string and len(A) > 0:
  704. answer.append(A[0])
  705. if 'B' in json_string and len(A) > 1:
  706. answer.append(A[1])
  707. if 'C' in json_string and len(A) > 2:
  708. answer.append(A[2])
  709. if 'D' in json_string and len(A) > 3:
  710. answer.append(A[3])
  711. if 'E' in json_string and len(A) > 4:
  712. answer.append(A[4])
  713. if 'F' in json_string and len(A) > 5:
  714. answer.append(A[5])
  715. if 'G' in json_string and len(A) > 6:
  716. answer.append(A[6])
  717. if 'H' in json_string and len(A) > 7:
  718. answer.append(A[7])
  719. if 'I' in json_string and len(A) > 8:
  720. answer.append(A[8])
  721. if 'J' in json_string and len(A) > 9:
  722. answer.append(A[9])
  723. return answer
  724. def postprocess0307(selected, data, aiclient, qwclient, sfclient, label_name, name_dw, candidates):
  725. prime = aifilter1(selected, data, aiclient, qwclient, sfclient, name_dw)
  726. if len([x for x in prime if '风口' in x]) > 0:
  727. if data['dw'] == '个':
  728. prime = [x for x in prime if '风口' not in x]
  729. t = select_fengkou(data, aiclient, qwclient, sfclient, name_dw)
  730. if 'A' in t:
  731. t = select_fengkou1(data, aiclient, qwclient, sfclient, name_dw)
  732. if 'A' in t:
  733. prime.append(fengkou1[0])
  734. if 'B' in t:
  735. prime.append(fengkou1[1])
  736. if 'C' in t:
  737. prime.append(fengkou1[2])
  738. if 'D' in t:
  739. prime.append(fengkou1[3])
  740. if 'E' in t:
  741. prime.append(fengkou1[4])
  742. if 'F' in t:
  743. prime.append(fengkou1[5])
  744. if 'G' in t:
  745. prime.append(fengkou1[6])
  746. if 'H' in t:
  747. prime.append(fengkou1[7])
  748. if 'I' in t:
  749. prime.append(fengkou1[8])
  750. if 'J' in t:
  751. prime.append(fengkou1[9])
  752. if 'K' in t:
  753. prime.append(fengkou1[10])
  754. if 'L' in t:
  755. prime.append(fengkou1[11])
  756. if 'M' in t:
  757. prime.append(fengkou1[12])
  758. if 'N' in t:
  759. prime.append(fengkou1[13])
  760. elif 'B' in t:
  761. t = select_fengkou2(data, aiclient, qwclient, sfclient, name_dw)
  762. if 'A' in t:
  763. prime.append(fengkou2[0])
  764. if 'B' in t:
  765. prime.append(fengkou2[1])
  766. if 'C' in t:
  767. prime.append(fengkou2[2])
  768. elif 'C' in t:
  769. t = select_fengkou3(data, aiclient, qwclient, sfclient, name_dw)
  770. if 'A' in t:
  771. prime.append(fengkou3[0])
  772. if 'B' in t:
  773. prime.append(fengkou3[1])
  774. if 'C' in t:
  775. prime.append(fengkou3[2])
  776. elif 'D' in t:
  777. t = select_fengkou4(data, aiclient, qwclient, sfclient, name_dw)
  778. if 'A' in t:
  779. prime.append(fengkou4[0])
  780. if 'B' in t:
  781. prime.append(fengkou4[1])
  782. elif 'E' in t:
  783. t = select_fengkou5(data, aiclient, qwclient, sfclient, name_dw)
  784. if 'A' in t:
  785. prime.append(fengkou5[0])
  786. if 'B' in t:
  787. prime.append(fengkou5[1])
  788. if 'C' in t:
  789. prime.append(fengkou5[2])
  790. elif 'F' in t:
  791. t = select_fengkou6(data, aiclient, qwclient, sfclient, name_dw)
  792. if 'A' in t:
  793. prime.append(fengkou6[0])
  794. if 'B' in t:
  795. prime.append(fengkou6[1])
  796. if 'C' in t:
  797. prime.append(fengkou6[2])
  798. elif 'G' in t:
  799. t = select_fengkou7(data, aiclient, qwclient, sfclient, name_dw)
  800. if 'A' in t:
  801. prime.append(fengkou7[0])
  802. if 'B' in t:
  803. prime.append(fengkou7[1])
  804. if 'C' in t:
  805. prime.append(fengkou7[2])
  806. elif 'H' in t:
  807. t = select_fengkou8(data, aiclient, qwclient, sfclient, name_dw)
  808. if 'A' in t:
  809. prime.append(fengkou8[0])
  810. if 'B' in t:
  811. prime.append(fengkou8[1])
  812. if 'C' in t:
  813. prime.append(fengkou8[2])
  814. elif 'I' in t:
  815. t = select_fengkou9(data, aiclient, qwclient, sfclient, name_dw)
  816. if 'A' in t:
  817. prime.append(fengkou9[0])
  818. if 'B' in t:
  819. prime.append(fengkou9[1])
  820. if 'C' in t:
  821. prime.append(fengkou9[2])
  822. if 'D' in t:
  823. prime.append(fengkou9[3])
  824. elif 'J' in t:
  825. t = select_fengkou10(data, aiclient, qwclient, sfclient, name_dw)
  826. if 'A' in t:
  827. prime.append(fengkou10[0])
  828. if 'B' in t:
  829. prime.append(fengkou10[1])
  830. if 'C' in t:
  831. prime.append(fengkou10[2])
  832. if 'D' in t:
  833. prime.append(fengkou10[3])
  834. return prime