huansuan0103.py 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. def callzaihuansuan0103_1(bianma, A,B,C, aiclient):
  2. completion = aiclient.chat.completions.create(
  3. model="glm-4.5-flash",
  4. messages=[
  5. {"role": "system", "content": "You are a helpful assistant."},
  6. {"role": "user", "content": " 背景知识:已知预应力高强混凝土管桩(PHC)型号定义为PHC-AAA(BB)CC-DDD-E1,E2,E3,其中AAA代表管桩外径,BB代表管桩壁厚,CC表示型号,DDD表示混凝土强度等级,E1/E2/E3表示分段桩长。例如,PHC-500(125)-AB-C80-9,7表示外径500mm,壁厚125mm,型号AB,混凝土强度C80,分段桩长分别为9米和7米,总桩长16米"},
  7. {"role": "user", "content": " 背景知识:送桩 是指当桩顶设计标高低于地面时,需要把桩顶打入到设计标高。计算时,送桩长度为自桩顶面到自然地坪高度另加0.5米,送桩系数为送桩长度除以总桩长。例如,某桩总长10米,送桩长度2米,则送桩系数为2米除以10米等于0.2"},
  8. {"role": "user", "content": "问题描述: 计量单位可以用名称或者符号表示,常用的符号包括表示米的符号m,表示千米的符号km,表示吨的符号t,表示千克的符号kg,表示平方米的符号m2,表示立方米的符号m3。给定一段工作内容描述,内容为" + C + ",给定其工作量计量单位,内容为" + A + ",记作A,再给定一个工作量计量单位,内容为" + B + ",记作B。若A表示长度米,B表示体积立方米,且工作内容涉及送桩,则可以计算桩的截面积(单位为平方米),作为换算系数coefficient_a,再计算送桩系数,作为换算系数coefficient_b, 最终返回A=coefficient_a*coefficient_b*B。例如,工作内容涉及桩的截面积是0.1平方米,送桩系数为0.1,则返回A=0.01*B。工作内容涉及桩的截面积为0.2,送桩系数为0.2,则返回A=0.04*B。若不符合上述情况,则返回A<>B。例如,A表示长度,B表示面积,则返回A<>B。再例如,A表示重量,B表示体积,则返回A<>B"},
  9. ],
  10. extra_body={"thinking": {"type": "disabled"}},
  11. )
  12. json_string = completion.choices[0].message.content
  13. print(json_string)
  14. completion = aiclient.chat.completions.create(
  15. model="glm-4.5-flash",
  16. messages=[
  17. {"role": "system", "content": "You are a helpful assistant.请将最终答案以JSON格式输出"},
  18. {"role": "user", "content": " 给你一段文字如下, " + json_string + ",其中给出了一个类似于A=B的表达式作为答案,请将该最终答案输出"},
  19. ],
  20. extra_body={"thinking": {"type": "disabled"}},
  21. )
  22. json_string = completion.choices[0].message.content
  23. print(json_string)
  24. return json_string
  25. def callzaihuansuan0103_2(bianma, A,B,C, aiclient, qwclient):
  26. print("0103_2")
  27. print(A)
  28. print(B)
  29. print(C)
  30. completion = aiclient.chat.completions.create(
  31. model="glm-4.5-flash",
  32. #model="Qwen/Qwen3-14B",
  33. #model="qwen3-14b",
  34. messages=[
  35. {"role": "system", "content": "You are a helpful assistant."},
  36. {"role": "user", "content": " 背景知识:已知预应力高强混凝土管桩(PHC)型号定义为PHC-AAA(BB)CC-DDD-E1,E2,E3,其中AAA代表管桩外径,BB代表管桩壁厚,CC表示型号,DDD表示混凝土强度等级,E1/E2/E3表示分段桩长。例如,PHC-500(125)-AB-C80-9,7表示外径500mm,壁厚125mm,型号AB,混凝土强度C80,分段桩长分别为9米和7米,总桩长16米"},
  37. {"role": "user", "content": " 背景知识:送桩 是指当桩顶设计标高低于地面时,需要把桩顶打入到设计标高。计算时,送桩长度为自桩顶面到自然地坪高度另加0.5米"},
  38. {"role": "user", "content": "问题描述: 计量单位可以用名称或者符号表示,常用的符号包括表示米的符号m,表示千米的符号km,表示吨的符号t,表示千克的符号kg,表示平方米的符号m2,表示立方米的符号m3, 表示数目的符号“个”。给定一段工作内容描述,内容为" + C + ",给定其工作量计量单位,内容为" + A + ",记作A,再给定一个工作量计量单位,内容为" + B + ",记作B。请先辨别出上述个单位表示什么,然后解决下面的问题。如果经过辨别后,你认为A表示长度米,B表示体积立方米,且工作内容涉及打桩、压桩,则可以计算桩的截面积(单位为平方米),作为换算系数,返回A=coefficient*B。例如,工作内容涉及桩的截面积是0.1平方米,则返回A=0.1*B。工作内容涉及桩的截面积为0.2,则返回A=0.2*B。若A不表示长度米,或者B不表示体积立方米,或工作内容不符合上述情况,则返回A<>B。例如,A表示长度,B表示面积,则返回A<>B。再例如,A表示重量,B表示体积,则返回A<>B, 再比如,A表示长度,B表示数目(个),则返回A<>B"},
  39. ],
  40. #extra_body={"enable_thinking": False},
  41. extra_body={"thinking": {"type": "disabled"}},
  42. )
  43. json_string = completion.choices[0].message.content
  44. print(json_string)
  45. completion = aiclient.chat.completions.create(
  46. model="glm-4.5-flash",
  47. messages=[
  48. {"role": "system", "content": "You are a helpful assistant.请将最终答案以JSON格式输出"},
  49. {"role": "user", "content": " 给你一段文字如下, " + json_string + ",其中给出了一个类似于A=B的表达式作为答案,表达式中不含有圆周率π, 请将该最终答案输出"},
  50. ],
  51. extra_body={"thinking": {"type": "disabled"}},
  52. )
  53. json_string = completion.choices[0].message.content
  54. print(json_string)
  55. return json_string
  56. def callzaihuansuan0103_3(bianma, A,B,C, aiclient, qwclient):
  57. print("0103_3")
  58. print(A)
  59. print(B)
  60. print(C)
  61. completion = aiclient.chat.completions.create(
  62. model="glm-4.5-flash",
  63. #model="Qwen/Qwen3-14B",
  64. #model="qwen3-14b",
  65. messages=[
  66. {"role": "system", "content": "You are a helpful assistant."},
  67. {"role": "user", "content": " 背景知识:已知预应力高强混凝土管桩(PHC)型号定义为PHC-AAA(BB)CC-DDD-E1,E2,E3,其中AAA代表管桩外径,BB代表管桩壁厚,CC表示型号,DDD表示混凝土强度等级,E1/E2/E3表示分段桩长。例如,PHC-500(125)-AB-C80-9,7表示外径500mm,壁厚125mm,型号AB,混凝土强度C80,分段桩长分别为9米和7米,总桩长16米"},
  68. {"role": "user", "content": " 背景知识:接桩,可以将多节管桩连续打入地基,直至达到设计深度.焊接是一种接桩的方法。两节桩接桩,有一个接头;三节桩焊接,有两个接头;以此类推;可以定义接桩系数,为单位长度的接头个数。例如,桩总长10米,有接头1个,则接桩系数为0.1;再例如,桩总长20米,有接头4个,则接桩系数为0.2"},
  69. {"role": "user", "content": "问题描述: 计量单位可以用名称或者符号表示,常用的符号包括表示米的符号m,表示千米的符号km,表示吨的符号t,表示千克的符号kg,表示平方米的符号m2,表示立方米的符号m3, 表示数目的符号“个”。给定一段工作内容描述,内容为" + C + ",该工作需要进行接桩,给定其工作量计量单位,内容为" + A + ",记作A,再给定一个工作量计量单位,内容为" + B + ",记作B。请先辨别出上述个单位表示什么,然后解决下面的问题。如果经过辨别后,你认为A表示长度米,B表示接头个数,且工作内容涉及接桩,则可以计算接桩系数,作为换算系数,返回A=coefficient*B。例如,工作内容涉及桩的接桩系数为0.1,则返回A=0.1*B。工作内容涉及桩的接桩系数为0.2,则返回A=0.2*B。若A不表示长度米,或者B不表示接头个数,或工作内容不符合上述情况,则返回A<>B。例如,A表示长度,B表示面积,则返回A<>B。再例如,A表示重量,B表示体积,则返回A<>B"},
  70. ],
  71. #extra_body={"enable_thinking": False},
  72. extra_body={"thinking": {"type": "disabled"}},
  73. )
  74. json_string = completion.choices[0].message.content
  75. print(json_string)
  76. completion = aiclient.chat.completions.create(
  77. model="glm-4.5-flash",
  78. messages=[
  79. {"role": "system", "content": "You are a helpful assistant.请将最终答案以JSON格式输出"},
  80. {"role": "user", "content": " 给你一段文字如下, " + json_string + ",其中给出了一个类似于A=B的表达式作为答案,请将该最终答案输出"},
  81. ],
  82. extra_body={"thinking": {"type": "disabled"}},
  83. )
  84. json_string = completion.choices[0].message.content
  85. print(json_string)
  86. return json_string