import re
from config import simplemodel
from template import expression
with open('gangjiegouhuansuan','r') as f:
    content = f.read()
import json
obj = json.loads(content)
options=[]
for i in range(len(obj['mc'])):
    options.append('给定选项A'+str(i)+', 内容为'+obj['mc'][i])
options = ','.join(options)
def callzaihuansuan0110_1(bianma, label, A,B,C, aiclient, qwclient, sfclient):##C->tz
    completion = aiclient.chat.completions.create(
        model="glm-4.5-flash",
        #model="Qwen/Qwen3-14B",
        #model="qwen3-14b",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "在施工上下文中，描述厚度，不加计量单位，则默认指的是毫米（mm）。例如，找坡厚度30，指的是30mm厚"},
        {"role": "user", "content": "问题描述：  计量单位可以用名称或者符号表示，常用的符号包括表示米的符号m,表示平方米的符号m2, 表示立方米的符号m3.给定一段工作内容描述，内容为" + C + "，给定其工作量计量单位，内容为" + A + "，记作A，再给定一个工作量计量单位，内容为" + B + "，记作B。请先辨别出上述个单位表示什么，然后解决下面的问题。如果经过辨别后，你认为A表示面积，B表示体积，且工作内容涉及混凝土找坡，则可以以找坡厚度(米)作为换算系数，返回A=coefficient*B。例如，工作内容涉及找坡厚度30mm，则返回A=0.03*B。若A不表示面积，或者B不表示体积，或工作内容没有给出找坡厚度，则返回A<>B。例如，A表示长度，B表示面积，则返回A<>B。再例如，A表示重量，B表示体积，则返回A<>B, 再比如，A表示长度，B表示数目（个），则返回A<>B"},
        ],
        #extra_body={"enable_thinking": False},
        extra_body={"thinking": {"type": "disabled"}},
    )
    json_string = completion.choices[0].message.content
    print(json_string)
    completion = sfclient.chat.completions.create(
        model=simplemodel(),
        messages=expression(json_string),
        extra_body={"thinking": {"type": "disabled"}},
    )
    json_string = completion.choices[0].message.content
    print(json_string)
    return json_string

    
