提交 0c06ffd4 作者: 925993793@qq.com

大模型处理逻辑优化

上级 ef63c0a9
......@@ -33,9 +33,11 @@ public enum AnalysisColumnEnum {
FOREIGN_SIMILAR_EVENT(11, "各国类似事件", "array", 1),
DRIVING_FACTORS(12, "事件核心驱动因素", "string", 1),
DRIVING_FACTORS(12, "事件核心驱动因素", "object", 1),
RELATED_INDICATOR(13, "事件相关指标", "string", 1)
RELATED_INDICATOR(13, "事件相关指标", "array", 1),
IMPACT_ASSESSMENT_DETAIL(14, "影响评估详情", "string", 1),
;
//栏目编码
......
......@@ -3,12 +3,10 @@ package com.zzsn.event.service;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.zzsn.event.entity.Event;
import com.zzsn.event.entity.EventLlmConfig;
import com.zzsn.event.entity.SubjectAnalysis;
import com.zzsn.event.vo.CoOccurrenceVO;
import com.zzsn.event.vo.CountVO;
import com.zzsn.event.vo.EventContextVO;
import com.zzsn.event.vo.PropagationPathVo;
import com.zzsn.event.vo.*;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.LinkedHashMap;
......@@ -85,15 +83,16 @@ public interface AnalysisService {
/**
* 利用大模型生成的结果
*
* @param eventName 事件名称
* @param event 事件信息
* @param startTime 开始时间
* @param endTime 结束时间
* @param llmConfig 模型配置信息
* @author lkg
* @date 2025/7/17
*/
String llmResult(String eventName,String content, String startTime, String endTime, EventLlmConfig llmConfig);
String llmResult(String eventId,String content, String startTime, String endTime, Integer columnCode);
String llmResult(EventVO event, String content, String startTime, String endTime, EventLlmConfig llmConfig);
String llmResult(String eventId, String content, String startTime, String endTime, Integer columnCode);
/**
* 重新生成
......
......@@ -85,27 +85,24 @@ public class AnalysisTask {
for (Event event : eventList) {
CompletableFuture.runAsync(() -> {
String eventId = event.getId();
int count = esService.count(eventId, null, null);
if (count > 0) {
String key = Constants.SUBJECT_ANALYSIS_PRE + Constants.PROPAGATION_KEY + eventId;
Date timeDisable = event.getEndTime();
//已经结束的事件专题,永久缓存
if (timeDisable != null && deadlineDate.compareTo(timeDisable) > 0) {
Object cacheObject = redisUtil.get(key);
if (cacheObject == null) {
PropagationPathVo pathVo = analysisService.propagationPath(eventId);
if (ObjectUtils.isNotEmpty(pathVo)) {
redisUtil.set(key, pathVo);
log.info("事件-{},传播路径数据【永久】缓存成功!", event.getEventName());
}
}
} else {//已经结束的事件专题,缓存有效期一天
String key = Constants.SUBJECT_ANALYSIS_PRE + Constants.PROPAGATION_KEY + eventId;
Date timeDisable = event.getEndTime();
//已经结束的事件专题,永久缓存
if (timeDisable != null && deadlineDate.compareTo(timeDisable) > 0) {
Object cacheObject = redisUtil.get(key);
if (cacheObject == null) {
PropagationPathVo pathVo = analysisService.propagationPath(eventId);
if (ObjectUtils.isNotEmpty(pathVo)) {
redisUtil.set(key, pathVo, 3600 * 24);
log.info("事件-{},传播路径数据缓存成功!", event.getEventName());
redisUtil.set(key, pathVo);
log.info("事件-{},传播路径数据【永久】缓存成功!", event.getEventName());
}
}
} else {//已经结束的事件专题,缓存有效期一天
PropagationPathVo pathVo = analysisService.propagationPath(eventId);
if (ObjectUtils.isNotEmpty(pathVo)) {
redisUtil.set(key, pathVo, 3600 * 24);
log.info("事件-{},传播路径数据缓存成功!", event.getEventName());
}
}
});
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论