grouped-sampling-demo / hanlde_form_submit.py
yonikremer's picture
Added if check that the model is supported
b1dd47e
raw
history blame
No virus
1.41 kB
import streamlit as st
from grouped_sampling import GroupedSamplingPipeLine
from supported_models import get_supported_model_names
SUPPORTED_MODEL_NAMES = get_supported_model_names()
def create_pipeline(model_name: str, group_size) -> GroupedSamplingPipeLine:
"""
Creates a pipeline with the given model name and group size.
:param model_name: The name of the model to use.
:param group_size: The size of the groups to use.
:return: A pipeline with the given model name and group size.
"""
return GroupedSamplingPipeLine(
model_name=model_name,
group_size=group_size,
end_of_sentence_stop=True,
)
@st.cache
def on_form_submit(model_name: str, group_size: int, prompt: str) -> str:
"""
Called when the user submits the form.
:param model_name: The name of the model to use.
:param group_size: The size of the groups to use.
:param prompt: The prompt to use.
:return: The output of the model.
"""
if model_name not in SUPPORTED_MODEL_NAMES:
raise ValueError(f"The selected model {model_name} is not supported."
f"Supported models are all the models in:"
f" https://huggingface.co/models?pipeline_tag=text-generation&library=pytorch")
pipeline = create_pipeline(
model_name,
group_size,
)
return pipeline(prompt)["generated_text"]