mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-29 18:53:12 +08:00
ai result update
This commit is contained in:
@ -196,26 +196,11 @@ public class Chat2DBAIStreamClient {
|
||||
log.error("param error:ChatEventSourceListener cannot be empty");
|
||||
throw new ParamBusinessException();
|
||||
}
|
||||
log.info("Chat AI, prompt:{}", chatMessages.get(chatMessages.size() - 1).getContent());
|
||||
try {
|
||||
ChatCompletion chatCompletion = ChatCompletion.builder()
|
||||
.messages(chatMessages)
|
||||
.stream(true)
|
||||
.build();
|
||||
ConfigService configService = ApplicationContextUtil.getBean(ConfigService.class);
|
||||
DataResult<Config> chat2dbModel = configService.find(Chat2dbAIClient.CHAT2DB_OPENAI_MODEL);
|
||||
String model = Objects.nonNull(chat2dbModel.getData()) && StringUtils.isNotBlank(chat2dbModel.getData().getContent()) ? chat2dbModel.getData().getContent() : AiSqlSourceEnum.OPENAI.getCode();
|
||||
AiSqlSourceEnum aiSqlSourceEnum = AiSqlSourceEnum.getByName(model);
|
||||
switch (aiSqlSourceEnum) {
|
||||
case BAICHUANAI:
|
||||
chatCompletion = ChatCompletion.builder().messages(chatMessages).model("Baichuan2-53B").build();
|
||||
break;
|
||||
case ZHIPUAI:
|
||||
chatCompletion = ChatCompletion.builder().messages(chatMessages).model("chatglm_turbo").build();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
EventSource.Factory factory = EventSources.createFactory(this.okHttpClient);
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
@ -66,43 +66,12 @@ public class Chat2dbAIEventSourceListener extends EventSourceListener {
|
||||
}
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
ConfigService configService = ApplicationContextUtil.getBean(ConfigService.class);
|
||||
DataResult<Config> chat2dbModel = configService.find(Chat2dbAIClient.CHAT2DB_OPENAI_MODEL);
|
||||
String model = Objects.nonNull(chat2dbModel.getData()) && StringUtils.isNotBlank(chat2dbModel.getData().getContent()) ? chat2dbModel.getData().getContent() : AiSqlSourceEnum.OPENAI.getCode();
|
||||
AiSqlSourceEnum aiSqlSourceEnum = AiSqlSourceEnum.getByName(model);
|
||||
String text = "";
|
||||
String completionId = null;
|
||||
// 读取Json
|
||||
switch (aiSqlSourceEnum) {
|
||||
case BAICHUANAI:
|
||||
BaichuanChatCompletions chatCompletions = mapper.readValue(data, BaichuanChatCompletions.class);
|
||||
for (BaichuanChatMessage message : chatCompletions.getData().getMessages()) {
|
||||
if (message != null) {
|
||||
if (message.getContent() != null) {
|
||||
text = message.getContent();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ZHIPUAI:
|
||||
ZhipuChatCompletions zhipuChatCompletions = mapper.readValue(data, ZhipuChatCompletions.class);
|
||||
text = zhipuChatCompletions.getData();
|
||||
if (Objects.isNull(text)) {
|
||||
for (FastChatMessage message : zhipuChatCompletions.getBody().getChoices()) {
|
||||
if (message != null && message.getContent() != null) {
|
||||
text = message.getContent();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
ChatCompletionResponse completionResponse = mapper.readValue(data, ChatCompletionResponse.class);
|
||||
text = completionResponse.getChoices().get(0).getDelta() == null
|
||||
? completionResponse.getChoices().get(0).getText()
|
||||
: completionResponse.getChoices().get(0).getDelta().getContent();
|
||||
completionId = completionResponse.getId();
|
||||
break;
|
||||
}
|
||||
ChatCompletionResponse completionResponse = mapper.readValue(data, ChatCompletionResponse.class);
|
||||
String text = completionResponse.getChoices().get(0).getDelta() == null
|
||||
? completionResponse.getChoices().get(0).getText()
|
||||
: completionResponse.getChoices().get(0).getDelta().getContent();
|
||||
String completionId = completionResponse.getId();
|
||||
|
||||
Message message = new Message();
|
||||
if (text != null) {
|
||||
message.setContent(text);
|
||||
|
Reference in New Issue
Block a user