이미지를 프롬프트로 받아, 이에 대해 설명해주고 키워드를 찾는 모델이 필요했다.
대부분 사용하는 Gpt-4모델을 API로 사용하면, 이미지를 프롬프트로 받지 못하는 듯 했다!!
그래서 가능한 방법을 찾아보니깐, Gpt-4o는 가능하는 것하다고 하였다.
Gpt-4o 이용하여 이미지 설명 및 키워드를 추출해내는 코드를 작성했다
👇 아래는 이미지를 프롬프트에 넣으면, 이미지에 대해 설명해주는 코드👇
# 이미지 경로 설정
image_path = "이미지 경로 설정"
# OpenAI API 키 설정
client = OpenAI(api_key = "개인 Chatgpt API Key 설정")
# gpt-4o 모델에 텍스트와 이미지 입력을 보내는 함수
def analyze_image_with_gpt4o(image_path):
# 이미지 파일을 base64로 인코딩
with open(image_path, "rb") as image_file:
base64_image = base64.b64encode(image_file.read()).decode("utf-8")
# OpenAI API 호출 설정
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": [
{"type": "text", "text": "Please analyze the following image."},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{base64_image}"}}
]}
],
temperature=0.7
)
# 결과 출력
return response.choices[0].message.content
analyze_image_with_gpt4o(image_path)
이미지를 설명하는 것 대신, 키워드를 찾게하고 싶다면
프롬프트( "Please analyze the following image." ) 부분을수정하면 된다 🔥
나는 사용할 때 Gpt-4o로 이미지를 해석하게 한 후에, 여기서 추출된 문장들을 이용해 Gpt-4에게 키워드를 찾아줄 것을 요청했다~
한 번에 여러 번 시키는 것보다 이렇게 역할을 나눠서 요구하는 것이 더 좋은 결과를 나타냈다!