diff --git a/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/response/ChatModelTypeResp.java b/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/response/ChatModelTypeResp.java new file mode 100644 index 000000000..4d549365e --- /dev/null +++ b/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/response/ChatModelTypeResp.java @@ -0,0 +1,16 @@ +package com.tencent.supersonic.chat.api.pojo.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ChatModelTypeResp { + private String type; + private String name; + private String description; +} diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/rest/ChatModelController.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/rest/ChatModelController.java index 1f6ab2a8d..d64632b20 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/rest/ChatModelController.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/rest/ChatModelController.java @@ -5,14 +5,18 @@ import javax.servlet.http.HttpServletResponse; import com.tencent.supersonic.auth.api.authentication.pojo.User; import com.tencent.supersonic.auth.api.authentication.utils.UserHolder; +import com.tencent.supersonic.chat.api.pojo.response.ChatModelTypeResp; import com.tencent.supersonic.chat.server.pojo.ChatModel; import com.tencent.supersonic.chat.server.service.ChatModelService; import com.tencent.supersonic.chat.server.util.ModelConfigHelper; import com.tencent.supersonic.common.pojo.ChatModelConfig; +import com.tencent.supersonic.common.pojo.enums.ChatModelType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; @RestController @RequestMapping({"/api/chat/model", "/openapi/chat/model"}) @@ -45,6 +49,13 @@ public class ChatModelController { return chatModelService.getChatModels(); } + @RequestMapping("/getModelTypeList") + public List getModelTypeList() { + return Arrays.stream(ChatModelType.values()).map(t -> ChatModelTypeResp.builder() + .type(t.toString()).name(t.getName()).description(t.getDescription()).build()) + .collect(Collectors.toList()); + } + @PostMapping("/testConnection") public boolean testConnection(@RequestBody ChatModelConfig modelConfig) { return ModelConfigHelper.testConnection(modelConfig); diff --git a/common/src/main/java/com/tencent/supersonic/common/pojo/enums/ChatModelType.java b/common/src/main/java/com/tencent/supersonic/common/pojo/enums/ChatModelType.java index e817e9b3a..2f850f87c 100644 --- a/common/src/main/java/com/tencent/supersonic/common/pojo/enums/ChatModelType.java +++ b/common/src/main/java/com/tencent/supersonic/common/pojo/enums/ChatModelType.java @@ -1,14 +1,19 @@ package com.tencent.supersonic.common.pojo.enums; +import lombok.Getter; + +@Getter public enum ChatModelType { - TEXT_TO_SQL("Convert text query to SQL statement"), MULTI_TURN_REWRITE( - "Rewrite text query for multi-turn conversation"), MEMORY_REVIEW( - "Review memory in order to add few-shot examples"), RESPONSE_GENERATE( + TEXT_TO_SQL("SQL生成", "Convert text query to SQL statement"), MULTI_TURN_REWRITE("多轮改写", + "Rewrite text query for multi-turn conversation"), MEMORY_REVIEW("记忆评估", + "Review memory in order to add few-shot examples"), RESPONSE_GENERATE("回复生成", "Generate readable response to the end user"); private String description; + private String name; - ChatModelType(String description) { + ChatModelType(String name, String description) { + this.name = name; this.description = description; } }