Spaces:
Runtime error
Runtime error
File size: 2,949 Bytes
4cc9842 5f0d916 4cc9842 5f0d916 8e31ba0 5f0d916 0ad59ef 5f0d916 e1ac74c 5f0d916 4cc9842 c616e4b 4cc9842 d24434c 9b6c202 d24434c 4cc9842 c616e4b fcfb7f4 c616e4b 4cc9842 5f0d916 c616e4b 5f0d916 4cc9842 5f0d916 c616e4b 913237c 4cc9842 |
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# -* coding:UTF-8 -*
# !/usr/bin/env python
import numpy as np
import gradio as gr
import os
from PIL import Image, ImageDraw
from codeinterpreterapi import CodeInterpreterSession
def imGreyAlpha(im):
if isinstance(im,np.ndarray):
im = Image.fromarray(im)
grey = im.convert('L') # 转成灰度
px = grey.load() # 获取灰度数组
w,h = im.size # 获取图片大小
im2 = Image.new(mode="RGBA", size=(w, h), color=(255,255,255,0)) # 新建图片
draw = ImageDraw.Draw(im2) # 获取绘制句柄
# 遍历像素点
for i in range(w):
for j in range(h):
alpha = px[i, j] # 获取灰度作为alpha值
draw.point((i, j), fill=(0, 0, 0, 255 - alpha)) # 填充像素点
return im2 # 返回图像
def codeinterpreter(openai_key,prompt,filterBG, files):
fileList = []
if files != None:
for idx, file in enumerate(files):
fileList.append(file)
if openai_key == "123321":
openai_key = os.getenv("openaikey")
else:
return ['openai key must set!',None]
with CodeInterpreterSession(model="gpt-3.5-turbo",openai_api_key=openai_key) as session:
#async with CodeInterpreterSession(model="gpt-3.5-turbo",openai_api_key="") as session:
response = session.generate_response_sync(prompt, fileList,True)
images = []
for _file in response.files:
if filterBG:
img = _file.get_image()
img2 = imGreyAlpha(img)
images.append(img2)
else:
images.append(_file.get_image())
return [response.content,images]
with gr.Blocks() as app:
with gr.Tab(label="codeinterpreter"):
with gr.Row():
with gr.Column():
inp1=gr.Textbox(label="openai_key")
inp2=gr.Textbox(label="prompt",info="input the prompt")
inp3=gr.Checkbox(label="do_filter_bg?", info="do background filter?")
inp4=gr.Files()
btn = gr.Button(value="Submit")
with gr.Column():
out1=gr.Textbox(label="result")
out2=gr.Gallery()
gr.Examples([["Plot the nvidea stock vs microsoft stock over the last 6 months."],
["Plot a sin wave and show it to me."],
["贵州茅台最近半年走势"],
["Plot the bitcoin chart of 2023 YTD"]],
[inp2])
with gr.Tab(label="image background filter"):
with gr.Row():
with gr.Column():
inp10=gr.Image(label="original image")
btn10 = gr.Button(value="Submit")
with gr.Column():
out10=gr.Image(label="result")
btn.click(codeinterpreter, inputs=[inp1,inp2,inp3,inp4], outputs=[out1,out2],api_name="getresult")
btn10.click(imGreyAlpha,inputs=[inp10],outputs=[out10],api_name="imageFilter")
app.launch() |