From b8b0b633bbe96658ba72ff78744591e5e1bdafd4 Mon Sep 17 00:00:00 2001
From: leutu <leutu@qq.com>
Date: 星期四, 27 六月 2024 17:52:44 +0800
Subject: [PATCH] 接口调整处理

---
 src/main/java/com/yb/controller/AiController.java |  103 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 98 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/yb/controller/AiController.java b/src/main/java/com/yb/controller/AiController.java
index fb007e8..7e3df4a 100644
--- a/src/main/java/com/yb/controller/AiController.java
+++ b/src/main/java/com/yb/controller/AiController.java
@@ -3,9 +3,12 @@
 
 import com.alibaba.fastjson.JSON;
 import com.yb.util.OkHttpUtil;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
 
 import net.sf.json.JSONObject;
+import okhttp3.Response;
 import org.springframework.ai.ollama.OllamaChatModel;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -20,6 +23,7 @@
 import java.util.Set;
 
 
+@Tag(name="terra openai")
 @RestController
 @RequestMapping("/api/v1")
 public class AiController {
@@ -32,16 +36,22 @@
     @Value("${spring.intent}")
     String intent ;
 
+
+
     @GetMapping("/chat")
+    @Operation(summary = "澶фā鍨嬪璇�")
     public String chat(@RequestParam(value = "message",defaultValue = "Hi") String message){
-        return chatModel.call("璇风敤涓枃鍥炵瓟濡備笅闂,濡傛灉鏈夊湴鍚嶅嚭鐜帮紝鍥炲埌鍐呭鍖呮嫭缁忕含搴﹀苟浣跨敤json杩斿洖,"+message);
+        return chatModel.call(message);
     }
 
+
     @GetMapping("/intent")
+    @Operation(summary = "鎰忓浘璇锋眰")
     public String intent(@RequestParam(value = "message",defaultValue = "Hi") String message){
         String json = okHttpUtil.getMessage(intent+"="+message);
         Map<String,String> hashMap = new HashMap<>() ;
         iteraJson(json,hashMap);
+        intentSwitch(hashMap,message);
         return  JSON.toJSON(hashMap).toString() ;
     }
     public  boolean iteraJson(String str, Map res){
@@ -62,23 +72,106 @@
     }
 
     @GetMapping("/mix")
+    @Operation(summary = "鎰忓浘涓庡ぇ妯″瀷璇锋眰")
     public String mix(@RequestParam(value = "message",defaultValue = "Hi") String message){
         String json = okHttpUtil.getMessage(intent+"="+message);
+        System.out.println(message);
 //        JSONObject jsonObject = JSONObject.parseObject(json);
         Map<String,String> hashMap = new HashMap<>() ;
-        iteraJson(json,hashMap);
+        String place = null ;
+        if( json != null) {
 
-        String place = hashMap.get("place");
+            iteraJson(json, hashMap);
+            intentSwitch(hashMap,message);
+            place = hashMap.get("place");
+        }
         if( place != null ){
-            String llm = chatModel.call("璇风敤涓枃鍥炵瓟濡備笅闂,濡傛灉鏈夊湴鍚嶅嚭鐜帮紝鍥炲埌鍐呭鍖呮嫭缁忕含搴﹀苟浣跨敤json杩斿洖,"+place);
+            String llm = chatModel.call(place);
            hashMap.put("content",llm);
 
           json =   JSON.toJSON(hashMap).toString() ;
         }else{
-            json = hashMap.put("content", chatModel.call("璇风敤涓枃鍥炵瓟濡備笅闂,濡傛灉鏈夊湴鍚嶅嚭鐜帮紝鍥炲埌鍐呭鍖呮嫭缁忕含搴﹀苟浣跨敤json杩斿洖,"+message));
+            json = hashMap.put("content", chatModel.call(message));
         }
+        hashMap.put("code","200");
+        System.out.println(JSON.toJSON(hashMap).toString());
+        System.out.println("====================================");
         return JSON.toJSON(hashMap).toString() ;
 
 
     }
+
+    @GetMapping("/fastgpt")
+    @Operation(summary = "鐭ヨ瘑搴撴煡璇�")
+    public String fastgpt(@RequestParam(value = "message",defaultValue = "涓夌淮瀹炴櫙") String message){
+
+        //okHttpUtil.requesFast(message);
+        String json = okHttpUtil.requesFast(message);
+
+        return  json ;
+    }
+
+    @GetMapping("/fastgpt_list")
+    @Operation(summary = "鐭ヨ瘑搴撳垪琛�")
+    public String fastgpt_list(){
+
+
+        String json = okHttpUtil.requesFast_kl();
+
+        return  json ;
+    }
+    /*
+  def anomalyCheck(time,place):    銆愭槧灏勫埌鎰忓浘1銆�
+  """寮傚父鎯呭喌鏌ヨ銆傛煡璇㈠湪鏌愪釜鏃堕棿鏌愪釜鍦扮偣鐨勫紓甯告儏鍐碉紝涓庡線鏃ユ湁浣曚笉鍚屻�傛煡鐪嬫煇涓湴鐐圭殑鍗槦鍥剧墖銆�"""
+
+  scanWeapon();
+  =======================================
+  def weaponParameters(weapons):   銆愭槧灏勫埌鎰忓浘2銆�
+  """姝﹀櫒璇︾粏鍙傛暟鏌ヨ銆傛煡璇㈡鍣ㄧ殑璇︾粏淇℃伅銆傛煡璇㈡鍣ㄧ殑鍏蜂綋鍙傛暟銆�"""
+  raise ToolException(f"娌℃湁鍚嶇О涓簕weapons}鐨勬鍣ㄣ��")
+
+  weaponParameters();
+  =========================================
+
+  def searchTarget(place, entity):    銆愭槧灏勫埌鎰忓浘3,4,5,6
+銆�1. 杈撳叆鍙傛暟涓猴細鏀挎不鐩爣锛岀ぞ浼氱洰鏍囷紝鍐涗簨鐩爣锛屾皯瀹咃紝鍖婚櫌瀵瑰簲鎰忓浘3.4
+searchTarget();
+2.杈撳叆鍙傛暟涓猴細鍙墦鍑荤洰鏍�/涓嶅彲鎵撳嚮鐩爣瀵瑰簲鎰忓浘5
+searchStrikeableTarget();
+3.杈撳叆鍙傛暟涓猴細缇庡浗绌哄啗鎸囨尌涓績锛屽搴旀剰鍥�6銆�
+  """鏌ヨ鏌愬湴鐨勬斂娌荤洰鏍�/绀句細鐩爣/缁忔祹鐩爣/鍐涗簨鐩爣/姘戝畢/鍖婚櫌/鍙墦鍑荤洰鏍�/涓嶅彲鎵撳嚮鐩爣绛夊缓绛戝疄浣撶殑鎯呭喌"""
+  USAFCommandCenterQuery();
+
+def attackanddefenceCenter(weapons: str, place: str):  #銆愭槧灏勫埌鎰忓浘7.8銆�
+    杩欓噷璁╀綘鍒ゆ柇鏄潃浼ゆ�ф鍣ㄨ繕鏄槻寰℃�ф鍣紝鏉�浼ゆ�ф鍣ㄧ殑灏卞瀵瑰簲鎰忓浘7鏉�浼ゅ崐寰勶紝
+    闃插尽鎬ф鍣ㄥ氨瀵瑰簲鎰忓浘8闃插尽鍗婂緞銆傘��
+  """璇ュ伐鍏风殑杈撳叆蹇呴』涓烘鍣ㄥ悕绉板拰鍦扮偣銆傛鍣ㄦā鎷熶豢鐪燂紝缁欏嚭鏌愮鍦烘櫙銆傛鍣ㄥ垎鏋愶紝鍦板浘浠跨湡鎸囦护銆傛垨鑰呮煡璇㈡鍣ㄧ殑鏉�浼ゅ崐寰�/闃茬┖鍗婂緞/鏉�浼よ寖鍥�/闃茬┖鑼冨洿銆�"""
+attackUSAFCommandCenter();
+defenceRangeTyphoonSystem();
+
+   */
+    private void intentSwitch(Map<String,String>hash,String message){
+        if( hash.get("name") == null ) return ;
+        if( hash.get("name").equals("anomalyCheck")) hash.put("name","scanWeapon");
+        if( hash.get("name").equals("weaponParameters")) hash.put("name","weaponParameters");
+        if( hash.get("name").equals("searchTarget")) {
+            String entity = hash.get("entity");
+            if( entity.indexOf("鏀挎不")>=0 || entity.indexOf("绀句細")>=0||entity.indexOf("鍐涗簨")>=0 ||
+                    entity.indexOf("姘戝畢")>=0 || entity.indexOf("鍖婚櫌")>=0 || entity.indexOf("鍏跺畠")>=0)
+                hash.put("name","searchTarget");
+            if( entity.indexOf("鎵撳嚮")>=0 )
+                hash.put("name","searchStrikeableTarget");
+            if( entity.indexOf("缇庡浗")>=0 || entity.indexOf("绌哄啗")>=0||entity.indexOf("鎸囨尌")>=0
+                ||entity.indexOf("涓績")>=0)
+                hash.put("name","USAFCommandCenterQuery");
+
+        }
+        if( hash.get("name").equals("attackanddefenceCenter")) {
+            if( message.indexOf("鎵撳嚮")>=0 || message.indexOf("鏉�浼�")>=0 || message.indexOf("鎽ф瘉")>=0 ||
+                    message.indexOf("鐮村潖")>=0)
+                hash.put("name","attackUSAFCommandCenter");
+            else
+                hash.put("name","defenceRangeTyphoonSystem");
+        }
+    }
 }

--
Gitblit v1.9.3