Spaces:
Runtime error
Runtime error
| import dotenv | |
| import base64 | |
| import os | |
| import requests | |
| import gradio as gr | |
| import PIL | |
| import numpy as np | |
| dotenv.load_dotenv() | |
| def process_image(image) : | |
| # img_name = f"{np.random.randint(0, 100)}.jpg" | |
| img_name = f"{1}.jpg" | |
| PIL.Image.fromarray(image.astype('uint8'), 'RGB').save(img_name) | |
| image = open(img_name, "rb").read() | |
| base64_image = base64_image = base64.b64encode(image).decode('utf-8') | |
| openai_api_key = os.getenv('OPENAI_API_KEY') | |
| # oai_org = os.getenv('OAI_ORG') | |
| headers = { | |
| "Content-Type": "application/json", | |
| "Authorization": f"Bearer {openai_api_key}" | |
| } | |
| payload = { | |
| "model": "gpt-4-vision-preview", | |
| "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) | |
| try : | |
| out = response.json() | |
| out = out["choices"][0]["message"]["content"] | |
| print("out : ", out) | |
| print("type(out) : ", type(out)) | |
| return f"{out}" | |
| except Exception as e : | |
| return f"{e}" | |
| iface = gr.Interface(fn=process_image, inputs="image", outputs="text") | |
| iface.launch() |