From 0654a54c8df2636cbee5a66e5b5e04b969c43ddf Mon Sep 17 00:00:00 2001 From: jerryjzhang Date: Wed, 9 Oct 2024 09:16:14 +0800 Subject: [PATCH] [improvement][headless-chat]Prompt the LLM to add a fixed prefix to all aliases created by the `AS` command. --- .../headless/chat/parser/llm/OnePassSCSqlGenStrategy.java | 1 + .../java/com/tencent/supersonic/evaluation/Text2SQLEval.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/llm/OnePassSCSqlGenStrategy.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/llm/OnePassSCSqlGenStrategy.java index befec2502..7ce7c2331 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/llm/OnePassSCSqlGenStrategy.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/llm/OnePassSCSqlGenStrategy.java @@ -36,6 +36,7 @@ public class OnePassSCSqlGenStrategy extends SqlGenStrategy { + "\n4.DO NOT calculate date range using functions." + "\n5.DO NOT miss the AGGREGATE operator of metrics, always add it as needed." + "\n6.ALWAYS use `with` statement if nested aggregation is needed." + + "\n7.ALWAYS add prefix `as_` to any alias created by the `AS` command." + "\n#Exemplars:\n{{exemplar}}" + "\n#Question:\nQuestion:{{question}},Schema:{{schema}},SideInfo:{{information}}"; diff --git a/launchers/standalone/src/test/java/com/tencent/supersonic/evaluation/Text2SQLEval.java b/launchers/standalone/src/test/java/com/tencent/supersonic/evaluation/Text2SQLEval.java index f1e6869f2..c7b022a84 100644 --- a/launchers/standalone/src/test/java/com/tencent/supersonic/evaluation/Text2SQLEval.java +++ b/launchers/standalone/src/test/java/com/tencent/supersonic/evaluation/Text2SQLEval.java @@ -83,10 +83,10 @@ public class Text2SQLEval extends BaseTest { @Test public void test_filter_and_top() throws Exception { long start = System.currentTimeMillis(); - QueryResult result = submitNewChat("近半个月来sales部门访问量最高的用户是谁", agentId); + QueryResult result = submitNewChat("近半个月来marketing部门访问量最高的用户是谁", agentId); durations.add(System.currentTimeMillis() - start); assert result.getQueryResults().size() == 1; - assert result.getTextResult().contains("tom"); + assert result.getTextResult().contains("dean"); } @Test