feat:修改nl2sql功能

This commit is contained in:
2026-09-14 10:57:48 +08:00
parent a7f9e182a4
commit 67d5cfc2b8
15 changed files with 206 additions and 54 deletions
+20 -6
View File
@@ -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)