File size: 803 Bytes
87daab4 |
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 |
import gradio as gr
import openai
import matplotlib.pyplot as plt
import io
import numpy as np
import base64
from PIL import Image
# 将图像转换为 base64,以便在 gradio 中显示
def get_image_data(plt):
buf = io.BytesIO()
plt.savefig(buf, format='PNG')
buf.seek(0)
img = Image.open(buf)
return img
# 执行 Python 代码并生成图像
def execute_code(code):
exec(code)
return get_image_data(plt)
openai.api_key = 'your-openai-key'
def gpt3_inference(prompt):
response = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
max_tokens=100
)
code = response.choices[0].text.strip()
img = execute_code(code)
return img
iface = gr.Interface(fn=gpt3_inference, inputs="text", outputs="image")
iface.launch()
|