#from transformers import AutoModel, AutoTokenizer import gradio as gr from transformers import AutoModelForSeq2SeqLM model = AutoModelForSeq2SeqLM.from_pretrained("silver/chatglm-6b-int4-qe-slim") #tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) #model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda() #tokenizer = AutoTokenizer.from_pretrained("silver/chatglm-6b-slim", trust_remote_code=True) #model = AutoModel.from_pretrained("silver/chatglm-6b-slim", trust_remote_code=True).half().cuda() model = model.eval() def predict(input, history=None): if history is None: history = [] response, history = model.chat(tokenizer, input, history) return history, history with gr.Blocks() as demo: state = gr.State([]) chatbot = gr.Chatbot([], elem_id="chatbot").style(height=400) with gr.Row(): with gr.Column(scale=4): txt = gr.Textbox(show_label=False, placeholder="Enter text and press enter").style(container=False) with gr.Column(scale=1): button = gr.Button("Generate") txt.submit(predict, [txt, state], [chatbot, state]) button.click(predict, [txt, state], [chatbot, state]) demo.queue().launch()