Commit c357bb83a594136d068723562156d26133497a64
1 parent
75b396de
添加向量库
Showing
2 changed files
with
8 additions
and
4 deletions
src/main/java/com/xly/agent/DynamicTableNl2SqlAiAgent.java
| ... | ... | @@ -26,10 +26,10 @@ public interface DynamicTableNl2SqlAiAgent { |
| 26 | 26 | 3.2 SQL所有字段均采用 表名.字段名 方式生成,务必确保 字段名 在相应的 表名 描述的字段中存在,如果不存在重试其它方式,直到满足条件; |
| 27 | 27 | 3.3 SQL所有字段涉及的所有表名,都要**严格**按下面[涉及表名]中的表次序关联,没有关联不允许使用; |
| 28 | 28 | 3.4 SQL所有的查询条件,如果是字符类型的字段,均需要加不为空判断,用示例格式判断,示例:ifnull(customername,'')<>''; |
| 29 | - 3.5 SQL所有的查询条件,如果是日期类型的字段,均需要加不为空判断,用示例格式判断,示例:tmakedate is not Null; | |
| 30 | - 3.6 SQL所有的显示字段的别名中,不能出现空格,如: tCreateDate as earliest 订单日期,正确的应是 tCreateDate as earliest订单日期 | |
| 31 | - 3.7 在AVG聚合函数中不允许使用LAG、LEAD 等窗口函数 | |
| 32 | - 3.8 AVG(LAG(...))这种嵌套是不允许的 | |
| 29 | + 3.5 SQL所有的查询条件,如果是布尔类型的字段 判断值只能是1或者0,1表示:true,0表示:false,例如:viw_ai_quotation.bCheck = 1; | |
| 30 | + 3.6 SQL所有的查询条件,如果是日期类型的字段,均需要加不为空判断,用示例格式判断,示例:tmakedate is not Null; | |
| 31 | + 3.7 SQL所有的显示字段的别名中,不能出现空格,如: tCreateDate as earliest 订单日期,正确的应是 tCreateDate as earliest订单日期 | |
| 32 | + 3.8 在AVG聚合函数中不允许使用LAG、LEAD 等窗口函数 例如:AVG(LAG(...))这种嵌套是不允许的 | |
| 33 | 33 | 3.9 GROUP BY 后面不允许使用窗口函数 |
| 34 | 34 | 4. 安全约束: |
| 35 | 35 | - 禁止:DDL/DML语句(DROP/ALTER/INSERT/UPDATE/DELETE等) | ... | ... |
src/main/java/com/xly/service/XlyErpService.java
| ... | ... | @@ -668,6 +668,10 @@ public class XlyErpService { |
| 668 | 668 | //如果查询不到数据走向量库 |
| 669 | 669 | if(ObjectUtil.isEmpty(sqlResult)){ |
| 670 | 670 | session.setDbType("X"); |
| 671 | + | |
| 672 | + //数据集为空的也记录到历史问题中 | |
| 673 | + doAiSqlErrorHistoryThread(session, cleanSql, StrUtil.EMPTY, StrUtil.EMPTY,input); | |
| 674 | + | |
| 671 | 675 | return getMilvus(session, input, aiAgent,false); |
| 672 | 676 | } |
| 673 | 677 | // 5. 调用AI服务生成自然语言解释(传入表结构,让解释更贴合业务) | ... | ... |