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