File size: 1,345 Bytes
826e275
 
7a75a15
 
826e275
 
 
 
7a75a15
826e275
 
7a75a15
826e275
 
 
 
 
 
7a75a15
 
 
826e275
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
"""
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 hanlde_form_submit import on_form_submit


AVAILABLE_MODEL_NAMES = "https://huggingface.co/models?pipeline_tag=text-generation&sort=downloads"


with st.form("request_form"):
    selected_model_name: str = st.text_input(
        label="Model name",
        value="gpt2",
        help=f"The name of the model to use."
             f" Must be a model from this list:"
             f" {AVAILABLE_MODEL_NAMES}"
    )

    output_length: int = st.number_input(
        label="Output Length in tokens",
        min_value=1,
        max_value=4096,
        value=100,
        help="The length of the output text in tokens (word pieces)."
    )

    submitted_prompt: str = st.text_area(
        label="Input for the model",
        help="Enter the prompt for the model. The model will generate a response based on this prompt.",
        max_chars=16384,
    )

    submitted: bool = st.form_submit_button(
        label="Generate",
        help="Generate the output text.",
        disabled=False

    )

    if submitted:
        output = on_form_submit(selected_model_name, output_length, submitted_prompt)
        st.write(f"Generated text: {output}")