From 3f1ea1e3240f045412189619d7e4021d5f26a4f2 Mon Sep 17 00:00:00 2001
From: leutu <leutu@qq.com>
Date: 星期一, 24 六月 2024 14:14:17 +0800
Subject: [PATCH] apikey更新

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

diff --git a/src/main/java/com/yb/controller/AiController.java b/src/main/java/com/yb/controller/AiController.java
index c24500f..8694787 100644
--- a/src/main/java/com/yb/controller/AiController.java
+++ b/src/main/java/com/yb/controller/AiController.java
@@ -1,27 +1,116 @@
 package com.yb.controller;
 
 
+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;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+
+@Tag(name="terra openai")
 @RestController
 @RequestMapping("/api/v1")
 public class AiController {
     @Resource
     private OllamaChatModel chatModel;
 
+    @Autowired
+    private OkHttpUtil okHttpUtil ;
+
+    @Value("${spring.intent}")
+    String intent ;
+
+
 
     @GetMapping("/chat")
+    @Operation(summary = "澶фā鍨嬪璇�")
     public String chat(@RequestParam(value = "message",defaultValue = "Hi") String message){
         return chatModel.call("璇风敤涓枃鍥炵瓟濡備笅闂,濡傛灉鏈夊湴鍚嶅嚭鐜帮紝鍥炲埌鍐呭鍖呮嫭缁忕含搴﹀苟浣跨敤json杩斿洖,"+message);
     }
 
     @GetMapping("/intent")
+    @Operation(summary = "鎰忓浘璇锋眰")
     public String intent(@RequestParam(value = "message",defaultValue = "Hi") String message){
-        return chatModel.call("璇风敤涓枃鍥炵瓟濡備笅闂,濡傛灉鏈夊湴鍚嶅嚭鐜帮紝鍥炲埌鍐呭鍖呮嫭缁忕含搴﹀苟浣跨敤json杩斿洖,"+message);
+        String json = okHttpUtil.getMessage(intent+"="+message);
+        Map<String,String> hashMap = new HashMap<>() ;
+        iteraJson(json,hashMap);
+        return  JSON.toJSON(hashMap).toString() ;
+    }
+    public  boolean iteraJson(String str, Map res){
+        if(str.toString().indexOf(":") == -1){
+            return true;
+        }
+        JSONObject fromObject = JSONObject.fromObject(str);
+        Iterator keys = fromObject.keys();
+        while(keys.hasNext()){
+            String key = keys.next().toString();
+            Object value = fromObject.get(key);
+            if(iteraJson(value.toString(),res)){
+                res.put(key, value);
+            }
+        }
+        return false;
+
+    }
+
+    @GetMapping("/mix")
+    @Operation(summary = "鎰忓浘涓庡ぇ妯″瀷璇锋眰")
+    public String mix(@RequestParam(value = "message",defaultValue = "Hi") String message){
+        String json = okHttpUtil.postFastgpt(message);
+        System.out.println(message);
+//        JSONObject jsonObject = JSONObject.parseObject(json);
+        Map<String,String> hashMap = new HashMap<>() ;
+        iteraJson(json,hashMap);
+
+        String place = hashMap.get("place");
+        if( place != null ){
+            String llm = chatModel.call("璇风敤涓枃鍥炵瓟濡備笅闂,濡傛灉鏈夊湴鍚嶅嚭鐜帮紝鍥炲埌鍐呭鍖呮嫭缁忕含搴﹀苟浣跨敤json杩斿洖,"+place);
+           hashMap.put("content",llm);
+
+          json =   JSON.toJSON(hashMap).toString() ;
+        }else{
+            json = hashMap.put("content", chatModel.call("璇风敤涓枃鍥炵瓟濡備笅闂,濡傛灉鏈夊湴鍚嶅嚭鐜帮紝鍥炲埌鍐呭鍖呮嫭缁忕含搴﹀苟浣跨敤json杩斿洖,"+message));
+        }
+        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 ;
     }
 }

--
Gitblit v1.9.3