feat(core): 改用amis推荐的返回结构
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
package com.lanyuanxiaoyao.service.ai.core.entity.amis;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crud 响应
|
||||||
|
*
|
||||||
|
* @author lanyuanxiaoyao
|
||||||
|
* @date 2023-07-06
|
||||||
|
*/
|
||||||
|
public class AmisCrudResponse extends AmisMapResponse {
|
||||||
|
public void setData(Iterable<?> list) {
|
||||||
|
getData().put("items", list);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTotal(Long total) {
|
||||||
|
getData().put("total", total);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTotal(Integer total) {
|
||||||
|
setTotal(total.longValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(Iterable<?> list, Long total) {
|
||||||
|
setData(list);
|
||||||
|
setTotal(total);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(Iterable<?> list, Integer total) {
|
||||||
|
setData(list, total.longValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.lanyuanxiaoyao.service.ai.core.entity.amis;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crud 响应
|
||||||
|
*
|
||||||
|
* @author lanyuanxiaoyao
|
||||||
|
* @date 2023-07-06
|
||||||
|
*/
|
||||||
|
public class AmisDetailResponse extends AmisMapResponse {
|
||||||
|
public void setDetail(Object detail) {
|
||||||
|
getData().put("detail", detail);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.lanyuanxiaoyao.service.ai.core.entity.amis;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Map 响应
|
||||||
|
*
|
||||||
|
* @author lanyuanxiaoyao
|
||||||
|
* @date 2023-07-06
|
||||||
|
*/
|
||||||
|
public class AmisMapResponse extends AmisResponse<Map<String, Object>> {
|
||||||
|
public AmisMapResponse() {
|
||||||
|
setData(new HashMap<>());
|
||||||
|
}
|
||||||
|
|
||||||
|
public AmisMapResponse setData(String key, Object value) {
|
||||||
|
getData().put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,138 @@
|
|||||||
|
package com.lanyuanxiaoyao.service.ai.core.entity.amis;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Amis 组件结构化返回值
|
||||||
|
*
|
||||||
|
* @author lanyuanxiaoyao
|
||||||
|
* @date 2022-09-21
|
||||||
|
*/
|
||||||
|
public class AmisResponse<T> {
|
||||||
|
private static final int SUCCESS_STATUS = 0;
|
||||||
|
private static final int ERROR_STATUS = 500;
|
||||||
|
private static final String SUCCESS_MESSAGE = "OK";
|
||||||
|
private static final String ERROR_MESSAGE = "ERROR";
|
||||||
|
private Integer status;
|
||||||
|
private String message;
|
||||||
|
private T data;
|
||||||
|
|
||||||
|
public static AmisResponse<Object> responseError() {
|
||||||
|
return responseError(ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AmisResponse<Object> responseError(String message) {
|
||||||
|
AmisResponse<Object> response = new AmisResponse<>();
|
||||||
|
response.setStatus(ERROR_STATUS);
|
||||||
|
response.setMessage(message);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AmisResponse<Object> responseSuccess() {
|
||||||
|
AmisResponse<Object> response = new AmisResponse<>();
|
||||||
|
response.setStatus(SUCCESS_STATUS);
|
||||||
|
response.setMessage(SUCCESS_MESSAGE);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AmisResponse<Object> responseSuccess(String message) {
|
||||||
|
AmisResponse<Object> response = new AmisResponse<>();
|
||||||
|
response.setStatus(SUCCESS_STATUS);
|
||||||
|
response.setMessage(message);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <E> AmisResponse<E> responseSuccess(String message, E data) {
|
||||||
|
AmisResponse<E> response = new AmisResponse<>();
|
||||||
|
response.setStatus(SUCCESS_STATUS);
|
||||||
|
response.setMessage(message);
|
||||||
|
response.setData(data);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <E> AmisResponse<E> responseSuccess(E data) {
|
||||||
|
AmisResponse<E> response = new AmisResponse<>();
|
||||||
|
response.setStatus(SUCCESS_STATUS);
|
||||||
|
response.setMessage(SUCCESS_MESSAGE);
|
||||||
|
response.setData(data);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AmisMapResponse responseMapData() {
|
||||||
|
AmisMapResponse response = new AmisMapResponse();
|
||||||
|
response.setStatus(SUCCESS_STATUS);
|
||||||
|
response.setMessage(SUCCESS_MESSAGE);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AmisMapResponse responseMapData(Map<String, Object> data) {
|
||||||
|
AmisMapResponse response = responseMapData();
|
||||||
|
response.setData(data);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AmisMapResponse responseMapData(String key, Object value) {
|
||||||
|
AmisMapResponse response = responseMapData();
|
||||||
|
response.setData(key, value);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AmisCrudResponse responseCrudData(Iterable<?> data) {
|
||||||
|
AmisCrudResponse response = new AmisCrudResponse();
|
||||||
|
response.setStatus(SUCCESS_STATUS);
|
||||||
|
response.setMessage(SUCCESS_MESSAGE);
|
||||||
|
response.setData(data);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AmisCrudResponse responseCrudData(Iterable<?> data, Integer total) {
|
||||||
|
AmisCrudResponse response = responseCrudData(data);
|
||||||
|
response.setTotal(total);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AmisCrudResponse responseCrudData(Iterable<?> data, Long total) {
|
||||||
|
AmisCrudResponse response = responseCrudData(data);
|
||||||
|
response.setTotal(total);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AmisDetailResponse responseDetailData(Object detail) {
|
||||||
|
AmisDetailResponse response = new AmisDetailResponse();
|
||||||
|
response.setDetail(detail);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(Integer status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMessage() {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessage(String message) {
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T getData() {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(T data) {
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "AmisResponse{" +
|
||||||
|
"status=" + status +
|
||||||
|
", message='" + message + '\'' +
|
||||||
|
", data=" + data +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.lanyuanxiaoyao.service.ai.knowledge.controller;
|
package com.lanyuanxiaoyao.service.ai.knowledge.controller;
|
||||||
|
|
||||||
import com.lanyuanxiaoyao.service.ai.knowledge.entity.vo.KnowledgeVO;
|
import com.lanyuanxiaoyao.service.ai.core.entity.amis.AmisMapResponse;
|
||||||
|
import com.lanyuanxiaoyao.service.ai.core.entity.amis.AmisResponse;
|
||||||
import com.lanyuanxiaoyao.service.ai.knowledge.entity.vo.PointVO;
|
import com.lanyuanxiaoyao.service.ai.knowledge.entity.vo.PointVO;
|
||||||
import com.lanyuanxiaoyao.service.ai.knowledge.service.EmbeddingService;
|
import com.lanyuanxiaoyao.service.ai.knowledge.service.EmbeddingService;
|
||||||
import com.lanyuanxiaoyao.service.ai.knowledge.service.KnowledgeService;
|
import com.lanyuanxiaoyao.service.ai.knowledge.service.KnowledgeService;
|
||||||
@@ -56,8 +57,8 @@ public class KnowledgeController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("list")
|
@GetMapping("list")
|
||||||
public ImmutableList<KnowledgeVO> list() {
|
public AmisResponse<?> list() {
|
||||||
return knowledgeService.list();
|
return AmisResponse.responseCrudData(knowledgeService.list());
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("list_points")
|
@GetMapping("list_points")
|
||||||
@@ -89,19 +90,20 @@ public class KnowledgeController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("preview_text")
|
@PostMapping("preview_text")
|
||||||
public ImmutableList<PointVO> previewText(
|
public AmisResponse<?> previewText(
|
||||||
@RequestParam(value = "mode", defaultValue = "NORMAL") String mode,
|
@RequestParam(value = "mode", defaultValue = "NORMAL") String mode,
|
||||||
@RequestParam(value = "type", defaultValue = "text") String type,
|
@RequestParam(value = "type", defaultValue = "text") String type,
|
||||||
@RequestParam("content") String content
|
@RequestParam("content") String content
|
||||||
) {
|
) {
|
||||||
return embeddingService.split(mode, content)
|
return AmisResponse.responseCrudData(
|
||||||
|
embeddingService.split(mode, content)
|
||||||
.collect(doc -> {
|
.collect(doc -> {
|
||||||
PointVO vo = new PointVO();
|
PointVO vo = new PointVO();
|
||||||
vo.setId(doc.getId());
|
vo.setId(doc.getId());
|
||||||
vo.setText(doc.getText());
|
vo.setText(doc.getText());
|
||||||
return vo;
|
return vo;
|
||||||
})
|
})
|
||||||
.toImmutable();
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping(value = "process_text", consumes = "text/plain;charset=utf-8")
|
@PostMapping(value = "process_text", consumes = "text/plain;charset=utf-8")
|
||||||
|
|||||||
Reference in New Issue
Block a user