spring-ai/02.ChatClient API
04.Multimodal
은서파
2025. 6. 1. 12:57
이번 포스트에서는 Model의 multimodality에 대해 살펴보자.
Multimodality API
Multimodality란?
인간이 무언가를 인식하는 방법은 단순히 텍스트 뿐만은 아니라 시각, 청각, 텍스트 등 다양하다. 우리가 학습하는 방식과 경험을 multimodal이라고 한다.
초창기의 모델은 단일 modality를 처리하도록 제작되었으나 최근의 모델들은 인간처럼 multi modal을 지원하기 시작했다. 예를 들어 OpenAI의 GPT-4o, Google의 Vertex AI Gemini 1.5, Anthropic의 Claude3, 오픈 소스 제품인 Llama3.2, LLaVA 및 BakLLaVA는 텍스트 이미지, 오디오 및 비디오를 포함한 여러 입력을 수용하고 이러한 입력을 통합하여 텍스트 응답을 생성할 수 있다.
하지만 모든 미디어 타입을 다 지원하지는 않기 때문에 모델의 특성을 확인하고 사용해야 한다.
사용 예
사용 방밥은 간단하다. 단지 user message를 구성하면서 media에 대한 정보를 전달하면 된다.
@Test
void multiModalTest() throws Exception {
try {
Resource res = new ClassPathResource("/static/img/multimodal.test.png");
String result = aiService.multiModal("이 그림에 대해서 설명해줘.", MimeTypeUtils.IMAGE_PNG, res);
//Resource res = new ClassPathResource("/static/img/101.mp4");
//String result = aiService.multiModal("이 비디오에 대해서 설명해줘.", MimeType.valueOf("video/mp4"), res);
log.debug("result: {}", result);
} catch (Exception e) {
e.printStackTrace();
}
}