본문 바로가기
Python

[Python] Chat GPT API로 이미지 설명하는 함수 만들기

by present1234 2024. 11. 11.

이미지를 프롬프트로 받아, 이에 대해 설명해주고 키워드를 찾는 모델이 필요했다. 
대부분 사용하는 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에게 키워드를 찾아줄 것을 요청했다~
한 번에 여러 번 시키는 것보다 이렇게 역할을 나눠서 요구하는 것이 더 좋은 결과를 나타냈다!