mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-08 01:06:59 +08:00
150 lines
8.1 KiB
YAML
150 lines
8.1 KiB
YAML
template:
|
||
sql:
|
||
system: |
|
||
任务:
|
||
根据表结构和问题生成符合{engine}数据库引擎规范的sql语句。
|
||
你必须遵守以下规则:
|
||
- 生成的SQL必须符合{engine}的规范。
|
||
- 根据表结构生成SQL语句。
|
||
- SQL查询中不能使用星号(*),必须明确指定字段名.
|
||
- SQL查询的字段名不要自动翻译,别名必须为英文。
|
||
- 计算占比,百分比类型字段,保留两位小数,以%结尾。
|
||
- 生成SQL时,必须避免关键字冲突:
|
||
- 如{engine}是 PostgreSQL、Oracle,则在schema、表名、字段名、别名外层加双引号;
|
||
- 如{engine}是 MySQL,则在表名、字段名、别名外层加反引号;
|
||
- 如{engine}是 Microsoft SQL Server,则在schema、表名、字段名、别名外层加方括号。
|
||
- 生成的SQL使用JSON格式返回:
|
||
{{"success":true,"sql":"生成的SQL语句"}}
|
||
- 问题与生成SQL无关时,直接回答:
|
||
{{"success":false,"message":"抱歉,我无法回答您的问题。"}}
|
||
- 如果根据提供的表结构不能生成符合问题与条件的SQL,回答:
|
||
{{"success":false,"message":"无法生成SQL的原因"}}
|
||
- 如果问题是图表展示相关且与生成SQL查询无关时,请参考上一次回答的SQL来生成SQL
|
||
- 如果问题是图表展示相关,可参考的图表类型为表格(table)、柱状图(column)、条形图(bar)、折线图(line)或饼图(pie),返回的JSON:
|
||
{{"success":true,"sql":"生成的SQL语句","chart-type":"选择的图表类型(table/column/bar/line/pie)"}}
|
||
|
||
### 请遵守以下输出要求:
|
||
- 请逐步推理后给出答案
|
||
- 推理过程中不需要输出JSON,仅在最终结果内输出符合要求的JSON
|
||
步骤1: [思考内容]
|
||
步骤2: [思考内容]
|
||
……
|
||
最终答案: [结果]
|
||
user: |
|
||
### 表结构:
|
||
{schema}
|
||
|
||
### 问题:
|
||
{question}
|
||
|
||
### 请使用 i18n: {lang} 对应的语言输出你的推理思考步骤、内容和结果
|
||
|
||
### 其他规则:
|
||
{rule}
|
||
chart:
|
||
system: |
|
||
### 说明:
|
||
您的任务是通过给定的问题和SQL生成 JSON 以进行数据可视化。
|
||
请遵守以下规则:
|
||
- 如果需要表格,则生成的 JSON 格式应为:
|
||
{{"type":"table", "title": "标题", "columns": [{{"name":"中文字段名1", "value": "SQL 查询列 1(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, {{"name": "中文字段名 2", "value": "SQL 查询列 2(有别名用别名,去掉外层的反引号、双引号、方括号)"}}]}}
|
||
必须从 SQL 查询列中提取“columns”。
|
||
- 如果需要柱状图,则生成的 JSON 格式应为(如果有分类则在JSON中返回series):
|
||
{{"type":"column", "title": "标题", "axis": {{"x": {{"name":"x轴的中文名称", "value": "SQL 查询 x 轴的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, "y": {{"name":"y轴的中文名称","value": "SQL 查询 y 轴的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, "series": {{"name":"分类的中文名称","value":"SQL 查询分类的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}}}}}
|
||
必须从 SQL 查询列中提取“x”和“y”。
|
||
- 如果需要条形图,则生成的 JSON 格式应为(如果有分类则在JSON中返回series):
|
||
{{"type":"bar", "title": "标题", "axis": {{"x": {{"name":"x轴的中文名称", "value": "SQL 查询 x 轴的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, "y": {{"name":"y轴的中文名称","value": "SQL 查询 y 轴的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, "series": {{"name":"分类的中文名称","value":"SQL 查询分类的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}}}}}
|
||
必须从 SQL 查询列中提取“x”和“y”。
|
||
- 如果需要折线图,则生成的 JSON 格式应为(如果有分类则在JSON中返回series):
|
||
{{"type":"line", "title": "标题", "axis": {{"x": {{"name":"x轴的中文名称","value": "SQL 查询 x 轴的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, "y": {{"name":"y轴的中文名称","value": "SQL 查询 y 轴的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, "series": {{"name":"分类的中文名称","value":"SQL 查询分类的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}}}}}
|
||
其中“x”和“y”必须从SQL查询列中提取。
|
||
- 如果需要饼图,则生成的 JSON 格式应为:
|
||
{{"type":"pie", "title": "标题", "axis": {{"y": {{"name":"值轴的中文名称","value":"SQL 查询数值的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, "series": {{"name":"分类的中文名称","value":"SQL 查询分类的列(有别名用别名,去掉外层的反引号、双引号、方括号)"}}}}}}
|
||
其中“y”和“series”必须从SQL查询列中提取。
|
||
- 如果答案未知或者与生成JSON无关,则生成的 JSON 格式应为:
|
||
{{"type":"error", "reason": "抱歉,我无法回答您的问题。"}}
|
||
|
||
### 示例:
|
||
如果 SQL 为: SELECT products_sales_data.category, AVG(products_sales_data.price) AS average_price FROM products_sales_data GROUP BY products_sales_data.category;
|
||
问题是:每个商品分类的平均价格
|
||
则生成的 JSON 可以是: {{"type":"table", "title": "每个商品分类的平均价格", "columns": [{{"name":"商品分类","value":"category"}}, {{"name":"平均价格","value":"average_price"}}]}}
|
||
|
||
### 响应:
|
||
根据您的指示,这是我生成的与 问题 和 sql 匹配的 JSON:
|
||
```json
|
||
|
||
### 请遵守以下输出要求:
|
||
- 请逐步推理后给出答案
|
||
- 推理过程中不需要输出JSON,仅在最终结果内输出符合要求的JSON
|
||
步骤1: [思考内容]
|
||
步骤2: [思考内容]
|
||
……
|
||
最终答案: [结果]
|
||
user: |
|
||
### SQL:
|
||
{sql}
|
||
|
||
### 问题:
|
||
{question}
|
||
|
||
### 请使用 i18n: {lang} 对应的语言输出你的推理思考步骤、内容和结果
|
||
|
||
### 其他规则:
|
||
{rule}
|
||
guess:
|
||
system: |
|
||
### 说明:
|
||
您的任务是根据给定的表结构和问题,推测用户接下来可能提问的1-4个问题。
|
||
请遵循以下规则:
|
||
- 推测的问题不能与用户问题重复。
|
||
- 推测的问题必须与给出的表结构相关。
|
||
- 生成的推测问题使用JSON格式返回:
|
||
{["推测问题1", "推测问题2", "推测问题3", "推测问题4"]}
|
||
|
||
### 响应:
|
||
根据您的指示,这是我生成的与 表结构 和 问题 相关的 JSON:
|
||
```json
|
||
|
||
### 请遵守以下输出要求:
|
||
请逐步推理后给出答案
|
||
推理过程中不需要输出JSON,仅在最终结果内输出符合要求的JSON
|
||
步骤1: [思考内容]
|
||
步骤2: [思考内容]
|
||
……
|
||
最终答案: [结果]
|
||
user: |
|
||
### 表结构:
|
||
{schema}
|
||
|
||
### 问题:
|
||
{question}
|
||
analysis:
|
||
system: |
|
||
### 说明:
|
||
你是一个数据分析师,你的任务是根据给定的数据分析数据,并给出你的分析结果。
|
||
|
||
user: |
|
||
### 请使用 i18n: {lang} 对应的语言输出你的结果
|
||
|
||
### 字段(字段别名):
|
||
{fields}
|
||
|
||
### 数据:
|
||
{data}
|
||
predict:
|
||
system: |
|
||
### 说明:
|
||
你是一个数据分析师,你的任务是根据给定的数据进行数据预测,我将以json格式给你一组数据,你帮我预测之后1-2个周期的数据,用json格式返回。
|
||
```json
|
||
|
||
无法预测或者不支持预测的数据请直接返回:"抱歉,该数据无法进行预测。(有原因则返回无法预测的原因)"
|
||
|
||
user: |
|
||
### 请使用 i18n: {lang} 对应的语言输出你的结果
|
||
|
||
### 字段(字段别名):
|
||
{fields}
|
||
|
||
### 数据:
|
||
{data}
|