supeng 4 hafta önce
ebeveyn
işleme
311da0c8ff

+ 13 - 4
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/GeminiGenerateContentAction.java

@@ -1,16 +1,19 @@
 package com.tzld.piaoquan.content.understanding.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.tzld.piaoquan.content.understanding.common.base.CommonResponse;
 import com.tzld.piaoquan.content.understanding.common.enums.ContentTypeEnum;
 import com.tzld.piaoquan.content.understanding.model.param.ActionParam;
 import com.tzld.piaoquan.content.understanding.model.param.GeminiParam;
 import com.tzld.piaoquan.content.understanding.service.Action;
 import com.tzld.piaoquan.content.understanding.util.HttpClientUtil;
 import com.tzld.piaoquan.content.understanding.util.HttpPoolClient;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.concurrent.ThreadLocalRandom;
@@ -18,6 +21,7 @@ import java.util.concurrent.ThreadLocalRandom;
 /**
  * @author supeng
  */
+@Slf4j
 @Service(value = "geminiGenerateContentAction")
 public class GeminiGenerateContentAction implements Action {
 
@@ -47,12 +51,17 @@ public class GeminiGenerateContentAction implements Action {
         geminiParam.setApiKey(apiKey);
         geminiParam.setModel(MODEL);
         geminiParam.setTemperature(TEMPERATURE);
+        log.info("geminiGenerateContentAction geminiParam = {}", JSON.toJSONString(geminiParam));
         Optional<String> optionalS = httpPoolClient.postJson(geminiApiUrl, JSON.toJSONString(geminiParam));
+        log.info("geminiGenerateContentAction optionalS = {}", optionalS);
         if (optionalS.isPresent()) {
-            String content = optionalS.get();
-            //过滤一些特殊格式
-            content = content.replace("```json", "").replace("```", "");
-            return content;
+            CommonResponse<Map<String,Object>> commonResponse = JSON.parseObject(optionalS.get(), CommonResponse.class);
+            if (commonResponse.isSuccess() && Objects.nonNull(commonResponse.getData()) && Objects.nonNull(commonResponse.getData().get("result"))) {
+                String content = commonResponse.getData().get("result").toString();
+                //过滤一些特殊格式
+                content = content.replace("```json", "").replace("```", "");
+                return content;
+            }
         }
         return null;
     }