浏览代码

yinruoxi

添加:
    1.引入Tlog框架
    2.标注NLTlog
tags/B.2.8.3_20240316_release
kira 1年前
父节点
当前提交
3076d6535e
共有 11 个文件被更改,包括 214 次插入19 次删除
  1. +1
    -1
      xueyi-api/xueyi-api-nlt/src/main/java/com/xueyi/nlt/api/nlt/feign/factory/RemoteQAFallbackFactory.java
  2. +3
    -3
      xueyi-modules/xueyi-file/src/main/resources/logback.xml
  3. +2
    -2
      xueyi-modules/xueyi-message/src/main/resources/logback.xml
  4. +0
    -4
      xueyi-modules/xueyi-nlt/src/main/java/com/xueyi/nlt/netty/server/handler/ChatServerHandler.java
  5. +6
    -0
      xueyi-modules/xueyi-nlt/src/main/java/com/xueyi/nlt/nlt/controller/DmIntentController.java
  6. +191
    -0
      xueyi-modules/xueyi-nlt/src/main/java/com/xueyi/nlt/nlt/domain/vo/NLPLogVo.java
  7. +3
    -0
      xueyi-modules/xueyi-nlt/src/main/java/com/xueyi/nlt/nlt/template/FreeChatTemplate.java
  8. +1
    -1
      xueyi-modules/xueyi-nlt/src/main/resources/logback.xml
  9. +1
    -2
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/digitalmans/controller/DmManDeviceController.java
  10. +3
    -3
      xueyi-modules/xueyi-system/src/main/resources/logback.xml
  11. +3
    -3
      xueyi-modules/xueyi-tenant/src/main/resources/logback.xml

+ 1
- 1
xueyi-api/xueyi-api-nlt/src/main/java/com/xueyi/nlt/api/nlt/feign/factory/RemoteQAFallbackFactory.java 查看文件

@@ -20,7 +20,7 @@ public class RemoteQAFallbackFactory implements FallbackFactory<RemoteQAService>

