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()