fix(llm): 修复知识库文档嵌入错误并优化相关逻辑
- 移除了 AsyncKnowledgeBase 类中的 RegUploadReqVO 相关代码 - 修复了知识库文档嵌入时知识库 ID 传递错误的问题 - 优化了文档扩展名处理逻辑 - 在 KnowledgeBaseServiceImpl 中添加了 @Transactional 注解,确保数据一致性- 修复了 score 和 topK 的判断逻辑错误
This commit is contained in:
parent
e14b54a7f8
commit
216378d20d
@ -74,20 +74,12 @@ public class AsyncKnowledgeBase {
|
||||
log.info("将文档状态更新为 NOT_UPLOADED,文档 ID: {}", knowledge.getId());
|
||||
updateFileState(knowledge, KnowledgeStatusEnum.NOT_UPLOADED);
|
||||
|
||||
// 准备 RegUploadReqVO 用于文档上传
|
||||
log.info("为文档准备 RegUploadReqVO,文档 ID: {}", knowledge.getId());
|
||||
RegUploadReqVO regUploadReqVO = new RegUploadReqVO()
|
||||
.setUrl(llmBackendProperties.getRagEmbed())
|
||||
.setFileId(String.valueOf(knowledge.getFileId()))
|
||||
.setFileName(knowledge.getDocumentName())
|
||||
.setFileUrl(knowledge.getFileUrl());
|
||||
|
||||
// 检查文件扩展名并根据扩展名处理
|
||||
int lastIndex = knowledge.getDocumentName().lastIndexOf(".");
|
||||
if (lastIndex != -1) {
|
||||
String extension = knowledge.getDocumentName().substring(lastIndex + 1).toLowerCase();
|
||||
log.info("文档扩展名: {}", extension);
|
||||
knowledgeEmbed(knowledge, knowledge.getFileId(), knowledgeParameters);
|
||||
knowledgeEmbed(knowledge, knowledge.getKnowledgeBaseId(), knowledgeParameters);
|
||||
} else {
|
||||
log.warn("文档无扩展名,跳过处理,文档 ID: {}", knowledge.getId());
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -57,7 +58,7 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService {
|
||||
}
|
||||
|
||||
@Override
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateKnowledgeBase (KnowledgeBaseSaveReqVO updateReqVO) {
|
||||
// 1. 校验知识库是否存在
|
||||
validateKnowledgeParam(updateReqVO);
|
||||
@ -321,7 +322,7 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService {
|
||||
}
|
||||
|
||||
Double score = 0.2;
|
||||
if (baseDO.getScore() == null || baseDO.getTopK() <= 0.0|| baseDO.getScore() > 1) {
|
||||
if (baseDO.getScore() == null || baseDO.getTopK() <= 0.0 || baseDO.getScore() > 1) {
|
||||
testReqVO.setScore(score);
|
||||
} else {
|
||||
score = baseDO.getScore();
|
||||
|
Loading…
x
Reference in New Issue
Block a user