soft-olmo-test / app.py
WillHeld's picture
Update app.py
c185875 verified
import spaces
from transformers import AutoModelForCausalLM, AutoTokenizer
import gradio as gr
checkpoint = "WillHeld/olmo-raccoon"
device = "cuda"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint).to(device)
@spaces.GPU(duration=120)
def predict(message, history, temperature, top_p):
history.append({"role": "user", "content": message})
input_text = tokenizer.apply_chat_template(history, tokenize=False, add_generation_prompt=True)
inputs = tokenizer.encode(input_text, return_tensors="pt").to(device)
outputs = model.generate(
inputs,
max_new_tokens=1024,
temperature=float(temperature),
top_p=float(top_p),
do_sample=True
)
decoded = tokenizer.decode(outputs[0])
response = decoded.split("<|assistant|>")[-1]
return response
with gr.Blocks() as demo:
chatbot = gr.ChatInterface(
predict,
additional_inputs=[
gr.Slider(0.1, 2.0, value=0.7, step=0.1, label="Temperature"),
gr.Slider(0.1, 1.0, value=0.9, step=0.05, label="Top-P")
],
type="messages"
)
demo.launch()