|
|
|
@ -243,7 +243,7 @@ def queryByEs(query, query_tags):
|
|
|
|
|
es_search_util.es_pool.release_connection(es_conn)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def callAliYun(request, query, search_results):
|
|
|
|
|
def callLLM(request, query, search_results):
|
|
|
|
|
# 调用阿里云大模型整合结果
|
|
|
|
|
aliyun_util = request.app.state.aliyun_util
|
|
|
|
|
|
|
|
|
@ -295,16 +295,15 @@ async def rag(request: Request):
|
|
|
|
|
|
|
|
|
|
# 调用es进行混合搜索
|
|
|
|
|
search_results = queryByEs(query, query_tags)
|
|
|
|
|
# 调用阿里云大模型
|
|
|
|
|
markdown_content = callAliYun(request, query, search_results)
|
|
|
|
|
|
|
|
|
|
# 调用大模型
|
|
|
|
|
markdown_content = callLLM(request, query, search_results)
|
|
|
|
|
|
|
|
|
|
# 如果有正确的结果
|
|
|
|
|
if markdown_content:
|
|
|
|
|
logger.info(f"查询'{query}'的答案为: {markdown_content}")
|
|
|
|
|
return {"data": markdown_content, "format": "markdown"}
|
|
|
|
|
else:
|
|
|
|
|
logger.warning(f"未找到查询'{query}'的相关数据,tags: {query_tags}")
|
|
|
|
|
return {"data": "没有在知识库中找到相关的信息,无法回答此问题。",
|
|
|
|
|
"debug": {"query": query, "tags": query_tags}}
|
|
|
|
|
|
|
|
|
|
return {"data": "没有在知识库中找到相关的信息,无法回答此问题。"}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|