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.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<Config> getSystemConfig(@PathVariable("code") String code) {
|
||||
DataResult<Config> result = configService.find(code);
|
||||
|
@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user