본문 바로가기

IT/개발

google gemini API vision 모델을 이용한 이미지 해석 기초(제미나이, gemini-pro-vision)

반응형

여기서는 google gemini API를 이용하여 vision 모델을 구동 시켜 보는 예제를 살펴 보겠습니다. 

 

API 사용에 대한 기초는 다음을 참고.

 

https://yongeekd01.tistory.com/179

 

google gemini API 이용 개발 기초(제미나이 소개, API 사용준비, 모델들, gemini-pro, gemini-pro-vision)

1. Google gemini 소개 1.1 Gemini 개요 제미나이는 구글 AI에서 개발한 멀티모달 기반 대규모 언어 모델입니다. 텍스트, 이미지, 오디오, 동영상, 코드 등 다양한 형태의 정보를 이해하고 처리할 수 있는

yongeekd01.tistory.com

 

1. gemini-pro-vision 모델 사용 예제 

Gemini는 텍스트와 이미지 및 입력을 모두 허용하는 멀티모달 모델(gemini-pro-vision)을 제공합니다. GenerativeModel.generate_content API는 멀티모달 프롬프트를 처리하고 텍스트 출력을 반환할 수 있습니다

 

gemini-pro-vision 모델을 사용, generate_content를 사용하여 모델에 이미지를 전달하고 그 결과를 확인하는 방법입니다.

 

처음에는 이미지만 모델에 전달하여 간단한 이미지 설명을 받아내고 

두번째는 이미지에 대하여 추가적인 작업을 함께 프롬프트에 넣어 모델에 전달하여 결과를 받아오는 코드입니다. 

 

 
import google.generativeai as genai
import os
import PIL.Image


# 환경 변수에서 GOOGLE_API_KEY를 가져와 변수에 저장
GOOGLE_API_KEY = os.getenv('GOOGLE_API_KEY')  
# genai 모듈을 구성하고 API 키를 설정
genai.configure(api_key=GOOGLE_API_KEY)  

# 'generateContent'를 지원하는 모델을 출력
for m in genai.list_models():  
    if 'generateContent' in m.supported_generation_methods:  
        print(m.name)  
       
# 이미지 파일 열기        
img = PIL.Image.open('./data/myImage.jpg')  
 
 
        
# vision 모델 지정
model = genai.GenerativeModel('models/gemini-pro-vision')  

# 이미지를 기반으로 콘텐츠 생성
response = model.generate_content(img)  
print(response.text)  


'''
 숲속에 있는 벤치
'''

#이 이미지를 다루기 위해 프롬프트를 추가하려면 텍스트와 함께 전달 가능함
response = model.generate_content(["이 이미지를 이용해서 여행 광고 카피를 3줄로 4개만 작성해줘", img])
print(response.text)

'''
1. 나무 사이로 바람이 스쳐 지나가는 그늘 아래에서 휴식을 취하세요.
2. 도시의 소음에서 벗어나 나무와 함께하는 여행을 떠나세요.
3. 나무와 함께하는 여행은 마음의 평화를 찾을 수 있는 여행입니다.
4. 나무와 함께하는 여행은 새로운 자신을 발견할 수 있는 여행입니다.
'''
 

 

 

위와 같이 프롬프트에 텍스트와 이미지를 모두 제공하기 위해 목록을 전달할 수 있습니다.

잘 사용하면 여러가지로 응용할 수 있을 것 같습니다. 

 

 

반응형