yonikremer's picture
set max input and output lengths to 512
7be248a
"""
The Streamlit app for the project demo.
In the demo, the user can write a prompt
and the model will generate a response using the grouped sampling algorithm.
"""
import streamlit as st
from torch.cuda import CudaError
from available_models import AVAILABLE_MODELS
from hanlde_form_submit import on_form_submit
st.title("A Single Usage is All You Need - Demo")
with st.form("request_form"):
selected_model_name: str = st.selectbox(
label="choose a model",
options=AVAILABLE_MODELS,
help="opt-iml-max-30b generates better texts but is slower",
)
output_length: int = st.number_input(
label="the length of the output (in tokens)",
min_value=1,
max_value=512,
value=5,
)
submitted_prompt: str = st.text_area(
label="prompt",
value="""
Keywords: cat, look, mouse
What is a sentence that includes all these keywords?
Answer:""",
max_chars=1024,
)
submitted: bool = st.form_submit_button(
label="generate text",
disabled=False,
)
if submitted:
try:
output = on_form_submit(
selected_model_name,
output_length,
submitted_prompt,
)
except CudaError as e:
st.error("Out of memory. Please try a smaller model, shorter prompt, or a smaller output length.")
except (ValueError, TypeError, RuntimeError) as e:
st.error(e)
else:
st.write(f"Generated text: {output}")