// @PostMapping(value = "ai/msgPhoto4o", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
(value = "ai/msgPhoto", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public Object iomultio(("msg") String msg, ("file") MultipartFile file) {
System.out.println(msg);
try {
// 检查文件类型和大小等
if (!file.isEmpty() && file.getContentType() != null &&
file.getContentType().startsWith("image/") && file.getSize() > 0) {
// 构建用户消息,包括文本和图片文件
MimeType mimeType = MimeTypeUtils.parseMimeType(file.getContentType());
UserMessage userMessage = new UserMessage(msg, List.of(new Media(mimeType, file.getBytes())));
// 调用 ChatClient 发送消息
ChatResponse response = chatClient.call(new Prompt(userMessage, OpenAiChatOptions.builder()
.withModel("gpt-4o") // 使用 gpt-4o 模型
.build()));
// 返回输出内容
return response.getResult().getOutput().getContent();
} else {
throw new IllegalArgumentException("请上传有效的图片文件");
}
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("处理文件时出现错误");
}
}
4O jdk17
最新推荐文章于 2024-08-10 16:13:20 发布