[7기 랭체인] 이미지 Loader 활용 (돌아온 제목학원, 이미지 데이터를 랭체인에서 사용하기)

안녕하세요. 7기 랭체인방 정정민입니다. 😊

벌써 7기의 마지막 주라니, 시간이 빠르네요.
이번 스터디는 평소에 궁금했던 랭체인 경험을 쌓아볼 수 있어서 좋은 시간이었네요.

오늘은 랭체인으로 이미지를 다뤄보았던 경험을 공유하려합니다.


1. 랭체인에서 이미지 사용하는 전략

랭체인은 텍스트를 기반으로 LLM 모델 사용을 쉽게 지원하는 도구입니다.
그렇다보니 텍스트가 아닌 다른 형태의 데이터(이미지, 음성 등)를 사용하기에는 조금 어려운점이 있습니다.
(Embedding 이라는 과정도 있지만, 그건 나중에 다뤄보는걸로!)

다양한 방법이 있을 수 있지만,
저는 아래와 같은 과정을 사용했습니다.

먼저 분석에 필요한 이미지를 준비한 뒤,
LLM이 나서기 전에 Image Loader를 사용합니다.

Image Loader란 Langchain에서 제공하는 모듈로
특정 이미지를 보고 해당 이미지의 설명(주석, caption)을 만들어 주는 녀석입니다. (링크)

from langchain.document_loaders import ImageCaptionLoader
loader = ImageCaptionLoader(path_images=[file_name])
caption = loader.load()[0].page_content

이것을 활용해 LLM이 받아들일 수 있는 Text의 영역으로 바꿔버리는거죠.
하지만 이미지가 갖고 있는 세부적인 정보들을 모두 텍스트로 설명할 수 없는 단점이 있습니다.

이후, 설명을 바탕으로 LLM 모델에게 넘겨 원하는 목적을 수행하는거죠!


2. 데모 문제 설정

위와 같은 방식으로 이미지를 다뤄볼건데,,
어떤 문제를 풀어볼지 고민이었습니다. 😩

그러던 중, 이런 짤을 보게되었어요.
(아마도) 일본의 예능 프로 같은데,
이미지를 보고 짧은 시간 안에 아주 센스있는 이미지의 제목을 만들어내는 예능같았어요.

e_sb43aef003_eed9d2cfbe8b9ee26de49cbd0f277984762eb92d.mp4e_sb43aef005_5825f58a67950b912ef82a4d96080e4b1da80728.mp4e_sb43aef006_a77c7c9d1c02f166c34d07a5903daa17a63d872f.mp4

아마 한국에도 제목학원이라는 이름으로
비슷한 사이트가 있던걸로 기억합니다.

위에 일본 예능도 그렇고 예전의 제목학원도 그랬고
개인적으로 너무 웃겼는데,
이런걸 LLM이 해줄 수 있지 않을까 했습니다.

네, 그래서 만들었습니다.


3. 제목학원 LM ver.

[에러!] 😥 현재 DeepL 과정에서 번역 결과를 받는 곳에서 에러가 나고 있습니다. 빨리 업데이트 하겠습니다~!

OpenAI API key와 DeepL API key가 필요합니다.

그리고 필요한 API를 발급할 수 있는 사이트를 링크로 걸어두었습니다.

GPT는 3.5터보를 사용했고,
temperature는 1.2 정도가 좋더라구요.
그리고 토큰 길이는 작을수록 컴팩트하고 임팩트 있는 제목이 나왔던… ㅎㅎ

아래는 데모 영상입니다.

화면 기록 2023-11-01 오후 9.07.02.mp4

아무래도..

  • 이미지를 글로 표현하는 과정에서 디테일이 사라지는 점

  • 위트가 있고 사람들을 웃기는 언어적 포인트에 대한 LLM 모델의 능력 부족

  • 영어적 funny point를 DeepL로 표현하는 과정에서 어색한 표현이 첨가

등등의 문제들로 결과가 그렇게 좋지는 않았던 것 같아요 ㅎㅎ;;


마지막으로

7기에서 함께 랭체인을 공부하고 고민해주었던
스터디장인 은철님과 다른 스터디원님 감사합니다.

재밌게 공부하고 배울 수 있던 시간이었습니다!


작성자



4
2개의 답글

👉 이 게시글도 읽어보세요

모집 중인 AI 스터디