from template import expression
from config import simplemodel
def callzaihuansuan0105_1(bianma, label, A,B,C, aiclient, qwclient, sfclient):##C->tz
    completion = aiclient.chat.completions.create(
        model="glm-4.5-air",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": " 背景知识：厚度可以用单位米（m）来衡量，可以用单位厘米（cm）来衡量，可以用单位毫米（mm）来衡量；如果没有明确单位，默认指毫米"},
        {"role": "user", "content": "问题描述：  计量单位可以用名称或者符号表示，常用的符号包括表示米的符号m,表示千米的符号km,表示吨的符号t,表示千克的符号kg,表示平方米的符号m2,表示立方米的符号m3。给定一段工作内容描述，内容为" + C + "，给定其工作量计量单位，内容为" + A + "，记作A，再给定一个工序描述， 内容为" + label + ",它属于前述工作内容的一部分。它的计量单位为" + B + "，记作B。若A表示面积，B表示体积，且工序涉及垫层，则可以从工作内容中识别出垫层的厚度(米)，作为换算系数coefficient，最终返回A=coefficient*B。例如，工作内容涉及垫层的厚度是0.1米，则返回A=0.1*B。工作内容涉及垫层的厚度为200mm，则换算为0.2米，返回A=0.2*B。若不符合上述情况，则返回A<>B。例如，A表示长度，B表示面积，则返回A<>B。再例如，A表示重量，B表示体积，则返回A<>B"},
        ],
        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

def callzaihuansuan0105_2(bianma, label, A,B,C, aiclient, qwclient, sfclient):##C->tz
    completion = aiclient.chat.completions.create(
        model="glm-4.5-air",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": " 背景知识：长度可以用单位米（m）来衡量，可以用单位厘米（cm）来衡量，可以用单位毫米（mm）来衡量；如果没有明确单位，默认指毫米"},
        {"role": "user", "content": "问题描述：  计量单位可以用名称或者符号表示，常用的符号包括表示米的符号m,表示千米的符号km,表示吨的符号t,表示千克的符号kg,表示平方米的符号m2,表示立方米的符号m3，也有比较宽泛的数量单位，例如套。给定一段工作内容描述，内容为" + C + "，给定其工作量计量单位，内容为" + A + "，记作A，再给定一个工序描述， 内容为" + label + ",它属于前述工作内容的一部分。它的计量单位为" + B + "，记作B。若A表示套，B表示面积，且工序涉及盖板，则可以从工作内容中识别出盖板的尺寸，计算他的面积（不考虑厚度），作为换算系数coefficient，最终返回A=coefficient*B。例如，工作内容涉及盖板是长方形，面积1平方米，B是1平方米，则返回A=1*B。如果B是10平方米（m2），则返回A=0.1*B。若不符合上述情况，则返回A<>B。例如，A表示长度，B表示面积，则返回A<>B。再例如，A表示重量，B表示体积，则返回A<>B"},
        ],
        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

