gradio-app / gradio

Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work!
http://www.gradio.app
Apache License 2.0
33.48k stars 2.53k forks source link

Gr.accordion issues #9292

Closed Dartvauder closed 1 month ago

Dartvauder commented 1 month ago

Hello everyone. I am making my application using gradio interface. but there is such a problem. I am trying to add gr.accordion but no matter how I try I can't do it. Errors constantly appear. Please help if possible

Here is my code for one of interfaces:

chat_interface = gr.Interface( fn=generate_text_and_speech, inputs=[ gr.Textbox(label="Enter your request"), gr.Textbox(label="Enter your system prompt"), gr.Audio(type="filepath", label="Record your request (optional)"), gr.Image(label="Upload your image (optional)", type="filepath"), gr.Dropdown(choices=llm_models_list, label="Select LLM model", value=None), gr.Dropdown(choices=llm_lora_models_list, label="Select LoRA model (optional)", value=None), gr.HTML("

LLM Settings

"), gr.Radio(choices=["transformers", "llama"], label="Select model type", value="transformers"), gr.Slider(minimum=256, maximum=4096, value=512, step=1, label="Max length (for transformers type models)"), gr.Slider(minimum=256, maximum=4096, value=512, step=1, label="Max tokens (for llama type models)"), gr.Slider(minimum=0.1, maximum=2.0, value=0.7, step=0.1, label="Temperature"), gr.Slider(minimum=0.01, maximum=1.0, value=0.9, step=0.01, label="Top P"), gr.Slider(minimum=1, maximum=100, value=20, step=1, label="Top K"), gr.Radio(choices=["txt", "json"], label="Select chat history format", value="txt", interactive=True), gr.Checkbox(label="Enable WebSearch", value=False), gr.Checkbox(label="Enable LibreTranslate", value=False), gr.Dropdown(choices=["en", "es", "fr", "de", "it", "pt", "pl", "tr", "ru", "nl", "cs", "ar", "zh", "ja", "hi"], label="Select target language", value="ru", interactive=True), gr.Checkbox(label="Enable Multimodal", value=False), gr.Checkbox(label="Enable TTS", value=False), gr.HTML("

TTS Settings

"), gr.Dropdown(choices=speaker_wavs_list, label="Select voice", interactive=True), gr.Dropdown(choices=["en", "es", "fr", "de", "it", "pt", "pl", "tr", "ru", "nl", "cs", "ar", "zh-cn", "ja", "hu", "ko", "hi"], label="Select language", interactive=True), gr.Slider(minimum=0.1, maximum=1.9, value=1.0, step=0.1, label="TTS Temperature", interactive=True), gr.Slider(minimum=0.01, maximum=1.0, value=0.9, step=0.01, label="TTS Top P", interactive=True), gr.Slider(minimum=1, maximum=100, value=20, step=1, label="TTS Top K", interactive=True), gr.Slider(minimum=0.5, maximum=2.0, value=1.0, step=0.1, label="TTS Speed", interactive=True), gr.Radio(choices=["wav", "mp3", "ogg"], label="Select output format", value="wav", interactive=True), ], outputs=[ gr.Chatbot(label="LLM text response", value=[], avatar_images=["avatars/user.png", "avatars/ai.png"], show_copy_button=True), gr.Audio(label="LLM audio response", type="filepath"), ], title="NeuroSandboxWebUI - LLM", description="This user interface allows you to enter any text or audio and receive generated response. You can select the LLM model, " "avatar, voice and language for tts from the drop-down lists. You can also customize the model settings from the sliders. " "Try it and see what happens!", allow_flagging="never", )

I want to wrap these two parts of code in gr.accordion instead of the gr.html separator:

This: gr.HTML("

LLM Settings

"), gr.Radio(choices=["transformers", "llama"], label="Select model type", value="transformers"), gr.Slider(minimum=256, maximum=4096, value=512, step=1, label="Max length (for transformers type models)"), gr.Slider(minimum=256, maximum=4096, value=512, step=1, label="Max tokens (for llama type models)"), gr.Slider(minimum=0.1, maximum=2.0, value=0.7, step=0.1, label="Temperature"), gr.Slider(minimum=0.01, maximum=1.0, value=0.9, step=0.01, label="Top P"), gr.Slider(minimum=1, maximum=100, value=20, step=1, label="Top K"),

And this: gr.HTML("

TTS Settings

"), gr.Dropdown(choices=speaker_wavs_list, label="Select voice", interactive=True), gr.Dropdown(choices=["en", "es", "fr", "de", "it", "pt", "pl", "tr", "ru", "nl", "cs", "ar", "zh-cn", "ja", "hu", "ko", "hi"], label="Select language", interactive=True), gr.Slider(minimum=0.1, maximum=1.9, value=1.0, step=0.1, label="TTS Temperature", interactive=True), gr.Slider(minimum=0.01, maximum=1.0, value=0.9, step=0.01, label="TTS Top P", interactive=True), gr.Slider(minimum=1, maximum=100, value=20, step=1, label="TTS Top K", interactive=True), gr.Slider(minimum=0.5, maximum=2.0, value=1.0, step=0.1, label="TTS Speed", interactive=True),

Thanks in advance!

Dartvauder commented 1 month ago

Thank you very much. But no need anymore. I solved my problem by studying your library more deeply. It turned out to be simpler than I thought.