ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • GPT-4o 모델 사용하기 - (2) 이미지를 입력으로 하기
    프로그래밍/기계학습 2024. 6. 22. 23:44
    728x90
    반응형

     

     

     

    이번에 GPT-4o 모델을 사용해서 추가하려는  서비스는 사용자가 넣은 이미지를 기반으로 조언을 하는 서비스입니다.  

     

    이제 GPT 개발환경을 설정 완료했으니 실제 이미지를 입력으로 넣어보겠습니다. 

     

    2024.06.13 - [프로그래밍/기계학습] - GPT-4o 모델 사용하기 - (1) OpenAI 개발환경 설정하기

     

     

     

     

    우선 샘플 코드를 실행해보겠습니다. 

     

     

    from openai import OpenAI
    
    client = OpenAI()
    
    response = client.chat.completions.create(
      model="gpt-4o",
      messages=[
        {
          "role": "user",
          "content": [
            {"type": "text", "text": "What’s in this image?"},
            {
              "type": "image_url",
              "image_url": {
                "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg",
              },
            },
          ],
        }
      ],
      max_tokens=300,
    )
    
    print(response.choices[0])

     

     

     

    Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='This image depicts a peaceful outdoor scene featuring a long, wooden boardwalk that stretches into the distance. The boardwalk is surrounded by tall, green grass and various bushes. In the background, there are trees and a clear blue sky with white clouds, suggesting a calm, sunny day. The scene evokes a sense of tranquility and open space, typical of a nature trail or a meadow.', role='assistant', function_call=None, tool_calls=None))

     

     

     

    샘플 코드가 잘 돌아가네요. 

    참고로 API 호출 한번( max token: 1000 이하) 에 0.01$ 사용했습니다. 14원 정도네요 (환율 기준 1376원)

     

     

     

    API 사용비용은 아래 링크에서 확인이 가능합니다. 

     

    https://platform.openai.com/organization/usage

     

     

     

     

    참고로 GPT-4o 가격입니다. 

     

     

     

    서비스에 적용할 때는 위의 이미지 경로만 아래와같이 실제 파일 경로로 변경해주면 됩니다. 

     

     

     

    import base64
    import requests
    
    # OpenAI API Key
    api_key = "YOUR_OPENAI_API_KEY"
    
    # Function to encode the image
    def encode_image(image_path):
      with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')
    
    # Path to your image
    image_path = "path_to_your_image.jpg"
    
    # Getting the base64 string
    base64_image = encode_image(image_path)
    
    headers = {
      "Content-Type": "application/json",
      "Authorization": f"Bearer {api_key}"
    }
    
    payload = {
      "model": "gpt-4o",
      "messages": [
        {
          "role": "user",
          "content": [
            {
              "type": "text",
              "text": "What’s in this image?"
            },
            {
              "type": "image_url",
              "image_url": {
                "url": f"data:image/jpeg;base64,{base64_image}"
              }
            }
          ]
        }
      ],
      "max_tokens": 300
    }
    
    response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
    
    print(response.json())

     

     

     

    이렇게 생각보다 간단하게 openai 이미지 분석이 서비스에 추가가 될 수 있습니다. 

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    참고: https://platform.openai.com/docs/guides/vision

     

    728x90
    반응형
Designed by Tistory.