File size: 965 Bytes
87daab4 551db13 87daab4 551db13 87daab4 551db13 87daab4 551db13 87daab4 551db13 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
import gradio as gr
import openai
import matplotlib.pyplot as plt
import io
import numpy as np
import base64
from PIL import Image
# Convert image to base64 for display in gradio
def get_image_data(plt):
buf = io.BytesIO()
plt.savefig(buf, format='PNG')
buf.seek(0)
img = Image.open(buf)
return img
# Execute Python code and generate images
def execute_code(code):
exec(code)
return get_image_data(plt)
def gpt_inference(prompt, model, openai_key):
openai.api_key = openai_key
response = openai.Completion.create(
engine=model,
prompt=prompt,
max_tokens=100
)
code = response.choices[0].text.strip()
img = execute_code(code)
return img
iface = gr.Interface(
fn=gpt_inference,
inputs=["text", gr.inputs.Dropdown(choices=["gpt3.5-turbo", "gpt4"], label="Model"), "text"],
outputs=gr.outputs.Image(type="pil"),
input_labels=["Prompt", "Model", "OpenAI Key"]
)
iface.launch() |