@Override
public RemoteQAService create(Throwable throwable) {
log.error("短信服务调用失败:{}", throwable.getMessage());
log.error("知识库服务调用失败:{}", throwable.getMessage());
return new RemoteQAService() {
@Override
public AjaxResult query(String manCode, String question, Long tenantId) {


+ 3
- 3
xueyi-modules/xueyi-file/src/main/resources/logback.xml 查看文件

@@ -7,7 +7,7 @@

<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
@@ -22,7 +22,7 @@
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
@@ -44,7 +44,7 @@
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">


+ 2
- 2
xueyi-modules/xueyi-message/src/main/resources/logback.xml 查看文件

@@ -22,7 +22,7 @@
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
@@ -44,7 +44,7 @@
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">


+ 0
- 4
xueyi-modules/xueyi-nlt/src/main/java/com/xueyi/nlt/netty/server/handler/ChatServerHandler.java 查看文件

@@ -78,10 +78,6 @@ public class ChatServerHandler extends SimpleChannelInboundHandler<TextWebSocket
}
@Override
protected void channelRead0(ChannelHandlerContext channelHandlerContext, TextWebSocketFrame textWebSocketFrame) throws Exception {

tLogRPCHandler.processProviderSide(new TLogLabelBean());


Channel channel = channelHandlerContext.channel();
// 判断textWebSocketFrame.text()是否为空,如果为空,则直接返回
if (StringUtils.isEmpty(textWebSocketFrame.text()) || StringUtils.isEmpty(textWebSocketFrame.text().trim()) ) {


+ 6
- 0
xueyi-modules/xueyi-nlt/src/main/java/com/xueyi/nlt/nlt/controller/DmIntentController.java 查看文件

@@ -52,6 +52,7 @@ import com.xueyi.nlt.nlt.domain.vo.DmKnowledgeLibAskVo;
import com.xueyi.nlt.nlt.domain.vo.IntentTemplateVo;
import com.xueyi.nlt.nlt.domain.vo.MarkRecordVo;
import com.xueyi.nlt.nlt.domain.vo.*;
import com.xueyi.nlt.nlt.domain.vo.NLPLogVo;
import com.xueyi.nlt.nlt.mapper.DmRegularMapper;
import com.xueyi.nlt.nlt.service.*;
import com.xueyi.nlt.nlt.service.impl.DmSensitiveWordServiceImpl;
@@ -95,6 +96,8 @@ import java.util.Map;
import java.time.LocalDateTime;
import java.util.*;
import java.time.format.DateTimeFormatter;
import java.time.LocalDateTime;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -901,6 +904,9 @@ public class DmIntentController extends BaseController<DmIntentQuery, DmIntentDt
return AjaxResult.success();
}

private Integer uploadLog(NLPLogVo vo) {
return 0;
}
/**
* 查询意图管理
列表


+ 191
- 0
xueyi-modules/xueyi-nlt/src/main/java/com/xueyi/nlt/nlt/domain/vo/NLPLogVo.java 查看文件

@@ -0,0 +1,191 @@
package com.xueyi.nlt.nlt.domain.vo;

import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xueyi.common.core.utils.time.LocalDateTimeSerializer;
import com.xueyi.common.core.utils.time.LocalDatetimeDeserializer;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class NLPLogVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

protected Long id;

/** 租户号 */
protected Long tenantId;

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonDeserialize(using = LocalDatetimeDeserializer.class) // 反序列化
@JsonSerialize(using = LocalDateTimeSerializer.class)
protected LocalDateTime createTime;

/**
* 设备信息
*/
protected Device device;

/**
* 图片集合
*/
protected List<Image> images;

/**
* NLP相关日志
*/
protected NLP nlp;

/**
* 设备信息
*/
@Data
class Device {
// 设备id
String devId;
// 麦阵方案
String micOption;
}

/**
* 图片信息
*/
@Data
class Image {
// 图片id
String id;
// 时间戳
Long timestamp;
// 图像识别方案
String faceDetectOption;
// 人脸结果图片集
List<FaceResult> faces;

/**
* 人脸结果
*/
@Data
class FaceResult {
/** 文件名 */
String filename;
/** 人脸结果参数 */
Face face;
}

/**
* 人脸识别信息
*/
@Data
class Face {
Integer trackID;
Integer index;
Float confidence;
Float pitch;
Float yaw;
Float roll;
Integer leftEyeType;
Integer rightEyeType;
Integer mouthType;
Float minority;
Float blurness;
Float age;
Float female;
Float male;
Rect rect;
GazeResult gazeResult;
}

/**
* 矩形框
*/
@Data
class Rect {
Float x;
Float y;
Float width;
Float height;
}

/**
* 视线结果
*/
@Data
class GazeResult {
GazeInfo leftEyeGaze;
GazeInfo rightEyeGaze;
}

/**
* 视线信息
*/
@Data
class GazeInfo {
Float centerX;
Float centerY;
Float vectorX;
Float vectorY;
Float vectorZ;
Float roll;
Float pitch;
Float yaw;
}
}
/**
* ASR相关日志
*/
@Data
class ASR {
// VAD 开始时间
Long vadStartTime;
// VAD 结束时间
Long vadEndTime;
// ASR 方案
String asrOption;
// 文件名
String filename;
// 识别结果
String result;
}

/**
* NLP相关日志
*/
@Data
class NLP {

// 问题
String question;
/** 答案 */
String answer;
/** 选项 */
List<String> options;
/** 匹配的的模型
* -1: 未匹配模型
* 0: 正则表达式
* 1: 星火大模型
* 2: 文心一言
* 3: ChatGPT
* 4:智普AI
* 5:联动北方Lagi
*/
Integer model;

/** 响应时间 */
Long responseTime;

// 用户选择的答案
Integer choose;
}

public String toJSONString() {
return JSONObject.toJSONString(this);
}

}

+ 3
- 0
xueyi-modules/xueyi-nlt/src/main/java/com/xueyi/nlt/nlt/template/FreeChatTemplate.java 查看文件

@@ -9,6 +9,7 @@ import com.xueyi.nlt.nlt.domain.LlmContext;
import com.xueyi.nlt.nlt.domain.LlmParam;
import com.xueyi.nlt.nlt.domain.LlmResponse;
import com.xueyi.nlt.nlt.service.ISysLlmService;
import com.yomahub.tlog.core.annotation.TLogAspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -85,6 +86,7 @@ public class FreeChatTemplate implements BaseTemplate{
return resultJson;
}

@TLogAspect(str = "DGMAN-NLT")
public JSONObject handle(String dev, String content, boolean stream) {
Long operatorId = TerminalSecurityContextHolder.getOperatorId();
String redisKey = "group:nlp:" + SecurityContextHolder.getLocalMap().get("enterprise_id") + ":" + operatorId;
@@ -117,6 +119,7 @@ public class FreeChatTemplate implements BaseTemplate{
llmContext.setDevId(dev);
LlmParam param = new LlmParam();
LlmResponse response = sysLlmService.stream(llmContext,param);
log.info("llmContext:{}",llmContext);

JSONObject resultJson = new JSONObject();
resultJson.put("tts","让我想一想。");


+ 1
- 1
xueyi-modules/xueyi-nlt/src/main/resources/logback.xml 查看文件

@@ -7,7 +7,7 @@

<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
</appender>


+ 1
- 2
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/digitalmans/controller/DmManDeviceController.java 查看文件

@@ -135,11 +135,10 @@ public class DmManDeviceController extends BaseController<DmManDeviceQuery, DmMa
/** 根据设备id获取数字人信息 */
@GetMapping("/inner/info/{devId}")
R<DmManDeviceDto> manDeviceInfoInner(@RequestParam(value = "devId") String devId) {
System.out.println("manDeviceInfoInner:" + devId);
DmManDeviceDto dto = super.baseService.manDeviceInfoInner(devId);
System.out.println("manDeviceInfoInner:dto:" + dto.getTId());
SysEnterpriseDto enterpriseDto = enterpriseService.selectById(dto.getTId());
dto.setStrategyId(enterpriseDto.getStrategyId());
log.info("获取租户信息:" + dto);
return R.ok(dto);
}



+ 3
- 3
xueyi-modules/xueyi-system/src/main/resources/logback.xml 查看文件

@@ -7,7 +7,7 @@

<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
@@ -22,7 +22,7 @@
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
@@ -44,7 +44,7 @@
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">


+ 3
- 3
xueyi-modules/xueyi-tenant/src/main/resources/logback.xml 查看文件

@@ -7,7 +7,7 @@

<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
@@ -22,7 +22,7 @@
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
@@ -44,7 +44,7 @@
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">


正在加载...
取消
保存