import gradio as gr from huggingface_hub import InferenceClient client = InferenceClient("Qwen/Qwen2.5-Coder-32B-Instruct") def respond( message, history: list[tuple[str, str]], system_message, max_tokens, temperature, top_p, ): messages = [{"role": "system", "content": system_message}] for val in history: if val[0]: messages.append({"role": "user", "content": val[0]}) if val[1]: messages.append({"role": "assistant", "content": val[1]}) messages.append({"role": "user", "content": message}) response = "" for message in client.chat_completion( messages, max_tokens=max_tokens, stream=True, temperature=temperature, top_p=top_p, ): token = message.choices[0].delta.content response += token yield response # Custom CSS to change the title color and add a copyright notice opq = """ .gradio-container h1 { color: #40E0D0 !important; } /* Add a footer for the copyright notice */ #custom-footer { position: fixed; bottom: 0; width: 100%; background-color: #f1f1f1; text-align: center; padding: 10px 0; font-size: 14px; color: #333; z-index: 1000; /* Ensure the footer is above other elements */ } """ # HTML for the copyright notice footer_html = """
""" with gr.Blocks(css=opq) as demo: gr.Markdown("# Welcome to Rxple Chat Bot") gr.Markdown("Follow us on [Instagram](https://www.instagram.com/khellon_patel_21)") chatbot = gr.Chatbot() message = gr.Textbox(placeholder="Type a message...") submit = gr.Button("Send") with gr.Row(): system_message = gr.Textbox(value="You are a friendly Chatbot.", label="System message") max_tokens = gr.Slider(minimum=1, maximum=2048, value=2048, step=1, label="Max new tokens") temperature = gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature") top_p = gr.Slider(minimum=0.1, maximum=1.0, value=0.95, step=0.05, label="Top-p (nucleus sampling)") gr.HTML(footer_html) # Add the footer HTML here def update_chat(message, history, system_message, max_tokens, temperature, top_p): response = list(respond(message, history, system_message, max_tokens, temperature, top_p)) history.append((message, response[-1])) return history, history submit.click(update_chat, [message, chatbot, system_message, max_tokens, temperature, top_p], [chatbot, chatbot]) message.submit(update_chat, [message, chatbot, system_message, max_tokens, temperature, top_p], [chatbot, chatbot]) if __name__ == "__main__": demo.launch(share=True)