Spaces:
Sleeping
Sleeping
File size: 3,472 Bytes
c489fd1 a710c69 c489fd1 a710c69 c489fd1 dc63802 de73e4c c489fd1 1df1cdd c489fd1 86c06a7 fb405e9 86c06a7 fb405e9 86c06a7 fb405e9 86c06a7 fb405e9 de9a8d2 fb405e9 86c06a7 c3c9808 fb405e9 c3c9808 86c06a7 a710c69 c489fd1 fb405e9 de73e4c a710c69 dc63802 de73e4c a710c69 86c06a7 c3c9808 9f94225 a710c69 c7fd7e0 dc63802 9f94225 a710c69 dc63802 c489fd1 a00ae4c 79cb1bc c489fd1 a710c69 c489fd1 de9a8d2 |
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 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
import random
from gradio_client import Client
import gradio as gr
# List of available servers
servers = [
"BICORP/GOGOGOGO",
"BICORP/server-2",
"BICORP/server-3",
"BICORP/server-4",
"BICORP/server-5"
]
# Function to call the API with correct parameters
def call_api(message, model, preset):
selected_server = random.choice(servers)
client = Client(selected_server)
try:
result = client.predict(
message,
model,
preset,
api_name="/chat"
)
return result
except Exception as e:
return f"Error: {str(e)}"
# Dark mode CSS
dark_css = """
.gradio-container {
background-color: #1e1e1e; /* Dark background */
color: white; /* Light text color */
}
#chatbox {
background-color: #2e2e2e; /* Dark chatbox */
color: white; /* Light text color */
}
#input-container {
display: flex;
align-items: center;
background-color: #2e2e2e; /* Dark input container */
border: 1px solid #444; /* Dark border */
border-radius: 20px; /* Rounded corners */
padding: 5px;
}
#message-input {
flex: 1;
background-color: #3e3e3e; /* Dark input field */
color: white; /* Light text color */
border: none;
border-radius: 20px; /* Rounded corners for input */
padding: 10px 15px;
font-size: 14px;
}
#message-input:focus {
outline: none;
}
#send-button {
background-color: #007BFF; /* Button background color */
color: white; /* Button text color */
border: none; /* No border */
border-radius: 20px; /* Rounded corners */
padding: 10px 20px; /* Padding for the button */
font-size: 14px; /* Font size for the button text */
margin-left: 10px; /* Space between input and button */
cursor: pointer; /* Pointer cursor */
transition: background-color 0.3s ease; /* Smooth hover transition */
}
#send-button:hover {
background-color: #0056b3; /* Darker hover color */
}
"""
# Function to toggle dark mode
def toggle_dark_mode(is_dark):
return dark_css if is_dark else ""
# Create Gradio interface
def create_interface():
with gr.Blocks(css=dark_css) as demo:
gr.Markdown("## 💬 Chatbot")
# Chat display area
chatbox = gr.Textbox(label="", interactive=False, elem_id="chatbox", lines=12)
# Input field with button inside
with gr.Row(elem_id="input-container"):
message = gr.Textbox(placeholder="Type a message...", elem_id="message-input", lines=1, show_label=False)
send_btn = gr.Button("Send", elem_id="send-button")
# Settings section
with gr.Accordion("⚙️ Settings", open=False):
model = gr.Dropdown(choices=["Lake 1 Base"], label="Model", value="Lake 1 Base")
preset = gr.Dropdown(choices=["Fast", "Normal", "Quality", "Unreal Performance"], label="Preset", value="Fast")
dark_mode = gr.Checkbox(label="Enable Dark Mode", value=False)
# Button click event
send_btn.click(call_api, inputs=[message, model, preset], outputs=chatbox)
# Change CSS based on dark mode toggle
dark_mode.change(lambda x: demo.css.update(toggle_dark_mode(x)), inputs=[dark_mode])
return demo
# Launch the interface
if __name__ == "__main__":
interface = create_interface()
interface.launch() |