浏览代码

异常处理

Gaokun Wang 4 月之前
父节点
当前提交
be5441eac3

+ 11 - 5
eco-ai/ai-ollama-biz/src/main/java/org/eco/vip/ai/ollama/service/OllamaService.java

@@ -79,11 +79,17 @@ public class OllamaService implements IOllamaService {
 
     @Override
     public JSONArray syncChatArr(String prompt) {
-        ContentVo contentVo = text2sqlApi.getQuestion(prompt);
-        if (contentVo != null) {
-            String content = this.syncChatContent(contentVo.getContent());
-            contentVo.setContent(content);
-            return text2sqlApi.getAnswer(contentVo);
+        try {
+            ContentVo contentVo = text2sqlApi.getQuestion(prompt);
+            if (contentVo != null) {
+                String content = this.syncChatContent(contentVo.getContent());
+                contentVo.setContent(content);
+                return text2sqlApi.getAnswer(contentVo);
+            }
+        }
+        catch (Exception e) {
+            log.error(e.getMessage());
+            return null;
         }
         return null;
     }

+ 0 - 6
eco-ai/ai-text-sql-biz/src/main/java/org/eco/vip/ai/text2sql/config/TableMapPropertiesConfig.java

@@ -6,7 +6,6 @@
 package org.eco.vip.ai.text2sql.config;
 
 
-import jakarta.annotation.PostConstruct;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.eco.vip.ai.text2sql.properties.TableMapProperties;
@@ -29,9 +28,4 @@ import java.util.List;
 public class TableMapPropertiesConfig {
 
     private List<TableMapProperties> mappings = Collections.emptyList();
-
-    @PostConstruct
-    public void init() {
-        log.info("\n*************表映射加载数据:{}", mappings);
-    }
 }

+ 17 - 7
eco-ai/ai-text-sql-biz/src/main/java/org/eco/vip/ai/text2sql/service/Text2SqlService.java

@@ -91,11 +91,22 @@ public class Text2SqlService implements IText2SqlService {
         log.info("\n模型返回的SQL:\n{}", question.getContent());
         String sql = cleanRawSql(question.getContent());
         if (!SqlValidator.isSelectQuery(sql)) {
-            return new JSONArray().put("只支持查询");
+            return null;
         }
-        List<Map<String, Object>> mapList = SpringUtil.getBean(Text2SqlService.class).executeSql(sql);
-        List<CommentVo> tableNames = SpringUtil.getBean(Text2SqlService.class).commentByTableName(DBaseHelper.getSchema(), question.getTableName());
-        return SpringUtil.getBean(Text2SqlService.class).getCommentData(mapList, tableNames);
+        List<Map<String, Object>> mapList;
+        List<CommentVo> tableNames;
+        try {
+            mapList = SpringUtil.getBean(Text2SqlService.class).executeSql(sql);
+            tableNames = SpringUtil.getBean(Text2SqlService.class).commentByTableName(DBaseHelper.getSchema(), question.getTableName());
+
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            return null;
+        }
+        if (mapList != null) {
+            return SpringUtil.getBean(Text2SqlService.class).getCommentData(mapList, tableNames);
+        }
+        return null;
     }
 
     @Override
@@ -110,10 +121,9 @@ public class Text2SqlService implements IText2SqlService {
         }
         String ddl = map.get("create table");
         question= ddl + "\n" + question + ",根据需求生成" + DBaseHelper.getDbType() + "的查询SQL.\n" +
-                "1.不要需求外的条件.\n" +
+                "1.严格按照要求,select 后面字段严格按照ddl表结构里面的给出,from 后面的条件不要自己发挥\n" +
                 "2.只输出sql语句不需要任何格式样式,就是一串sql.\n" +
-                "3.字段严格按照ddl表结构里面的给出.\n" +
-                "4.不需要带Schema:" + DBaseHelper.getSchema();
+                "3.不需要带Schema:" + DBaseHelper.getSchema();
         log.info("\nquestion ____________________:\n{}", question);
         return ContentVo.builder().content(question).
                 tableName(tableName).build();

+ 1 - 1
eco-ai/ai-text-sql-biz/src/main/java/org/eco/vip/ai/text2sql/utils/SqlValidator.java

@@ -25,7 +25,7 @@ public class SqlValidator {
             return statement instanceof Select;
         } catch (JSQLParserException e) {
             log.error("SQL解析异常:{}", e.getMessage());
+            return false;
         }
-        return false;
     }
 }

+ 7 - 5
eco-start/src/main/resources/application.yml

@@ -104,16 +104,16 @@ logging:
   level:
     org.eco.vip: @logging.level@
     org.springframework: warn
-    com.zaxxer.hikari: DEBUG
-    #    com.zaxxer.hikari.pool.HikariPool: ERROR
-#    com.zaxxer.hikari.HikariDataSource: ERROR
+#    com.zaxxer.hikari: DEBUG
+    com.zaxxer.hikari.pool.HikariPool: ERROR
+    com.zaxxer.hikari.HikariDataSource: ERROR
     org.mybatis.spring.mapper: error
     org.springframework.context.support.PostProcessorRegistrationDelegate: error
 
 --- #
 deepseek:
   api-key: local-ollama  # 必填项:你的 API 密钥
-  model: qwen2.5:1.5b
+  model: qwen2.5:3b
   base-url: http://127.0.0.1:11434/v1  # 可选,默认为官方 API 地址
 # 向量模型链接信息
 embedding:
@@ -127,4 +127,6 @@ table:
     - pattern: "部门表|部门"
       table_name: "sys_dept"
     - pattern: "用户|人员|姓名|账号|性别"
-      table_name: "sys_user"
+      table_name: "sys_user"
+    - pattern: "故障统计|故障现象|型号|故障件|系统|故障"
+      table_name: "als_fault_statistics_t"