Commit 96cf4b4c authored by alex yao's avatar alex yao

feat:问答知识库结构查询

parent 952a4792
package cn.com.poc.knowledge.dto;
import cn.com.poc.thirdparty.resource.demand.ai.entity.qaknowledge.QAKnowledgeConfig;
import java.util.List;
/**
* @author alex.yao
* @date 2025/2/20
*/
public class QAKnowledgeStructDto {
private List<QAKnowledgeConfig> struct;
public List<QAKnowledgeConfig> getStruct() {
return struct;
}
public void setStruct(List<QAKnowledgeConfig> struct) {
this.struct = struct;
}
}
package cn.com.poc.knowledge.rest; package cn.com.poc.knowledge.rest;
import cn.com.poc.knowledge.dto.QAKnowledgeChunkDto; import cn.com.poc.knowledge.dto.QAKnowledgeChunkDto;
import cn.com.poc.knowledge.dto.QAKnowledgeStructDto;
import cn.com.poc.knowledge.dto.UpsertChunkInfoDto; import cn.com.poc.knowledge.dto.UpsertChunkInfoDto;
import cn.com.poc.thirdparty.resource.demand.ai.entity.qaknowledge.QAKnowledgeChunkResult; import cn.com.poc.thirdparty.resource.demand.ai.entity.qaknowledge.QAKnowledgeChunkResult;
import cn.com.poc.thirdparty.resource.demand.ai.entity.qaknowledge.QAKnowledgeConfig;
import cn.com.yict.framemax.core.rest.BaseRest; import cn.com.yict.framemax.core.rest.BaseRest;
import cn.com.yict.framemax.data.model.PagingInfo; import cn.com.yict.framemax.data.model.PagingInfo;
import cn.com.yict.framemax.web.permission.Access; import cn.com.yict.framemax.web.permission.Access;
...@@ -59,4 +61,12 @@ public interface QAKnowledgeRest extends BaseRest { ...@@ -59,4 +61,12 @@ public interface QAKnowledgeRest extends BaseRest {
*/ */
void updateChunkSort(@RequestParam Integer kdId, @RequestParam String chunkRelationId, @RequestParam Integer sort); void updateChunkSort(@RequestParam Integer kdId, @RequestParam String chunkRelationId, @RequestParam Integer sort);
/**
* 获取问答知识库索引结构
*
* @param kdId
* @return
*/
QAKnowledgeStructDto getKnowledgeStruct(@RequestParam Integer kdId);
} }
...@@ -3,9 +3,11 @@ package cn.com.poc.knowledge.rest.impl; ...@@ -3,9 +3,11 @@ package cn.com.poc.knowledge.rest.impl;
import cn.com.poc.knowledge.aggregate.QAKnowledgeService; import cn.com.poc.knowledge.aggregate.QAKnowledgeService;
import cn.com.poc.knowledge.convert.QAKnowledgeChunkConvert; import cn.com.poc.knowledge.convert.QAKnowledgeChunkConvert;
import cn.com.poc.knowledge.dto.QAKnowledgeChunkDto; import cn.com.poc.knowledge.dto.QAKnowledgeChunkDto;
import cn.com.poc.knowledge.dto.QAKnowledgeStructDto;
import cn.com.poc.knowledge.dto.UpsertChunkInfoDto; import cn.com.poc.knowledge.dto.UpsertChunkInfoDto;
import cn.com.poc.knowledge.rest.QAKnowledgeRest; import cn.com.poc.knowledge.rest.QAKnowledgeRest;
import cn.com.poc.thirdparty.resource.demand.ai.entity.qaknowledge.QAKnowledgeChunkResult; import cn.com.poc.thirdparty.resource.demand.ai.entity.qaknowledge.QAKnowledgeChunkResult;
import cn.com.poc.thirdparty.resource.demand.ai.entity.qaknowledge.QAKnowledgeConfig;
import cn.com.yict.framemax.data.model.PagingInfo; import cn.com.yict.framemax.data.model.PagingInfo;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -63,4 +65,12 @@ public class QAKnowledgeRestImpl implements QAKnowledgeRest { ...@@ -63,4 +65,12 @@ public class QAKnowledgeRestImpl implements QAKnowledgeRest {
public void updateChunkSort(Integer kdId, String chunkRelationId, Integer sort) { public void updateChunkSort(Integer kdId, String chunkRelationId, Integer sort) {
qaKnowledgeService.updateKnowledgeChunkSort(kdId, chunkRelationId, sort); qaKnowledgeService.updateKnowledgeChunkSort(kdId, chunkRelationId, sort);
} }
@Override
public QAKnowledgeStructDto getKnowledgeStruct(Integer kdId) {
List<QAKnowledgeConfig> knowledgeStruct = qaKnowledgeService.getKnowledgeStruct(kdId);
QAKnowledgeStructDto dto = new QAKnowledgeStructDto();
dto.setStruct(knowledgeStruct);
return dto;
}
} }
...@@ -99,21 +99,7 @@ public class AIDialogueServiceImpl implements AIDialogueService { ...@@ -99,21 +99,7 @@ public class AIDialogueServiceImpl implements AIDialogueService {
.build() .build()
); );
InputStream inputStream = httpResponse.getEntity().getContent(); InputStream inputStream = httpResponse.getEntity().getContent();
// Header contentType = httpResponse.getFirstHeader("Content-type"); return new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
// if ("application/json".equals(contentType.getValue()) || "text/plain;charset=UTF-8".equals(contentType.getValue()) || "application/json; charset=utf-8".equals(contentType.getValue())) {
// String res;
// StringBuilder stringBuilder = new StringBuilder();
// while ((res = bufferedReader.readLine()) != null) {
// if (StringUtils.isBlank(res)) {
// continue;
// }
// stringBuilder.append(res);
// }
// LargeModelDemandResult result = JsonUtils.deSerialize(stringBuilder.toString(), LargeModelDemandResult.class);
// logger.error("调用大模型接口失败:{}", result.getMessage());
// }
return bufferedReader;
} }
private LargeModelDemandResult largeModelRequest(LargeModelDemandResponse request) { private LargeModelDemandResult largeModelRequest(LargeModelDemandResponse request) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment