Spaces:
Build error
Build error
| """ | |
| Try out gradio.Chatinterface. | |
| colab gradio-chatinterface. | |
| %%writefile reuirements.txt | |
| gradio | |
| transformers | |
| sentencepiece | |
| torch | |
| cpm_kernels | |
| import gradio as gr | |
| def greet(name): | |
| return "Hello " + name + "!" | |
| with gr.Blocks() as demo: | |
| name = gr.Textbox(label="Name") | |
| output = gr.Textbox(label="Output Box") | |
| greet_btn = gr.Button("Greet") | |
| greet_btn.click(fn=greet, inputs=name, outputs=output, api_name="greet") | |
| demo.launch() | |
| """ | |
| # pylint: disable=line-too-long, missing-module-docstring, missing-function-docstring | |
| # import torch | |
| import random | |
| import time | |
| import gradio as gr | |
| def respond2(message, chat_history): | |
| if chat_history is None: | |
| chat_history = [] | |
| bot_message = random.choice(["How are you?", "I love you", "I'm very hungry"]) | |
| temp = "" | |
| chat_history.append((message, temp)) | |
| for elm in range(len(bot_message)): | |
| temp = bot_message[:elm+1] | |
| time.sleep(0.2) | |
| chat_history[-1] = message, temp | |
| # yield message, chat_history | |
| # chatbot.value = chat_history | |
| chat_history[-1] = (message, "done " + bot_message) | |
| time.sleep(2) | |
| yield "", chat_history | |
| def stream_chat(): | |
| """ | |
| List samples. | |
| Sure [('test me', 'Sure')] | |
| Sure, [('test me', 'Sure,')] | |
| Sure, I [('test me', 'Sure, I')] | |
| Sure, I' [('test me', "Sure, I'")] | |
| Sure, I'd [('test me', "Sure, I'd")] | |
| """ | |
| resp = "" | |
| for elm in range(10): | |
| resp += str(elm) | |
| from time import sleep | |
| sleep(0.1) | |
| yield resp | |
| def chat(message="", history=[]): | |
| # prompt = f"{system_prompt}### User: {message}\n\n### Assistant:\n" | |
| # inputs = tokenizer(prompt, return_tensors="pt").to(device=device) | |
| # output = model.generate(**inputs, do_sample=True, top_p=0.95, top_k=0, max_new_tokens=256) | |
| # return tokenizer.decode(output[0], skip_special_tokens=True) | |
| _ = """ | |
| for response, _ in chat_model.stream_chat( | |
| tokenizer, message, history, max_length=2048, top_p=0.7, temperature=0.95 | |
| ): | |
| yield response | |
| """ | |
| g = update_chatbot() | |
| g.send(None) | |
| for response in stream_chat(): | |
| # yield response | |
| g.send(response) | |
| yield response | |
| yield 'done ' + response | |
| def update_chatbot(): | |
| while 1: | |
| message = yield | |
| print(f"{message=}") | |
| def greet(name): | |
| return "Hello " + name + "!" | |
| with gr.Blocks() as block: | |
| name = gr.Textbox(label="Name") | |
| output = gr.Textbox(label="Output Box") | |
| greet_btn = gr.Button("Greet") | |
| # greet_btn.click(fn=greet, inputs=name, outputs=output, api_name="greet") | |
| greet_btn.click(fn=chat, inputs=name, outputs=output, api_name="greet") | |
| _ = """ | |
| with gr.Blocks(theme=gr.themes.Glass(text_size="sm", spacing_size="sm"),) as block: | |
| chatbot = gr.Chatbot() | |
| msg = gr.Textbox() | |
| # gr.ChatInterface( | |
| block( | |
| chat, | |
| [msg, chatbot], | |
| [chatbot], | |
| # title="gradio-chatinterface-tryout", | |
| # examples=examples_list, | |
| ).queue(max_size=2).launch() | |
| # """ | |
| # block.queue(max_size=2).launch() | |
| with gr.Blocks() as demo: | |
| chatbot = gr.Chatbot() | |
| msg = gr.Textbox() | |
| clear = gr.ClearButton([msg, chatbot]) | |
| def respond(message, chat_history): | |
| bot_message = random.choice(["How are you?", "I love you", "I'm very hungry"]) | |
| chat_history.append((message, bot_message)) | |
| time.sleep(2) | |
| return "", chat_history | |
| def respond1(message, chat_history): | |
| if chat_history is None: | |
| chat_history = [] | |
| bot_message = random.choice(["How are you?", "I love you", "I'm very hungry"]) | |
| temp = "" | |
| chat_history.append((message, temp)) | |
| for elm in range(len(bot_message)): | |
| temp = bot_message[:elm+1] | |
| time.sleep(0.2) | |
| chat_history[-1] = message, temp | |
| yield message, chat_history | |
| chat_history[-1] = (message, "done " + bot_message) | |
| time.sleep(2) | |
| yield "", chat_history | |
| msg.submit(respond2, [msg, chatbot], [msg, chatbot]) | |
| # demo.queue(max_size=2).launch() | |