|
|
@@ -2443,6 +2443,67 @@ async def tiaojia(client, biao_id, bh, bm, mingcheng, danwei, jiage, glf, lr, bz
|
|
|
|
|
|
#################清单AI#############################
|
|
|
|
|
|
+async def tuijian(client, query):##default return 10 neighbors
|
|
|
+
|
|
|
+ collection = client.get_or_create_collection(name="qingdan")
|
|
|
+ result = collection.get(ids=[query], include=["documents", "metadatas", "embeddings"])
|
|
|
+ if result and len(result['embeddings']) > 0:
|
|
|
+ result_ = re.findall(r'\d{9}', query)
|
|
|
+ bh = result_[0]
|
|
|
+ if bh[0:2] == '01':
|
|
|
+ collection = client.get_or_create_collection(name="de-tj")
|
|
|
+ hit = collection.query(
|
|
|
+ query_embeddings=result['embeddings']
|
|
|
+ )
|
|
|
+ answer = []
|
|
|
+ if len(hit['ids']) == 0:
|
|
|
+ return answer
|
|
|
+ for i in range(len(hit['ids'][0])):
|
|
|
+ answer.append({'组价定额': hit['ids'][0][i], '定额名称': hit['documents'][0][i], "id": hit['ids'][0][i]})
|
|
|
+ return answer
|
|
|
+ elif bh[0:2] == '03':
|
|
|
+ collection = client.get_or_create_collection(name="de-az")
|
|
|
+ hit = collection.query(
|
|
|
+ query_embeddings=result['embeddings']
|
|
|
+ )
|
|
|
+ answer = []
|
|
|
+ if len(hit['ids']) == 0:
|
|
|
+ return answer
|
|
|
+ for i in range(len(hit['ids'][0])):
|
|
|
+ answer.append({'组价定额': hit['ids'][0][i], '定额名称': hit['documents'][0][i], "id": hit['ids'][0][i]})
|
|
|
+ return answer
|
|
|
+ elif bh[0:2] == '04':
|
|
|
+ collection = client.get_or_create_collection(name="de-sz")
|
|
|
+ hit = collection.query(
|
|
|
+ query_embeddings=result['embeddings']
|
|
|
+ )
|
|
|
+ answer = []
|
|
|
+ if len(hit['ids']) == 0:
|
|
|
+ return answer
|
|
|
+ for i in range(len(hit['ids'][0])):
|
|
|
+ answer.append({'组价定额': hit['ids'][0][i], '定额名称': hit['documents'][0][i], "id": hit['ids'][0][i]})
|
|
|
+ return answer
|
|
|
+ elif bh[0:2] == '05':
|
|
|
+ collection = client.get_or_create_collection(name="de-yl")
|
|
|
+ hit = collection.query(
|
|
|
+ query_embeddings=result['embeddings']
|
|
|
+ )
|
|
|
+ answer = []
|
|
|
+ if len(hit['ids']) == 0:
|
|
|
+ return answer
|
|
|
+ for i in range(len(hit['ids'][0])):
|
|
|
+ answer.append({'组价定额': hit['ids'][0][i], '定额名称': hit['documents'][0][i], "id": hit['ids'][0][i]})
|
|
|
+ return answer
|
|
|
+ else:
|
|
|
+ return []
|
|
|
+
|
|
|
+
|
|
|
+ else:
|
|
|
+ return []
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
async def zujia(client, query):
|
|
|
db = client["baojia"]
|
|
|
collection = db["qdxm"]
|