Abubakar Abid 5c8e7887dc
Add Markdown support in chatbots (#2731)
* started working on this

* demo

* added markdown support

* notebook

* changelog

* tests

* chatbot

* formatting
2022-11-29 14:26:21 -06:00

27 lines
904 B
Python

import gradio as gr
def add_text(state, text):
state = state + [(text, text + "?")]
return state, state
def add_image(state, image):
state = state + [(f"![](/file={image.name})", "Cool pic!")]
return state, state
with gr.Blocks(css="#chatbot .overflow-y-auto{height:500px}") as demo:
chatbot = gr.Chatbot(elem_id="chatbot")
state = gr.State([])
with gr.Row():
with gr.Column(scale=0.85):
txt = gr.Textbox(show_label=False, placeholder="Enter text and press enter, or upload an image").style(container=False)
with gr.Column(scale=0.15, min_width=0):
btn = gr.UploadButton("🖼️", file_types=["image"])
txt.submit(add_text, [state, txt], [state, chatbot])
txt.submit(lambda :"", None, txt)
btn.upload(add_image, [state, btn], [state, chatbot])
if __name__ == "__main__":
demo.launch()