Spaces:
Sleeping
Sleeping
File size: 2,599 Bytes
c489fd1 dc63802 c489fd1 dc63802 de73e4c c489fd1 dc63802 c489fd1 de73e4c dc63802 de73e4c c489fd1 dc63802 de73e4c dc63802 de73e4c c489fd1 dc63802 de73e4c dc63802 de73e4c dc63802 de73e4c dc63802 c489fd1 de73e4c dc63802 9f94225 de73e4c dc63802 9f94225 de73e4c dc63802 c489fd1 de73e4c dc63802 de73e4c dc63802 9f94225 dc63802 48aec90 dc63802 9f94225 de73e4c dc63802 c489fd1 |
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 |
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 error handling
def call_api(message, model, preset):
selected_server = random.choice(servers)
client = Client(selected_server)
try:
result = client.predict(
message=message,
param_2=model,
param_3=preset,
api_name="/chat"
)
return result
except Exception as e:
return f"Error: {str(e)}"
# Custom CSS for modern UI
css = """
.gradio-container {
background-color: #f9f9f9;
font-family: 'Arial', sans-serif;
padding: 20px;
}
#chatbox {
background-color: white;
border-radius: 10px;
padding: 15px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
height: 400px;
overflow-y: auto;
}
#input-container {
display: flex;
align-items: center;
border: 1px solid #ccc;
border-radius: 20px;
padding: 5px;
background-color: white;
}
#message-input {
flex-grow: 1;
border: none;
padding: 10px;
font-size: 14px;
outline: none;
}
#send-button {
border: none;
background: none;
cursor: pointer;
padding: 10px;
}
#send-button:hover {
opacity: 0.7;
}
#settings-container {
margin-top: 20px;
}
"""
# Create Gradio interface
def create_interface():
with gr.Blocks(css=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("➤", elem_id="send-button")
# Settings section
with gr.Accordion("⚙️ Settings", open=False, elem_id="settings-container"):
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)
return demo
# Launch the interface
if __name__ == "__main__":
interface = create_interface()
interface.launch() |