Commit 0168ad19 authored by luojun's avatar luojun

对话记录优化

parent e007eca7
......@@ -12,13 +12,19 @@ import admin.util.WebConnectUtil;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.yulichang.toolkit.SpringContentUtils;
import com.google.gson.Gson;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import okhttp3.Response;
import okhttp3.ResponseBody;
import okhttp3.sse.EventSource;
import okhttp3.sse.EventSourceListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.websocket.Session;
......@@ -40,22 +46,13 @@ public class DeepSeekAiListener extends EventSourceListener {
private Session session;
private String sessionId;
private String userName;
private static TextToSpeechService textToSpeechService;
private static ChatgptRoleRecordsService chatgptRoleRecordsService;
private ChatgptRoleRecordsService chatgptRoleRecordsService;
@Resource
public static void setTextToSpeechService(TextToSpeechService textToSpeechService){
DeepSeekAiListener.textToSpeechService = textToSpeechService;
}
@Resource
public static void setChatgptRoleRecordsService(ChatgptRoleRecordsService chatgptRoleRecordsService){
DeepSeekAiListener.chatgptRoleRecordsService = chatgptRoleRecordsService;
}
public DeepSeekAiListener(Session session,String sessionId,String userName) {
public DeepSeekAiListener(Session session,String sessionId,String userName,ChatgptRoleRecordsService chatgptRoleRecordsService) {
this.session = session;
this.userName = userName;
this.sessionId = sessionId;
this.chatgptRoleRecordsService = chatgptRoleRecordsService;
}
@Override
......
......@@ -43,7 +43,7 @@ public class DeepSeekOpenApiServiceImpl implements DeepSeekOpenApiService {
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer zkhjdpQ8")
.build();
DeepSeekAiListener deepSeekAiListener = new DeepSeekAiListener(null,null,null);
DeepSeekAiListener deepSeekAiListener = new DeepSeekAiListener(null,null,null,null);
// OkHttpClient okHttpClient = new OkHttpClient.Builder()
// .connectTimeout(1, TimeUnit.MINUTES)
// .readTimeout(1, TimeUnit.MINUTES)
......
......@@ -5,6 +5,7 @@ import admin.model.WebSocketModel;
import admin.model.maxdb.MaxdbScreenConfig;
import admin.model.maxdb.MaxdbZkhjConfig;
import admin.model.maxdb.req.MaxdbReq;
import admin.modules.chatgpt.service.ChatgptRoleRecordsService;
import admin.resp.ApiResponse;
import admin.service.MaxkbOpenApiService;
import admin.util.HttpUtil;
......@@ -27,6 +28,7 @@ public class MaxkbOpenApiServiceImpl implements MaxkbOpenApiService {
private final MaxdbZkhjConfig maxdbConfig;
private final MaxdbScreenConfig maxdbScreenConfig;
private final ChatgptRoleRecordsService chatgptRoleRecordsService;
@Override
public ApiResponse<Object> getMaxkbSessionId(String applicationId) {
......@@ -39,7 +41,7 @@ public class MaxkbOpenApiServiceImpl implements MaxkbOpenApiService {
MaxdbReq maxdbReq = new MaxdbReq();
maxdbReq.setMessage(message);
// WebSocketModel webSocketModel = JSONObject.parseObject(message, WebSocketModel.class);
HttpUtil.postCallBackStream(String.format(maxdbScreenConfig.getTalkUrl(),chatId), maxdbReq, maxdbScreenConfig.getApiKey(),session,sessionId,userName);
HttpUtil.postCallBackStream(String.format(maxdbScreenConfig.getTalkUrl(),chatId), maxdbReq, maxdbScreenConfig.getApiKey(),session,sessionId,userName,chatgptRoleRecordsService);
}
@Override
......
package admin.util;
import admin.listener.DeepSeekAiListener;
import admin.modules.chatgpt.service.ChatgptRoleRecordsService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import okhttp3.*;
import okhttp3.sse.EventSource;
import okhttp3.sse.EventSources;
import org.springframework.context.ApplicationContext;
import javax.websocket.Session;
import java.io.IOException;
......@@ -34,7 +36,7 @@ public class HttpUtil {
}
public static void postCallBackStream(String url, Object data, String apiKey, Session session,String sessionId,String userName){
public static void postCallBackStream(String url, Object data, String apiKey, Session session, String sessionId, String userName, ChatgptRoleRecordsService chatgptRoleRecordsService){
OkHttpClient okHttpClient = new OkHttpClient().newBuilder().build();
// RequestBody body = RequestBody.create(MediaType.parse("application/json"), data);
Request request = null;
......@@ -51,6 +53,6 @@ public class HttpUtil {
throw new RuntimeException(e);
}
EventSource.Factory factory = EventSources.createFactory(okHttpClient);
factory.newEventSource(request,new DeepSeekAiListener(session,sessionId,userName));
factory.newEventSource(request,new DeepSeekAiListener(session,sessionId,userName,chatgptRoleRecordsService));
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment