Compare commits
No commits in common. "f1fdb502be9e90078d2be223daf055027826f262" and "1b4298701248335b57b357939e859f0f3fc7dc40" have entirely different histories.
f1fdb502be
...
1b42987012
@ -149,9 +149,6 @@ async def fusedsearch(request, params_kw, *params):
|
|||||||
|
|
||||||
debug(f"fiids: {fiids}")
|
debug(f"fiids: {fiids}")
|
||||||
|
|
||||||
# 验证 fiids的orgid与orgid = await f()是否一致
|
|
||||||
await _validate_fiids_orgid(fiids, orgid, kw)
|
|
||||||
|
|
||||||
service_params = await get_service_params(orgid)
|
service_params = await get_service_params(orgid)
|
||||||
if not service_params:
|
if not service_params:
|
||||||
raise ValueError("无法获取服务参数")
|
raise ValueError("无法获取服务参数")
|
||||||
@ -193,58 +190,7 @@ async def fusedsearch(request, params_kw, *params):
|
|||||||
"error": str(e)
|
"error": str(e)
|
||||||
}
|
}
|
||||||
|
|
||||||
async def _validate_fiids_orgid(fiids, orgid, kw):
|
|
||||||
"""验证 fiids 的 orgid 与当前用户 orgid 是否一致"""
|
|
||||||
if fiids:
|
|
||||||
db = DBPools()
|
|
||||||
dbname = kw.get('get_module_dbname')('rag')
|
|
||||||
sql_opts = """SELECT orgid FROM kdb WHERE id = ${id}$"""
|
|
||||||
try:
|
|
||||||
async with db.sqlorContext(dbname) as sor:
|
|
||||||
result = await sor.sqlExe(sql_opts, {"id": fiids[0]})
|
|
||||||
if not result:
|
|
||||||
raise ValueError(f"未找到 fiid={fiids[0]} 的记录")
|
|
||||||
kdb_orgid = result[0].get('orgid')
|
|
||||||
if kdb_orgid != orgid:
|
|
||||||
raise ValueError(f"orgid 不一致: kdb.orgid={kdb_orgid}, user orgid={orgid}")
|
|
||||||
except Exception as e:
|
|
||||||
error(f"orgid 验证失败: {str(e)}")
|
|
||||||
raise
|
|
||||||
|
|
||||||
async def _validate_fiids_orgid(fiids, orgid, kw):
|
|
||||||
"""验证 fiids 的 orgid 与当前用户 orgid 是否一致"""
|
|
||||||
if fiids:
|
|
||||||
db = DBPools()
|
|
||||||
dbname = kw.get('get_module_dbname')('rag')
|
|
||||||
sql_opts = """SELECT orgid FROM kdb WHERE id = ${id}$"""
|
|
||||||
try:
|
|
||||||
async with db.sqlorContext(dbname) as sor:
|
|
||||||
result = await sor.sqlExe(sql_opts, {"id": fiids[0]})
|
|
||||||
if not result:
|
|
||||||
raise ValueError(f"未找到 fiid={fiids[0]} 的记录")
|
|
||||||
kdb_orgid = result[0].get('orgid')
|
|
||||||
if kdb_orgid != orgid:
|
|
||||||
raise ValueError(f"orgid 不一致: kdb.orgid={kdb_orgid}, user orgid={orgid}")
|
|
||||||
except Exception as e:
|
|
||||||
error(f"orgid 验证失败: {str(e)}")
|
|
||||||
raise
|
|
||||||
|
|
||||||
|
|
||||||
def _combine_query_with_triplets(query, triplets):
|
|
||||||
"""拼接查询文本和三元组文本"""
|
|
||||||
triplet_texts = []
|
|
||||||
for triplet in triplets:
|
|
||||||
head = triplet.get('head', '')
|
|
||||||
type_ = triplet.get('type', '')
|
|
||||||
tail = triplet.get('tail', '')
|
|
||||||
if head and type_ and tail:
|
|
||||||
triplet_texts.append(f"{head} {type_} {tail}")
|
|
||||||
else:
|
|
||||||
debug(f"无效三元组: {triplet}")
|
|
||||||
|
|
||||||
combined_text = query
|
|
||||||
if triplet_texts:
|
|
||||||
combined_text += "".join(triplet_texts)
|
|
||||||
|
|
||||||
debug(f"拼接文本: {combined_text[:200]}... (总长度: {len(combined_text)}, 三元组数量: {len(triplet_texts)})")
|
|
||||||
return combined_text
|
|
||||||
Loading…
x
Reference in New Issue
Block a user