Spaces:
Runtime error
Runtime error
#!/usr/bin/env python | |
# coding: utf-8 | |
# In[ ]: | |
from transformers import AutoModelForCausalLM, AutoTokenizer | |
import torch | |
import gradio as gr | |
import re | |
def cleaning_history_tuple(history): | |
s=sum(history,()) | |
s=list(s) | |
s2="" | |
for i in s: | |
i=re.sub("\n", '', i) | |
i=re.sub("<p>", '', i) | |
i=re.sub("</p>", '', i) | |
s2=s2+i+'\n' | |
return s2 | |
def ai_output(string1,string2): | |
a1=len(string1) | |
a2=len(string2) | |
string3=string2[a1:] | |
sub1="A:" | |
sub2="User" | |
#sub3="\n" | |
try: | |
try: | |
idx1=string3.index(sub1) | |
response=string3[:idx1] | |
return response | |
except: | |
idx1=string3.index(sub2) | |
response=string3[:idx1] | |
return response | |
except: | |
return string3 | |
model4 = AutoModelForCausalLM.from_pretrained("bigscience/bloom-3b") | |
tokenizer4 = AutoTokenizer.from_pretrained("bigscience/bloom-3b") | |
def predict(input,initial_prompt, temperature=0.7,top_p=1,top_k=5,max_tokens=64,no_repeat_ngram_size=1,num_beams=6,do_sample=True, history=[]): | |
s = cleaning_history_tuple(history) | |
s = s+ "\n"+ "User: "+ input + "\n" + "Assistant: " | |
s2=initial_prompt+" " + s | |
input_ids = tokenizer4.encode(str(s2), return_tensors="pt") | |
response = model4.generate(input_ids, min_length = 10, | |
max_new_tokens=int(max_tokens), | |
top_k=int(top_k), | |
top_p=float(top_p), | |
temperature=float(temperature), | |
no_repeat_ngram_size=int(no_repeat_ngram_size), | |
num_beams = int(num_beams), | |
do_sample = bool(do_sample), | |
) | |
response2 = tokenizer4.decode(response[0]) | |
print("Response after decoding tokenizer: ",response2) | |
print("\n\n") | |
response3=ai_output(s2,response2) | |
input="User: "+input | |
response3="Assistant: "+ response3 | |
history.append((input, response3)) | |
return history, history | |
#gr.Interface(fn=predict,title="BLOOM-3b", | |
# inputs=["text","text","text","text","text","text","text","text","text",'state'], | |
# | |
# outputs=["chatbot",'state']).launch() | |
gr.Interface(inputs=[gr.Textbox(label="input", lines=1, value=""), | |
gr.Textbox(label="initial_prompt", lines=1, value=prompt), | |
gr.Textbox(label="temperature", lines=1, value=0.7), | |
gr.Textbox(label="top_p", lines=1, value=1), | |
gr.Textbox(label="top_k", lines=1, value=5), | |
gr.Textbox(label="max_tokens", lines=1, value=64), | |
gr.Textbox(label="no_repeat_ngram_size", lines=1, value=1), | |
gr.Textbox(label="num_beams", lines=1, value=6), | |
gr.Textbox(label="do_sample", lines=1, value="True"), 'state'], | |
fn=predict, title="OPT-6.7B", outputs=["chatbot",'state'] | |
#inputs=["text","text","text","text","text","text","text","text","text",'state'], | |
).launch() | |