Spaces:
Runtime error
Runtime error
import gradio as gr | |
import base64 | |
import requests | |
import os | |
import json | |
MAINTENANCE_NOTICE1 = 'Hint 1: If the app report "Something went wrong, connection error out", please turn off your proxy and retry.\nHint 2: If you upload a large size of image like 10MB, it may take some time to upload and process. Please be patient and wait.' | |
default_chatbox = [] | |
NOTES = 'This app is adapted from <a href="https://modelscope.cn/models/Fengshenbang/Ziya-Visual-Lyrics-14B">https://modelscope.cn/models/Fengshenbang/Ziya-Visual-Lyrics-14B</a>. It would be recommended to check out the repo if you want to see the detail of our model. And most of the codes attach to this demo are modify from <a href="https://arxiv.org/abs/2312.05278">Lyrics</a>.' | |
def post( | |
input_text, | |
image_path, | |
temperature, | |
top_p, | |
result_previous, | |
hidden_image | |
): | |
# 服务的URL | |
with open(image_path,'rb') as f: | |
image_prompt = base64.b64encode(f.read()) | |
service_url = os.getenv('URL_PATH') | |
# 准备请求数据 | |
data = { | |
'image_strs': image_prompt, | |
'prompt': input_text | |
} | |
# 发送请求 | |
print("In the fn") | |
response = requests.post(service_url, data=data) | |
print(response.json()) | |
result_text = [] | |
result_text.append((input_text, response.json())) | |
print(result_text) | |
return "", result_text, None | |
def clear_fn(value): | |
return "", default_chatbox, None | |
def clear_fn2(value): | |
return default_chatbox | |
def io_fn(a, b, c): | |
print(f"call io_fn") | |
return a, b | |
gr.close_all() | |
examples = [] | |
with open("./examples/example_inputs.jsonl") as f: | |
for line in f: | |
data = json.loads(line) | |
examples.append(data) | |
def main(): | |
with gr.Blocks(css='style.css') as demo: | |
with gr.Row(): | |
with gr.Column(scale=4.5): | |
with gr.Group(): | |
input_text = gr.Textbox(label='Input Text', placeholder='Please enter text prompt below and press ENTER.') | |
with gr.Row(): | |
run_button = gr.Button('Generate') | |
clear_button = gr.Button('Clear') | |
img_path = gr.Image(type="filepath", label="Image Prompt", value=None) | |
with gr.Row(): | |
temperature = gr.Slider(maximum=1, value=0.7, minimum=0, label='Temperature') | |
top_p = gr.Slider(maximum=1, value=0.1, minimum=0, label='Top P') | |
with gr.Group(): | |
with gr.Row(): | |
with gr.Column(scale=7): | |
maintenance_notice = gr.Markdown(MAINTENANCE_NOTICE1) | |
with gr.Column(scale=2): | |
change_button = gr.Button('Change hint to English', visible=False) | |
with gr.Column(scale=5.5): | |
result_text = gr.components.Chatbot(label='Multi-round conversation History', value=[]).style(height=550) | |
hidden_image_hash = gr.Textbox(visible=False) | |
gr_examples = gr.Examples(examples=[[example["text"], example["image"]] for example in examples], | |
inputs=[input_text, img_path], | |
label="Example Inputs (Click to insert an examplet into the input box)", | |
examples_per_page=3) | |
print(gr.__version__) | |
run_button.click(fn=post,inputs=[input_text, img_path, temperature, top_p, result_text, hidden_image_hash], | |
outputs=[input_text, result_text, hidden_image_hash]) | |
input_text.submit(fn=post,inputs=[input_text, img_path, temperature, top_p, result_text, hidden_image_hash], | |
outputs=[input_text, result_text, hidden_image_hash]) | |
clear_button.click(fn=clear_fn, inputs=clear_button, outputs=[input_text, result_text, img_path]) | |
img_path.upload(fn=clear_fn2, inputs=clear_button, outputs=[result_text]) | |
img_path.clear(fn=clear_fn2, inputs=clear_button, outputs=[result_text]) | |
demo.queue(concurrency_count=10) | |
demo.launch(server_name="0.0.0.0") | |
if __name__ == '__main__': | |
print('start service') | |
os.system("pip uninstall -y gradio") | |
os.system("pip install gradio==3.29.0") | |
print(gr.__version__) | |
main() | |