From 623cee8be4846e5762ff2949e519335ef8dee2bb Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期一, 09 九月 2024 18:30:55 +0800
Subject: [PATCH] 大模型知识图谱接口对接

---
 src/main/java/com/yb/controller/agentController.java |   76 ++++---------------------------------
 1 files changed, 9 insertions(+), 67 deletions(-)

diff --git a/src/main/java/com/yb/controller/agentController.java b/src/main/java/com/yb/controller/agentController.java
index 5cc62fc..2f5a653 100644
--- a/src/main/java/com/yb/controller/agentController.java
+++ b/src/main/java/com/yb/controller/agentController.java
@@ -9,6 +9,7 @@
 import com.yb.config.R;
 import com.yb.config.XzConfig;
 import com.yb.service.AgentService;
+import com.yb.service.IntentionService;
 import com.yb.service.XzService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -33,9 +34,9 @@
     @Autowired
     private XzConfig xzConfig;
     @Autowired
-    private XzService xzService;
-    @Autowired
     private AgentService agentService;
+    @Autowired
+    private IntentionService intentionService;
 
     @ApiOperation("鎰忓浘璇嗗埆")
     @PostMapping("/intention")
@@ -43,15 +44,9 @@
     public R getIntention(@RequestParam Map<String, String> allParams) throws Exception {
         System.out.println("rec getMessage:" + allParams);
         String msg = allParams.get("message");
-        String sessionId = allParams.get("session_id");
-        String libId = allParams.get("lib_id");
-        String url = xzConfig.agentUrl;
-        String intent = xzConfig.agentIntent;
-        String rag = xzConfig.agentRag;
-        String chart = xzConfig.agentChat;
 //       鍒ゆ柇msg鏄惁涓虹┖
         if (StringUtils.isEmpty(msg)) {
-            String info = agentService.getAgentIntention(url, intent, "''");
+            String info = agentService.getAgentIntention(xzConfig.agentUrl, xzConfig.agentIntent, "''");
             JSONObject obj = JSONObject.parseObject(info);
             String cont = obj.getString("content");
             System.out.println("rec isEmpty:" + cont);
@@ -63,11 +58,10 @@
         HashMap<String, Object> hashMap = new HashMap<String, Object>();
         if (isMap) {
             hashMap.put("type", "Map");
-            HashMap<String, Object> mapObj = new HashMap<String, Object>();
-            String funcInfo = agentService.getAgentIntention(url, intent, msg);
+            String funcInfo = agentService.getAgentIntention(xzConfig.agentUrl, xzConfig.agentIntent, msg);
             JSONObject jsonObject = JSON.parseObject(funcInfo);
             String orderString = jsonObject.getString("order");
-            if(orderString == null){
+            if (orderString == null) {
                 hashMap.put("type", "text");
                 JSONObject errInfo = JSON.parseObject(funcInfo);
                 String erroContent = errInfo.getString("content");
@@ -75,64 +69,13 @@
                 return R.error(erroContent);
 
             }
-            JSONObject orderObject = JSON.parseObject(orderString);
-
-            String func = orderObject.getString("name");
-            JSONObject argsObject = JSON.parseObject(orderObject.getString("args"));
-            String place = argsObject.getString("place");
-            String type = argsObject.getString("attris");
-            String dis = argsObject.getString("redius");
-            int radius = 5000;
-            if (dis != null) {
-                dis = dis.replace("m", "");
-                radius = Integer.parseInt(dis);
-            }
-            String queryFiled = "enti_name";
-            String typeFiled = "sjnr";
-            String func1 = "poiMap";
-            String func2 = "aroundPoi";
-            String func3 = "queryMeta";
-            if (func.equals(func1)) {
-                String poiMap = agentService.getAgentPoiMap(place, queryFiled);
-                System.out.println("poiMap: " + poiMap);
-                JSONObject poiObj = JSONObject.parseObject(poiMap);
-                System.out.println("poiMap: " + poiObj);
-                mapObj.put("func", func1);
-                mapObj.put("data", poiObj);
-            } else if (func.equals(func2)) {
-                mapObj.put("func", func2);
-                String aroundPoi = agentService.getAgentAroundPoi(place, type, radius, queryFiled, typeFiled);
-                JSONArray dataArray = JSONArray.parseArray(aroundPoi);
-                System.out.println("aroundPoi: " + dataArray);
-                mapObj.put("data", dataArray);
-            } else if (func.equals(func3)) {
-                mapObj.put("func", func3);
-                String filedString= xzService.getQueryMeta(xzConfig.layerId, xzConfig.dbid,typeFiled,xzConfig.queryEntity);
-                JSONObject metaObject = JSON.parseObject(filedString);
-                JSONArray dataArray = metaObject.getJSONArray("data");
-                String markDown = "| 鏁版嵁绫诲瀷 | 鏁版嵁閲� |\\n|------|------|\\n";
-                for (int i = 0; i < dataArray.size(); i++) {
-                    JSONObject dataObj = dataArray.getJSONObject(i);
-                    System.out.println("rec queryMeta:" + dataObj);
-                    String[] filedValue = new String[2];
-
-                    for (String key : dataObj.keySet()) {
-                        if (key == typeFiled) {
-                            filedValue[0] = dataObj.getString(key);
-                        } else {
-                            filedValue[1] = dataObj.getString(key);
-                        }
-                    }
-                    markDown += "| " + filedValue[0] + " | " + filedValue[1] + " |\n";
-                }
-                mapObj.put("data", markDown);
-            }
-
+//          鎰忓浘鍑芥暟鍖归厤
+            HashMap<String, Object> mapObj = intentionService.getFunctionMatch(orderString);
             hashMap.put("content", mapObj);
             return R.ok(hashMap);
 
         } else {
-            String ragInfo = agentService.getAgentIntention(url, chart, msg);
+            String ragInfo = agentService.getAgentIntention(xzConfig.agentUrl, xzConfig.agentChat, msg);
             JSONObject jsonObject = JSON.parseObject(ragInfo);
             String answer = jsonObject.getString("content");
             System.out.println("Answer: " + answer);
@@ -141,7 +84,6 @@
             return R.ok(hashMap);
         }
 
-//        return R.error("鏈煡璇㈠埌鐩稿叧淇℃伅");
 
     }
 

--
Gitblit v1.9.3