huansuan0108.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import re
  2. from config import simplemodel
  3. from template import expression
  4. with open('gangjiegouhuansuan','r') as f:
  5. content = f.read()
  6. import json
  7. obj = json.loads(content)
  8. options=[]
  9. for i in range(len(obj['mc'])):
  10. options.append('给定选项A'+str(i)+', 内容为'+obj['mc'][i])
  11. options = ','.join(options)
  12. def callzaihuansuan0108_1(bianma, label, A,B,C, aiclient, qwclient, sfclient):##C->tz
  13. completion = aiclient.chat.completions.create(
  14. model="glm-4.5-flash",
  15. #model="Qwen/Qwen3-14B",
  16. #model="qwen3-14b",
  17. messages=[
  18. {"role": "system", "content": "You are a helpful assistant."},
  19. {"role": "user", "content": "问题描述: 计量单位可以用名称或者符号表示,常用的符号包括表示米的符号m,表示千米的符号km, 表示数目的符号“个”,对于门窗安装而言,数量词可以用樘.给定一段工作内容描述,内容为" + C + ",给定其工作量计量单位,内容为" + A + ",记作A,再给定一个工作量计量单位,内容为" + B + ",记作B。请先辨别出上述个单位表示什么,然后解决下面的问题。如果经过辨别后,你认为A表示樘,B表示面积,且工作内容涉及门窗洞口尺寸,则可以计算洞口面积(单位为平方米),作为换算系数,返回A=coefficient*B。例如,工作内容涉及门洞口面积是0.1平方米,则返回A=0.1*B。如果B表示10m2, 则返回A=0.01*B。若A不表示樘,或者B不表示面积,或工作内容没有给出洞口尺寸,则返回A<>B。例如,A表示长度,B表示面积,则返回A<>B。再例如,A表示重量,B表示体积,则返回A<>B, 再比如,A表示长度,B表示数目(个),则返回A<>B"},
  20. ],
  21. #extra_body={"enable_thinking": False},
  22. extra_body={"thinking": {"type": "disabled"}},
  23. )
  24. json_string = completion.choices[0].message.content
  25. print(json_string)
  26. completion = sfclient.chat.completions.create(
  27. model=simplemodel(),
  28. messages=expression(json_string),
  29. extra_body={"thinking": {"type": "disabled"}},
  30. )
  31. json_string = completion.choices[0].message.content
  32. print(json_string)
  33. return json_string