Jelajahi Sumber

保存联网搜索聊天内容,聊天详情展示,webSearch接口

S0025136190 5 bulan lalu
induk
melakukan
80997fa428

+ 5 - 0
takai-admin/src/main/java/com/takai/web/controller/bigmodel/BigModelController.java

@@ -510,4 +510,9 @@ public class BigModelController extends BaseController {
         }
     }
 
+    @GetMapping("/web/search/{id}")
+    public AjaxResult webSearch(@PathVariable String id) {
+        return success(bigModelService.webSearch(id));
+    }
+
 }

+ 4 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/domain/dto/DialogDetailReqDTO.java

@@ -20,4 +20,8 @@ public class DialogDetailReqDTO {
     private String dialogId;
 
     private DocumentDTO document;
+
+    private NetWorkInfoDTO networkInfo;
+
+    private String workInfoJson;
 }

+ 4 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/domain/dto/DialogRespDTO.java

@@ -38,5 +38,9 @@ public class DialogRespDTO {
 
     private DocumentDTO document;
 
+    private String workInfoJson;
+
+    private NetWorkInfoDTO networkInfo;
+
 
 }

+ 12 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/domain/dto/NetWorkInfoDTO.java

@@ -0,0 +1,12 @@
+package com.takai.bigmodel.domain.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class NetWorkInfoDTO {
+
+    private List<WorkDTO> list;
+
+}

+ 14 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/domain/dto/WorkDTO.java

@@ -0,0 +1,14 @@
+package com.takai.bigmodel.domain.dto;
+
+import lombok.Data;
+
+@Data
+public class WorkDTO {
+
+    private String content;
+
+    private String title;
+
+    private String web_url;
+
+}

+ 2 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/service/IBigModelService.java

@@ -133,4 +133,6 @@ public interface IBigModelService
 
     List<BmKnowledge> queryKnowledgeListSelect();
 
+    JSONObject webSearch(String id);
+
 }

+ 25 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/service/impl/BigModelServiceImpl.java

@@ -9,6 +9,7 @@ import com.takai.bigmodel.mapper.*;
 import com.takai.bigmodel.service.IBigModelService;
 import com.takai.common.annotation.DataSource;
 import com.takai.common.config.BigModelConfig;
+import com.takai.common.config.DeepseekConfig;
 import com.takai.common.core.redis.RedisCache;
 import com.takai.common.enums.BackgroundColor;
 import com.takai.common.enums.DataSourceType;
@@ -87,6 +88,9 @@ public class BigModelServiceImpl implements IBigModelService
     @Autowired
     public RedisTemplate redisTemplate;
 
+    @Autowired
+    private DeepseekConfig deepseekConfig;
+
 
     @Override
     public List<BmMediaReplacement> selectMediaList(BmMediaReplacement mData) {
@@ -625,6 +629,7 @@ public class BigModelServiceImpl implements IBigModelService
             if(detailId == null) {
                 //String detailUuid = IdUtils.fastSimpleUUID();
                 //dto.setId(dto.getId());
+                if (dto.getNetworkInfo() != null) dto.setWorkInfoJson(JSON.toJSONString(dto.getNetworkInfo()));
                 dialogMapper.insertDialogDetail(dto);
             }
 
@@ -685,6 +690,9 @@ public class BigModelServiceImpl implements IBigModelService
                         dto.setDocument(fileInfoDTO);
                     }
                 }
+                if(com.takai.common.utils.StringUtils.isNotEmpty(dto.getWorkInfoJson())){
+                    dto.setNetworkInfo(JSON.parseObject(dto.getWorkInfoJson(), NetWorkInfoDTO.class));
+                }
             }
         }
         return detail;
@@ -1816,6 +1824,23 @@ public class BigModelServiceImpl implements IBigModelService
         return bmKnowledgeMapper.selectKnowledgeList(null);
     }
 
+    @Override
+    public JSONObject webSearch(String id) {
+        String url = deepseekConfig.getBaseurl() + deepseekConfig.getWebSearch() + "/" + id;
+        Request request = buildGetRequest(url);
+        OkHttpClient client = buildOkHttpClient();
+        try {
+            Response response = client.newCall(request).execute();
+            if (response.isSuccessful()) {
+                String body = response.body().string();
+                return JSON.parseObject(body);
+            }
+        }catch (Exception e) {
+            logger.error("切片得分调用python接口失败", e.getMessage());
+        }
+        return null;
+    }
+
     private Request buildGetRequest(String url) {
         return new Request.Builder()
                 .addHeader("accept", "*/*")

+ 5 - 1
takai-bigmodel/src/main/resources/mapper/bm/DialogMapper.xml

@@ -12,6 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="content"   column="content"   />
 		<result property="type"   column="type"   />
 		<result property="create_time" column="create_time" />
+		<result property="net_work_info" column="net_work_info" />
 	</resultMap>
 
 	<resultMap type="String" id="DialogIdResult">
@@ -84,6 +85,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="role != null">type,</if>
 		<if test="content != null">content,</if>
 		<if test="role != null">create_by,</if>
+		<if test="workInfoJson != null and workInfoJson != ''">net_work_info,</if>
 		create_time
 		)values(
 		#{id},
@@ -91,6 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="role != null">#{role},</if>
 		<if test="content != null">#{content},</if>
 		<if test="role != null">#{role},</if>
+		<if test="workInfoJson != null and workInfoJson != ''">#{workInfoJson},</if>
 		sysdate()
 		)
 	</insert>
@@ -106,7 +109,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			dd.id as did,
 			dd.type,
 			dd.content,
-			dd.dialog_id
+			dd.dialog_id,
+			dd.net_work_info as workInfoJson
 		from dialog d
 		left join dialog_detail dd on d.id = dd.dialog_id
 		where dd.dialog_id = #{dialogId}

+ 10 - 0
takai-common/src/main/java/com/takai/common/config/DeepseekConfig.java

@@ -36,6 +36,8 @@ public class DeepseekConfig {
 
     private String searchSlice;
 
+    private String webSearch;
+
     public String getBaseurl() {
         return baseurl;
     }
@@ -147,4 +149,12 @@ public class DeepseekConfig {
     public void setSearchSlice(String searchSlice) {
         this.searchSlice = searchSlice;
     }
+
+    public String getWebSearch() {
+        return webSearch;
+    }
+
+    public void setWebSearch(String webSearch) {
+        this.webSearch = webSearch;
+    }
 }