diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/config/ConfigController.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/config/ConfigController.java index c0420d6e..002d60f3 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/config/ConfigController.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/config/ConfigController.java @@ -14,6 +14,7 @@ import ai.chat2db.server.domain.api.service.ConfigService; import ai.chat2db.server.tools.base.wrapper.result.ActionResult; import ai.chat2db.server.tools.base.wrapper.result.DataResult; import ai.chat2db.server.web.api.aspect.ConnectionInfoAspect; +import ai.chat2db.server.web.api.controller.ai.azure.client.AzureOpenAIClient; import ai.chat2db.server.web.api.controller.config.request.AISystemConfigRequest; import ai.chat2db.server.web.api.controller.config.request.SystemConfigRequest; import ai.chat2db.server.web.api.util.OpenAIClient; @@ -64,10 +65,14 @@ public class ConfigController { SystemConfigParam param = SystemConfigParam.builder().code(RestAIClient.AI_SQL_SOURCE).content(sqlSource) .build(); configService.createOrUpdate(param); - if (AiSqlSourceEnum.OPENAI.getCode().equals(sqlSource)) { - saveOpenAIConfig(request); - } else { - saveRestAIConfig(request); + AiSqlSourceEnum aiSqlSourceEnum = AiSqlSourceEnum.getByName(sqlSource); + switch (Objects.requireNonNull(aiSqlSourceEnum)) { + case OPENAI : + saveOpenAIConfig(request); + case RESTAI : + saveRestAIConfig(request); + case AZUREAI : + saveAzureAIConfig(request); } return ActionResult.isSuccess(); } @@ -111,6 +116,24 @@ public class ConfigController { RestAIClient.refresh(); } + /** + * 保存azure配置 + * + * @param request + */ + private void saveAzureAIConfig(AISystemConfigRequest request) { + SystemConfigParam apikeyParam = SystemConfigParam.builder().code(AzureOpenAIClient.AZURE_CHATGPT_API_KEY).content( + request.getAzureApiKey()).build(); + configService.createOrUpdate(apikeyParam); + SystemConfigParam endpointParam = SystemConfigParam.builder().code(AzureOpenAIClient.AZURE_CHATGPT_ENDPOINT).content( + request.getAzureEndpoint()).build(); + configService.createOrUpdate(endpointParam); + SystemConfigParam modelParam = SystemConfigParam.builder().code(AzureOpenAIClient.AZURE_CHATGPT_DEPLOYMENT_ID).content( + request.getAzureDeploymentId()).build(); + configService.createOrUpdate(modelParam); + RestAIClient.refresh(); + } + @GetMapping("/system_config/{code}") public DataResult getSystemConfig(@PathVariable("code") String code) { DataResult result = configService.find(code); diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/config/request/AISystemConfigRequest.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/config/request/AISystemConfigRequest.java index a5e22d04..fcc34d88 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/config/request/AISystemConfigRequest.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/config/request/AISystemConfigRequest.java @@ -68,7 +68,7 @@ public class AISystemConfigRequest { private String azureEndpoint; /** - * deployment id of the deployed model + * deploymentId of the deployed model, default gpt-3.5-turbo */ private String azureDeploymentId; }