mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-09-13 00:14:59 +00:00
fix: 修复链路追踪输出记录及关闭追踪时的额外开销
This commit is contained in:
@@ -337,7 +337,8 @@ public class ChatServiceFacade implements IChatService {
|
||||
result, RoleType.ASSISTANT.getName(), chatRequest.getModel());
|
||||
}
|
||||
if (llmSpan != null) {
|
||||
llmSpan.finishSuccess();
|
||||
llmSpan.finishSuccess(RagTracePayloadBuilder.streamOutputSummary(
|
||||
result == null ? 0 : result.length()));
|
||||
}
|
||||
finishTraceRun(traceRun, TraceConstants.STATUS_SUCCESS, null);
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -76,6 +76,8 @@ public class KnowledgeRetrievalServiceImpl implements KnowledgeRetrievalService
|
||||
}
|
||||
log.info("开始知识库检索, kid={}, query={}", queryVectorBo.getKid(), queryVectorBo.getQuery());
|
||||
|
||||
String retrievalInputPayload = traceActive()
|
||||
? RagTracePayloadBuilder.retrievalInputSummary(queryVectorBo) : null;
|
||||
List<KnowledgeRetrievalVo> finalResults = TraceNodeTemplate.withNode(traceRecordService, traceProperties,
|
||||
"retrieval", RagTraceNodeTypes.NODE_RETRIEVAL,
|
||||
KnowledgeRetrievalServiceImpl.class.getName(), "retrieve",
|
||||
@@ -206,8 +208,10 @@ public class KnowledgeRetrievalServiceImpl implements KnowledgeRetrievalService
|
||||
*/
|
||||
private List<KnowledgeRetrievalVo> performRerank(QueryVectorBo queryVectorBo, List<KnowledgeRetrievalVo> coarseResults) {
|
||||
int topN = queryVectorBo.getRerankTopN() != null ? queryVectorBo.getRerankTopN() : queryVectorBo.getMaxResults();
|
||||
String rerankInputPayload = traceActive()
|
||||
? RagTracePayloadBuilder.rerankInputSummary(queryVectorBo, coarseResults.size(), topN) : null;
|
||||
TraceNodeHandle traceNode = startTraceNode("rerank", RagTraceNodeTypes.NODE_RERANK, "performRerank",
|
||||
RagTracePayloadBuilder.rerankInputSummary(queryVectorBo, coarseResults.size(), topN));
|
||||
rerankInputPayload);
|
||||
try {
|
||||
RerankModelService rerankModel = rerankModelFactory.createModel(queryVectorBo.getRerankModelName());
|
||||
|
||||
@@ -324,6 +328,10 @@ public class KnowledgeRetrievalServiceImpl implements KnowledgeRetrievalService
|
||||
}
|
||||
}
|
||||
|
||||
private boolean traceActive() {
|
||||
return traceProperties.isEnabled() && StringUtils.isNotBlank(TraceContext.getTraceId());
|
||||
}
|
||||
|
||||
private void finishTraceNode(TraceNodeHandle traceNode, String status, Throwable error, String outputPayload) {
|
||||
if (traceNode == null || !traceNode.finished.compareAndSet(false, true)) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user