Commit 4d78d65a authored by yangyw's avatar yangyw

feature: 增加踩的处理

parent 10cb0e1a
......@@ -201,6 +201,11 @@
<artifactId>tencentcloud-sdk-java-lke</artifactId>
<version>3.1.1221</version>
</dependency>
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java-lke</artifactId>
<version>3.1.1231</version>
</dependency>
</dependencies>
<build>
......
......@@ -9,15 +9,18 @@ import cn.breeze.elleai.domain.sparring.model.response.*;
import cn.breeze.elleai.domain.sparring.service.ChatCompletionService;
import cn.breeze.elleai.domain.sparring.service.KbService;
import cn.breeze.elleai.domain.sparring.service.KbTagService;
import cn.breeze.elleai.facade.TencentCloudFacade;
import cn.breeze.elleai.util.UserPrincipal;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.mybatisflex.core.paginate.Page;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
......@@ -68,6 +71,8 @@ public class AppChatCompletionService {
private final ChatCompletionService chatCompletionService;
private final TencentCloudFacade tencentCloudFacade;
private final KbService kbService;
private final KbTagService kbTagService;
......@@ -725,18 +730,11 @@ public class AppChatCompletionService {
// 提交腾讯云踩的数据
if (ObjectUtil.equals(1, status)) {
if (StrUtil.isNotBlank(model.getRecordId())) {
com.alibaba.fastjson2.JSONObject body = new com.alibaba.fastjson2.JSONObject();
body.put("RecordId", model.getRecordId());
body.put("Score", 2);
body.put("BotAppKey", dsAppKey);
webClient.post().uri(dissApiBase)
.header("X-TC-Action", "RateMsgRecord")
.header("X-TC-Region", "ap-guangzhou")
.header("X-TC-Version", "2023-11-30")
.contentType(MediaType.APPLICATION_JSON).bodyValue(body.toJSONString())
.exchangeToMono(r -> r.bodyToMono(String.class)).subscribe(res -> {
log.info("踩数据提交结果:{}", res);
});
try {
tencentCloudFacade.dissMessage(dsAppKey, model.getRecordId());
} catch (TencentCloudSDKException e) {
log.info("提交腾讯云踩数据异常{}", ExceptionUtil.getMessage(e));
}
}
}
}
......
package cn.breeze.elleai.facade;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.lke.v20231130.LkeClient;
import com.tencentcloudapi.lke.v20231130.models.RateMsgRecordRequest;
import com.tencentcloudapi.lke.v20231130.models.RateMsgRecordResponse;
import jakarta.annotation.PostConstruct;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class TencentCloudFacade {
private LkeClient lkeClient;
@PostConstruct
public void init() {
Credential credential = new Credential("AKIDCHBybDvUqxrcCXjxFc4pVzIQeyMcicLq", "OdgU5TsLqP3kTD0mOn164vcDpR3jKiZT");
lkeClient = new LkeClient(credential, "ap-guangzhou");
}
/**
* 踩
* @param recordId
*/
public void dissMessage(String botAppKey, String recordId) throws TencentCloudSDKException {
RateMsgRecordRequest request = new RateMsgRecordRequest();
request.setBotAppKey(botAppKey);
request.setRecordId(recordId);
request.setScore(2L);
request.setSkipSign(false);
RateMsgRecordResponse response = lkeClient.RateMsgRecord(request);
log.info("dissMessage response:{}", response.getRequestId());
}
}
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