import base64 import requests from config import OPENAI_API_KEY from openai import OpenAI import os """ openai_vision = OpenAIVision(api_key) image_path = "path_to_your_image.jpg" prompt = "" response = openai_vision.get_image_description(prompt,image_path) """ class OpenAIVision: def __init__(self): self.api_key = OPENAI_API_KEY self.base_url = "https://api.openai.com/v1/chat/completions" def __encode_image(self, image_path): with open(image_path, "rb") as image_file: return base64.b64encode(image_file.read()).decode('utf-8') def get_image_description(self, image_path, prompt): base64_image = self.__encode_image(image_path) headers = { "Content-Type": "application/json", "Authorization": f"Bearer {self.api_key}" } payload = { "model": "gpt-4-vision-preview", "temperature": 0.0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": prompt, }, { "type": "image_url", "image_url": { "url": f"data:image/jpeg;base64,{base64_image}" } } ] } ], "max_tokens": 1000, } response = requests.post(self.base_url, headers=headers, json=payload) return response.json() def getname(self , prompt): client = OpenAI() completion = client.chat.completions.create( model="gpt-3.5-turbo", messages=[ {"role": "user", "content": prompt} ] ) return completion.choices[0].message