(improvement)(parser) Add json format to LLM request for performance improvement (#2352)

This commit is contained in:
ChPi
2025-08-05 17:43:03 +08:00
committed by GitHub
parent 42bf355839
commit af28bc7c2a
4 changed files with 28 additions and 3 deletions

View File

@@ -28,6 +28,8 @@ public class ChatModelConfig implements Serializable {
private Boolean logRequests = false;
private Boolean logResponses = false;
private Boolean enableSearch = false;
private Boolean jsonFormat = false;
private String jsonFormatType = "json_schema";
public String keyDecrypt() {
return AESEncryptionUtil.aesDecryptECB(getApiKey());

View File

@@ -22,13 +22,17 @@ public class OpenAiModelFactory implements ModelFactory, InitializingBean {
@Override
public ChatLanguageModel createChatModel(ChatModelConfig modelConfig) {
return OpenAiChatModel.builder().baseUrl(modelConfig.getBaseUrl())
OpenAiChatModel.OpenAiChatModelBuilder openAiChatModelBuilder = OpenAiChatModel.builder().baseUrl(modelConfig.getBaseUrl())
.modelName(modelConfig.getModelName()).apiKey(modelConfig.keyDecrypt())
.apiVersion(modelConfig.getApiVersion()).temperature(modelConfig.getTemperature())
.topP(modelConfig.getTopP()).maxRetries(modelConfig.getMaxRetries())
.timeout(Duration.ofSeconds(modelConfig.getTimeOut()))
.logRequests(modelConfig.getLogRequests())
.logResponses(modelConfig.getLogResponses()).build();
.logResponses(modelConfig.getLogResponses());
if (modelConfig.getJsonFormat()) {
openAiChatModelBuilder.strictJsonSchema(true).responseFormat(modelConfig.getJsonFormatType());
}
return openAiChatModelBuilder.build();
}
@Override