feat:修改nl2sql功能
This commit is contained in:
+20
-6
@@ -119,14 +119,16 @@ def history_payload(history) -> dict:
|
||||
|
||||
async def enrich_query_result(question: str, result, *, llm_client):
|
||||
"""为已脱敏结果补充摘要和安全的基础图表配置。"""
|
||||
summary = await summarize_result(
|
||||
question,
|
||||
result.columns,
|
||||
result.rows,
|
||||
llm_client=llm_client,
|
||||
)
|
||||
return replace(
|
||||
result,
|
||||
summary=await summarize_result(
|
||||
question,
|
||||
result.columns,
|
||||
result.rows,
|
||||
llm_client=llm_client,
|
||||
),
|
||||
summary=summary,
|
||||
answer=summary,
|
||||
chart=build_chart_config(result.columns, result.rows),
|
||||
)
|
||||
|
||||
@@ -301,6 +303,11 @@ async def query_data(
|
||||
warnings=[*cached_result.warnings, "cache_hit"],
|
||||
)
|
||||
else:
|
||||
parameters = (
|
||||
{"advisor_id": user.id}
|
||||
if ":advisor_id" in validated_sql.sql
|
||||
else None
|
||||
)
|
||||
result = await execute_readonly_sql(
|
||||
db,
|
||||
validated_sql,
|
||||
@@ -308,8 +315,14 @@ async def query_data(
|
||||
trace_id=trace_id,
|
||||
user_id=user.id,
|
||||
masks=permission.get("masks"),
|
||||
parameters=parameters,
|
||||
)
|
||||
else:
|
||||
parameters = (
|
||||
{"advisor_id": user.id}
|
||||
if ":advisor_id" in validated_sql.sql
|
||||
else None
|
||||
)
|
||||
result = await execute_readonly_sql(
|
||||
db,
|
||||
validated_sql,
|
||||
@@ -317,6 +330,7 @@ async def query_data(
|
||||
trace_id=trace_id,
|
||||
user_id=user.id,
|
||||
masks=permission.get("masks"),
|
||||
parameters=parameters,
|
||||
)
|
||||
if result.summary is None:
|
||||
result = await enrich_query_result(body.question, result, llm_client=llm)
|
||||
|
||||
Reference in New Issue
Block a user