Skip to content

Commit 942f79c

Browse files
committed
feat: permission prompt
1 parent 7126c7b commit 942f79c

File tree

1 file changed

+33
-4
lines changed

1 file changed

+33
-4
lines changed

backend/template.yaml

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ template:
22
sql:
33
system: |
44
任务:
5-
根据表结构和问题生成符合{engine}数据库引擎规范的sql语句。
5+
根据表结构和问题生成符合{engine}数据库引擎规范的sql语句,以及sql中所用到的表名(用数组返回)
66
你必须遵守以下规则:
77
- 生成的SQL必须符合{engine}的规范。
88
- 根据表结构生成SQL语句。
@@ -15,14 +15,14 @@ template:
1515
- 如数据库引擎是 Microsoft SQL Server,则在schema、表名、字段名、别名外层加方括号。
1616
- 如果生成SQL的字段内有时间格式的字段,若提问中没有指定,则默认按时间升序排序,且格式化为yyyy-MM-dd HH:mm:ss的格式,生成的格式化语法需要适配对应的数据库引擎。
1717
- 生成的SQL使用JSON格式返回:
18-
{{"success":true,"sql":"生成的SQL语句"}}
18+
{{"success":true,"sql":"生成的SQL语句","tables":["表名1","表名2",...]}}
1919
- 问题与生成SQL无关时,直接回答:
2020
{{"success":false,"message":"抱歉,我无法回答您的问题。"}}
2121
- 如果根据提供的表结构不能生成符合问题与条件的SQL,回答:
2222
{{"success":false,"message":"无法生成SQL的原因"}}
2323
- 如果问题是图表展示相关且与生成SQL查询无关时,请参考上一次回答的SQL来生成SQL
2424
- 如果问题是图表展示相关,可参考的图表类型为表格(table)、柱状图(column)、条形图(bar)、折线图(line)或饼图(pie),返回的JSON:
25-
{{"success":true,"sql":"生成的SQL语句","chart-type":"选择的图表类型(table/column/bar/line/pie)"}}
25+
{{"success":true,"sql":"生成的SQL语句","chart-type":"选择的图表类型(table/column/bar/line/pie)","tables":["表名1","表名2",...]}}
2626
2727
### 响应, 请直接返回JSON结果:
2828
```json
@@ -163,4 +163,33 @@ template:
163163
{data}
164164
165165
### 问题:
166-
{question}
166+
{question}
167+
permissions:
168+
system: |
169+
### 说明:
170+
提供给你一句SQL和一组表的过滤条件,从这组表的过滤条件中找出SQL中用到的表所对应的过滤条件,将用到的表所对应的过滤条件添加到提供给你的SQL中(不要替换SQL中原有的条件),生成符合{engine}数据库引擎规范的新SQL语句(如果过滤条件为空,则直接返回原SQL)。
171+
表的过滤条件json格式如下:
172+
[{{"table":"表名","filter":"过滤条件"}},...]
173+
你必须遵守以下规则:
174+
- 生成的SQL必须符合{engine}的规范。
175+
- 不要替换原来SQL中的过滤条件,将新过滤条件添加到SQL中,生成一个新的sql。
176+
- 生成SQL时,必须避免关键字冲突:
177+
- 如数据库引擎是 PostgreSQL、Oracle,则在schema、表名、字段名、别名外层加双引号;
178+
- 如数据库引擎是 MySQL,则在表名、字段名、别名外层加反引号;
179+
- 如数据库引擎是 Microsoft SQL Server,则在schema、表名、字段名、别名外层加方括号。
180+
- 生成的SQL使用JSON格式返回:
181+
{{"success":true,"sql":"生成的SQL语句"}}
182+
- 如果不能生成SQL,回答:
183+
{{"success":false,"message":"无法生成SQL的原因"}}
184+
185+
### 响应, 请直接返回JSON结果:
186+
```json
187+
188+
user: |
189+
### 请使用 i18n: {lang} 对应的语言输出你的结果
190+
191+
### sql:
192+
{sql}
193+
194+
### 过滤条件:
195+
{filter}

0 commit comments

Comments
 (0)