diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/ChatController.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/ChatController.java index 551dfbe6..32fc93b9 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/ChatController.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/ChatController.java @@ -542,20 +542,27 @@ public class ChatController { TableSchemaRequest tableSchemaRequest = new TableSchemaRequest(); tableSchemaRequest.setSchemaVector(contentVector); tableSchemaRequest.setDataSourceId(queryRequest.getDataSourceId()); - String databaseName = StringUtils.isNotBlank(queryRequest.getDatabaseName()) ? queryRequest.getDatabaseName() : queryRequest.getSchemaName(); - if (Objects.isNull(databaseName)) { - databaseName = ""; + tableSchemaRequest.setDatabaseName(queryRequest.getDatabaseName()); + tableSchemaRequest.setDataSourceSchema(queryRequest.getSchemaName()); + ConfigService configService = ApplicationContextUtil.getBean(ConfigService.class); + Config keyConfig = configService.find(Chat2dbAIClient.CHAT2DB_OPENAI_KEY).getData(); + if (Objects.isNull(keyConfig) || StringUtils.isBlank(keyConfig.getContent())) { + return ""; } - tableSchemaRequest.setDatabaseName(databaseName); - DataResult result = gatewayClientService.schemaVectorSearch(tableSchemaRequest); - - List schemas = Lists.newArrayList(); - if (CollectionUtils.isNotEmpty(result.getData().getTableSchemas())) { - for(TableSchema data: result.getData().getTableSchemas()){ - schemas.add(data.getTableSchema()); + tableSchemaRequest.setApiKey(keyConfig.getContent()); + try { + DataResult result = gatewayClientService.schemaVectorSearch(tableSchemaRequest); + List schemas = Lists.newArrayList(); + if (Objects.nonNull(result.getData()) && CollectionUtils.isNotEmpty(result.getData().getTableSchemas())) { + for(TableSchema data: result.getData().getTableSchemas()){ + schemas.add(data.getTableSchema()); + } } + return JSON.toJSONString(schemas); + } catch (Exception exception) { + log.error("query table error, do nothing"); + return ""; } - return JSON.toJSONString(schemas); } /** diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/http/GatewayClientService.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/http/GatewayClientService.java index 07512229..8225840b 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/http/GatewayClientService.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/http/GatewayClientService.java @@ -79,8 +79,8 @@ public interface GatewayClientService { * @param searchVectors * @return */ - @Get("/api/client/milvus/knowledge/search") - DataResult knowledgeVectorSearch(@Query KnowledgeRequest searchVectors); + @Post(url = "/api/client/milvus/knowledge/search", contentType = "application/json") + DataResult knowledgeVectorSearch(@Body KnowledgeRequest searchVectors); /** * save table schema vector @@ -88,8 +88,8 @@ public interface GatewayClientService { * @param request * @return */ - @Get("/api/client/milvus/schema/search") - DataResult schemaVectorSearch(@Query TableSchemaRequest request); + @Post(url = "/api/client/milvus/schema/search", contentType = "application/json") + DataResult schemaVectorSearch(@Body TableSchemaRequest request); /** * check in white list diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/http/request/TableSchemaRequest.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/http/request/TableSchemaRequest.java index aac8c1e0..324e7a7e 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/http/request/TableSchemaRequest.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/http/request/TableSchemaRequest.java @@ -26,5 +26,5 @@ public class TableSchemaRequest { private List schemaList; - private Boolean deleteBeforeInsert; + private Boolean deleteBeforeInsert = false; }