From be010c45dbd44e51992c3d8f9dcf9bbd20bc235a Mon Sep 17 00:00:00 2001 From: msslulu <1484036491@qq.com> Date: Fri, 26 Dec 2025 00:00:01 -0800 Subject: [PATCH] fix: add ai/search endpoint (#281) --- .../it/controller/AiChatController.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/base/src/main/java/com/tinyengine/it/controller/AiChatController.java b/base/src/main/java/com/tinyengine/it/controller/AiChatController.java index e0086c78..ff129fa0 100644 --- a/base/src/main/java/com/tinyengine/it/controller/AiChatController.java +++ b/base/src/main/java/com/tinyengine/it/controller/AiChatController.java @@ -18,6 +18,9 @@ import com.tinyengine.it.model.dto.AiToken; import com.tinyengine.it.model.dto.ChatRequest; +import com.tinyengine.it.rag.entity.EmbeddingMatchDto; +import com.tinyengine.it.rag.entity.SearchRequest; +import com.tinyengine.it.rag.service.StorageService; import com.tinyengine.it.service.app.v1.AiChatV1Service; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -37,6 +40,8 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody; +import java.util.List; + /** * The type Ai chat controller. * @@ -53,6 +58,9 @@ public class AiChatController { @Autowired private AiChatV1Service aiChatV1Service; + @Autowired + private StorageService vectorStorageService; + /** * AI api * @@ -151,4 +159,25 @@ public Result getToken(@RequestBody ChatRequest request) throws Excepti String token = aiChatV1Service.getToken(apiKey); return Result.success(new AiToken(token)); } + + /** + * search in collection + * + * @param searchDto the searchDto + * @return result + */ + @Operation(summary = "在指定集合中搜索", description = "在指定集合中搜索", + parameters = { + @Parameter(name = "searchDto", description = "搜索请求参数体"), + }, responses = { + @ApiResponse(responseCode = "200", description = "返回信息", + content = @Content(mediaType = "application/json", schema = @Schema())), + @ApiResponse(responseCode = "400", description = "请求失败") + }) + @SystemControllerLog(description = "AI search in collection") + @PostMapping("/ai/search") + public Result> searchInCollection(@RequestBody SearchRequest searchDto) { + List results = vectorStorageService.search(searchDto); + return Result.success(results); + } }