aifeifei798's picture
Update feifeiui/feifeiui.py
3a8e0ac verified
raw
history blame
6.73 kB
import gradio as gr
import numpy as np
import config
from feifeilib.feifeichat import feifeichat
from feifeilib.feifeitexttoimg import feifeitexttoimg
from feifeilib.feifeiflorence import feifeiflorence
MAX_SEED = np.iinfo(np.int32).max
MAX_IMAGE_SIZE = 2048
css = """
#col-container {
width: auto;
height: 750px;
}
"""
def create_ui():
with gr.Blocks(css=css) as FeiFei:
with gr.Row():
with gr.Column(scale=1):
with gr.Tab("Generator"):
prompt = gr.Text(
label="Prompt",
show_label=False,
placeholder="Enter your prompt",
max_lines=12,
container=False,
)
run_button = gr.Button("Run")
result = gr.Image(label="Result",
show_label=False,
interactive=False)
with gr.Accordion("Advanced Settings", open=False):
seed = gr.Slider(
label="Seed",
minimum=0,
maximum=MAX_SEED,
step=1,
value=0,
)
randomize_seed = gr.Checkbox(label="Randomize seed",
value=True)
with gr.Row():
width = gr.Slider(
label="Width",
minimum=512,
maximum=MAX_IMAGE_SIZE,
step=8,
value=1080,
)
height = gr.Slider(
label="Height",
minimum=512,
maximum=MAX_IMAGE_SIZE,
step=8,
value=1920,
)
with gr.Row():
num_inference_steps = gr.Slider(
label="Number of inference steps",
minimum=1,
maximum=50,
step=1,
value=4,
)
guidancescale = gr.Slider(
label="Guidance scale",
minimum=0,
maximum=10,
step=0.1,
value=3.5,
)
num_strength = gr.Slider(
label="strength",
minimum=0,
maximum=2,
step=0.01,
value=0.35,
)
with gr.Tab("Styles"):
quality_select = gr.Checkbox(label="high quality")
sharpened_select = gr.Checkbox(label="Sharpened")
FooocusExpansion_select = gr.Checkbox(
label="FooocusExpansion")
styles_name = [
style["name"] for style in config.style_list
]
styles_Radio = gr.Dropdown(styles_name,
label="Styles",
multiselect=True)
with gr.Tab("Florence-2"):
input_img = gr.Image(label="Input Picture",
show_label=False)
florence_btn = gr.Button(value="Florence")
output_text = gr.Textbox(label="Output Text",
max_lines=12,
show_label=False,
container=False)
output_size = gr.Textbox(label="Output size",
max_lines=2,
show_label=False,
container=False)
output_img = gr.Image(label="Input Picture",
interactive=False,
show_label=False)
with gr.Column(scale=3, elem_id="col-container"):
gr.ChatInterface(
feifeichat,
type="messages",
multimodal=True,
additional_inputs=[
gr.Checkbox(label="Feifei"),
gr.Dropdown(
["meta-llama/Meta-Llama-3.1-70B-Instruct",
"CohereForAI/c4ai-command-r-plus-08-2024",
"Qwen/Qwen2.5-72B-Instruct",
"nvidia/Llama-3.1-Nemotron-70B-Instruct-HF",
"NousResearch/Hermes-3-Llama-3.1-8B",
"mistralai/Mistral-Nemo-Instruct-2411",
"microsoft/Phi-3.5-mini-instruct"],
value="meta-llama/Meta-Llama-3.1-70B-Instruct",
show_label=False,
container=False),
gr.Radio(
["pixtral","Vsiion"],
value="Vsiion",
show_label=False,
container=False)
],
)
run_button.click(
fn=feifeitexttoimg, # Function to run for this button
inputs=[
prompt,
quality_select,
sharpened_select,
styles_Radio,
FooocusExpansion_select,
seed,
randomize_seed,
width,
height,
num_inference_steps,
guidancescale,
num_strength,
],
outputs=[result, seed],
)
florence_btn.click(
fn=feifeiflorence, # Function to run when the button is clicked
inputs=[input_img], # Input components for the function
outputs=[output_text, output_size,
output_img], # Output component for the function
)
return FeiFei