diff --git a/src/main/java/com/yolo/keyborad/model/entity/KeyboardUserCallLog.java b/src/main/java/com/yolo/keyborad/model/entity/KeyboardUserCallLog.java index c489d51..c31e1e6 100644 --- a/src/main/java/com/yolo/keyborad/model/entity/KeyboardUserCallLog.java +++ b/src/main/java/com/yolo/keyborad/model/entity/KeyboardUserCallLog.java @@ -103,4 +103,7 @@ public class KeyboardUserCallLog { @Schema(description="调用记录创建时间") private Date createdAt; + @TableField(value = "gen_id") + @Schema(description="生成 Id") + private String genId; } \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/service/impl/ChatServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/ChatServiceImpl.java index eeef763..1ede63d 100644 --- a/src/main/java/com/yolo/keyborad/service/impl/ChatServiceImpl.java +++ b/src/main/java/com/yolo/keyborad/service/impl/ChatServiceImpl.java @@ -155,6 +155,8 @@ public class ChatServiceImpl implements ChatService { AtomicInteger outputTokens = new AtomicInteger(0); // 原子引用保存错误代码 AtomicReference errorCodeRef = new AtomicReference<>(); + //原子引用保存生成ID + AtomicReference genId = new AtomicReference<>(); // ============ 3. 构建LLM流式输出 ============ Flux llmFlux = client @@ -180,6 +182,9 @@ public class ChatServiceImpl implements ChatService { if (metadata.getModel() != null) { modelRef.set(metadata.getModel()); } + if (metadata.getId() != null){ + genId.set(metadata.getId()); + } // 保存token使用情况 if (metadata.getUsage() != null) { var usage = metadata.getUsage(); @@ -281,6 +286,7 @@ public class ChatServiceImpl implements ChatService { }); // 设置日志基本信息 callLog.setRequestId(requestId); + callLog.setGenId(genId.get()); callLog.setFeature("chat_talk"); callLog.setModel(modelRef.get()); // 设置token使用情况