Commit c357bb83a594136d068723562156d26133497a64

Authored by qianbao
1 parent 75b396de

添加向量库

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服务生成自然语言解释(传入表结构,让解释更贴合业务)
... ...