|
|
@@ -5,6 +5,8 @@ from buchong import buchong
|
|
|
from fuzhu_util import fuzhu_util
|
|
|
from f_youqi import f_youqi
|
|
|
import re
|
|
|
+import random
|
|
|
+from qwen32b call32b
|
|
|
from config import simplemodel
|
|
|
from template import expression
|
|
|
from fallback import fallback
|
|
|
@@ -334,20 +336,11 @@ def callzaidw(A,B):
|
|
|
|
|
|
|
|
|
def callzai(A,B,C):
|
|
|
- completion = qwclient.chat.completions.create(
|
|
|
- # 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
|
|
|
- #model="glm-4.5-flash",
|
|
|
- model="Qwen/Qwen3-32B",
|
|
|
- messages=[
|
|
|
+ messages=[
|
|
|
{"role": "system", "content": "You are a helpful assistant."},
|
|
|
{"role": "user", "content": " 给定一条主定额,内容为" + A + ",记作A,再给定一条配套定额,内容为" + B + ",记作B。可以通过简单的组合,来表达对应的工作内容的数量,比如A+B可以表达,主定额的工作量加上配套定额的工作量;再比如,A+B*2可以表达, 主定额的工作量加上两倍的配套定额的工作量;再比如,A+B*(-2)可以表达, 主定额减去两倍的配套定额的工作量;再比如,A可以表示,不使用配套定额,仅表示主定额的工作量。现在给你一条工程量清单,内容为" + C + ",该条清单包含了主定额描述的工作内容,但是数量并不一定一致。请你找到清单中对应的描述(不需要考虑龙骨类型是否完全一致,不需要考虑混凝土强度等级是否完全一致,需要区分面层和找平找坡层),辨识出工作数量(砂浆保护层厚度跟砂浆找平层厚度不可合并),并组合A与B,表示出清单描述的对应工作数量。请给出分析过程,并请最终输出类似A+B、A+B*2、A-B*2的格式,不要输出A+2*B、A-2*B的格式。如果清单里相应工作量的描述不明确,请输出A作为答案 "},
|
|
|
],
|
|
|
- # Qwen3模型通过enable_thinking参数控制思考过程(开源版默认True,商业版默认False)
|
|
|
- # 使用Qwen3开源版模型时,若未启用流式输出,请将下行取消注释,否则会报错
|
|
|
- extra_body={"enable_thinking": False},
|
|
|
- #extra_body={"thinking": {"type": "disabled"}},
|
|
|
- )
|
|
|
- json_string = completion.choices[0].message.content
|
|
|
+ json_string = call32b(messages)
|
|
|
print(json_string)
|
|
|
if len(json_string) < 4:
|
|
|
return "result:" + json_string
|
|
|
@@ -637,6 +630,7 @@ def clarify(data):
|
|
|
from redis.exceptions import TimeoutError
|
|
|
@celery_app.task(autoretry_for=(TimeoutError,))
|
|
|
def process_data(data:dict)-> dict:
|
|
|
+ clone = json.loads(json.dumps(data))
|
|
|
placeholder, kuailiao = clarify(data)
|
|
|
label = data['mc'] + ' ' + data['tz']
|
|
|
if data['bianma'].startswith("0117"):
|
|
|
@@ -1007,12 +1001,12 @@ def process_data(data:dict)-> dict:
|
|
|
print(data['bh'])
|
|
|
print(data['name'])
|
|
|
qd=anzhuangjsj(data['name'], data['bh'], dbcollection)
|
|
|
- response = requests.post("http://localhost:3000/api/transform", json={'bianma': data['bianma'], 'mc': data['mc'], 'tz': data['tz'], 'dw': data['dw'], 'sl': data['sl'], 'n': data['n'], "extra": extra_info, 'result':qd, 'fuzhu': [], 'replace': replace, 'fy': fy})
|
|
|
+ response = requests.post("http://localhost:3000/api/transform", json={'bianma': data['bianma'], 'mc': clone['mc'], 'tz': clone['tz'], 'dw': data['dw'], 'sl': data['sl'], 'n': data['n'], "extra": extra_info, 'result':qd, 'fuzhu': [], 'replace': replace, 'fy': fy})
|
|
|
return {"result": response.json()}
|
|
|
if '高强螺栓' in extra_info:
|
|
|
- response = requests.post("http://localhost:3000/api/transform", json={'bianma': data['bianma'], 'mc': data['mc'], 'tz': data['tz'], 'dw': data['dw'], 'sl': data['sl'], 'n': data['n'], "extra": extra_info, 'result': [], 'fuzhu': fuzhu_selected, 'replace': replace, 'fy': '{}'})
|
|
|
+ response = requests.post("http://localhost:3000/api/transform", json={'bianma': data['bianma'], 'mc': clone['mc'], 'tz': clone['tz'], 'dw': data['dw'], 'sl': data['sl'], 'n': data['n'], "extra": extra_info, 'result': [], 'fuzhu': fuzhu_selected, 'replace': replace, 'fy': '{}'})
|
|
|
return {"result": response.json()}
|
|
|
else:
|
|
|
- response = requests.post("http://localhost:3000/api/transform", json={'bianma': data['bianma'], 'mc': data['mc'], 'tz': data['tz'], 'dw': data['dw'], 'sl': data['sl'], 'n': data['n'], "extra": extra_info, 'result': result, 'fuzhu': fuzhu_selected, 'replace': replace, 'fy': fy})
|
|
|
+ response = requests.post("http://localhost:3000/api/transform", json={'bianma': data['bianma'], 'mc': clone['mc'], 'tz': clone['tz'], 'dw': data['dw'], 'sl': data['sl'], 'n': data['n'], "extra": extra_info, 'result': result, 'fuzhu': fuzhu_selected, 'replace': replace, 'fy': fy})
|
|
|
return {"result": response.json()}
|
|
|
|