(improvement)(dict) support queryDictValue (#1196)

This commit is contained in:
daikon
2024-06-23 11:56:26 +08:00
committed by GitHub
parent a658b9c45f
commit 2ae94fb38c
7 changed files with 177 additions and 0 deletions

View File

@@ -1,13 +1,16 @@
package com.tencent.supersonic.headless.server.rest;
import com.github.pagehelper.PageInfo;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
import com.tencent.supersonic.headless.api.pojo.request.DictItemFilter;
import com.tencent.supersonic.headless.api.pojo.request.DictItemReq;
import com.tencent.supersonic.headless.api.pojo.request.DictSingleTaskReq;
import com.tencent.supersonic.headless.api.pojo.request.DictValueReq;
import com.tencent.supersonic.headless.api.pojo.response.DictItemResp;
import com.tencent.supersonic.headless.api.pojo.response.DictTaskResp;
import com.tencent.supersonic.headless.api.pojo.response.DictValueResp;
import com.tencent.supersonic.headless.server.schedule.EmbeddingTask;
import com.tencent.supersonic.headless.server.service.DictConfService;
import com.tencent.supersonic.headless.server.service.DictTaskService;
@@ -137,4 +140,31 @@ public class KnowledgeController {
embeddingTask.reloadMetaEmbedding();
return true;
}
/**
* queryDictValue-返回字典的数据
*
* @param dictValueReq
*/
@PostMapping("/dict/data")
public PageInfo<DictValueResp> queryDictValue(@RequestBody @Valid DictValueReq dictValueReq,
HttpServletRequest request,
HttpServletResponse response) {
User user = UserHolder.findUser(request, response);
return taskService.queryDictValue(dictValueReq, user);
}
/**
* queryDictFilePath-返回字典文件的路径
*
* @param dictValueReq
*/
@PostMapping("/dict/file")
public String queryDictFilePath(@RequestBody @Valid DictValueReq dictValueReq,
HttpServletRequest request,
HttpServletResponse response) {
User user = UserHolder.findUser(request, response);
return taskService.queryDictFilePath(dictValueReq, user);
}
}

View File

@@ -1,8 +1,11 @@
package com.tencent.supersonic.headless.server.service;
import com.github.pagehelper.PageInfo;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.headless.api.pojo.request.DictSingleTaskReq;
import com.tencent.supersonic.headless.api.pojo.request.DictValueReq;
import com.tencent.supersonic.headless.api.pojo.response.DictTaskResp;
import com.tencent.supersonic.headless.api.pojo.response.DictValueResp;
/**
* Manage dictionary tasks
@@ -15,4 +18,8 @@ public interface DictTaskService {
Boolean dailyDictTask();
DictTaskResp queryLatestDictTask(DictSingleTaskReq taskReq, User user);
PageInfo<DictValueResp> queryDictValue(DictValueReq dictValueReq, User user);
String queryDictFilePath(DictValueReq dictValueReq, User user);
}

View File

@@ -1,13 +1,16 @@
package com.tencent.supersonic.headless.server.service.impl;
import com.github.pagehelper.PageInfo;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.Constants;
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
import com.tencent.supersonic.headless.api.pojo.request.DictItemFilter;
import com.tencent.supersonic.headless.api.pojo.request.DictSingleTaskReq;
import com.tencent.supersonic.headless.api.pojo.request.DictValueReq;
import com.tencent.supersonic.headless.api.pojo.response.DictItemResp;
import com.tencent.supersonic.headless.api.pojo.response.DictTaskResp;
import com.tencent.supersonic.headless.api.pojo.response.DictValueResp;
import com.tencent.supersonic.headless.chat.knowledge.KnowledgeBaseService;
import com.tencent.supersonic.headless.chat.knowledge.file.FileHandler;
import com.tencent.supersonic.headless.chat.knowledge.helper.HanlpHelper;
@@ -148,4 +151,21 @@ public class DictTaskServiceImpl implements DictTaskService {
return dictRepository.queryLatestDictTask(taskReq);
}
@Override
public PageInfo<DictValueResp> queryDictValue(DictValueReq dictValueReq, User user) {
String fileName = String.format("dic_value_%d_%s_%s",
dictValueReq.getModelId(), dictValueReq.getType().name(), dictValueReq.getItemId())
+ Constants.DOT + dictFileType;
PageInfo<DictValueResp> dictValueRespList = fileHandler.queryDictValue(fileName, dictValueReq);
return dictValueRespList;
}
@Override
public String queryDictFilePath(DictValueReq dictValueReq, User user) {
String fileName = String.format("dic_value_%d_%s_%s",
dictValueReq.getModelId(), dictValueReq.getType().name(), dictValueReq.getItemId())
+ Constants.DOT + dictFileType;
return fileHandler.queryDictFilePath(fileName);
}
}