mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-09-23 13:37:10 +08:00
add azure openai support
This commit is contained in:
@ -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.ActionResult;
|
||||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||||
import ai.chat2db.server.web.api.aspect.ConnectionInfoAspect;
|
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.AISystemConfigRequest;
|
||||||
import ai.chat2db.server.web.api.controller.config.request.SystemConfigRequest;
|
import ai.chat2db.server.web.api.controller.config.request.SystemConfigRequest;
|
||||||
import ai.chat2db.server.web.api.util.OpenAIClient;
|
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)
|
SystemConfigParam param = SystemConfigParam.builder().code(RestAIClient.AI_SQL_SOURCE).content(sqlSource)
|
||||||
.build();
|
.build();
|
||||||
configService.createOrUpdate(param);
|
configService.createOrUpdate(param);
|
||||||
if (AiSqlSourceEnum.OPENAI.getCode().equals(sqlSource)) {
|
AiSqlSourceEnum aiSqlSourceEnum = AiSqlSourceEnum.getByName(sqlSource);
|
||||||
|
switch (Objects.requireNonNull(aiSqlSourceEnum)) {
|
||||||
|
case OPENAI :
|
||||||
saveOpenAIConfig(request);
|
saveOpenAIConfig(request);
|
||||||
} else {
|
case RESTAI :
|
||||||
saveRestAIConfig(request);
|
saveRestAIConfig(request);
|
||||||
|
case AZUREAI :
|
||||||
|
saveAzureAIConfig(request);
|
||||||
}
|
}
|
||||||
return ActionResult.isSuccess();
|
return ActionResult.isSuccess();
|
||||||
}
|
}
|
||||||
@ -111,6 +116,24 @@ public class ConfigController {
|
|||||||
RestAIClient.refresh();
|
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}")
|
@GetMapping("/system_config/{code}")
|
||||||
public DataResult<Config> getSystemConfig(@PathVariable("code") String code) {
|
public DataResult<Config> getSystemConfig(@PathVariable("code") String code) {
|
||||||
DataResult<Config> result = configService.find(code);
|
DataResult<Config> result = configService.find(code);
|
||||||
|
@ -68,7 +68,7 @@ public class AISystemConfigRequest {
|
|||||||
private String azureEndpoint;
|
private String azureEndpoint;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* deployment id of the deployed model
|
* deploymentId of the deployed model, default gpt-3.5-turbo
|
||||||
*/
|
*/
|
||||||
private String azureDeploymentId;
|
private String azureDeploymentId;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user