Spaces:
Build error
Build error
| import streamlit as st | |
| import openai | |
| EXAMPLES = [ | |
| "Write a professional email to the customers of a telco company offering 100 minutes free if they buy 1000 minutes", | |
| "Write a formal email to the customers of a bank offering a new home insurance", | |
| "Write an informal email to the customers of a bank, offering a new car insurance, using emojis in the subject", | |
| ] | |
| openai.api_key = st.secrets["openai-api-key"] | |
| def generate_email(prompt: str, max_tokens: int = 256) -> str: | |
| """ | |
| Returns a generated an email using GPT3 with a certain prompt and starting sentence | |
| """ | |
| completions = openai.Completion.create( | |
| model="text-davinci-003", | |
| prompt=prompt, | |
| temperature=0.7, | |
| max_tokens=max_tokens, | |
| top_p=1, | |
| frequency_penalty=0, | |
| presence_penalty=0 | |
| ) | |
| message = completions.choices[0].text | |
| return message | |
| def example_selected(): | |
| st.session_state['prompt'] = st.session_state['selected_example'] | |
| st.title("Email Generator") | |
| st.text("by Marc Puig") | |
| st.selectbox( | |
| label="Examples", | |
| options=EXAMPLES, | |
| on_change=example_selected, | |
| key="selected_example" | |
| ) | |
| prompt_input = st.text_area( | |
| label="Describe the type of email you want to be written.", | |
| key="prompt" | |
| ) | |
| max_tokens_input = st.slider( | |
| label="How many characters do you want your email to be? ", | |
| help="A typical email is usually 100-500 characters", | |
| min_value=64, | |
| max_value=750, | |
| value=200 | |
| ) | |
| with st.form(key="form"): | |
| submit_button = st.form_submit_button(label='Generate email', disabled=len(st.session_state["prompt"]) == 0) | |
| if submit_button: | |
| with st.spinner("Generating email..."): | |
| output = generate_email(prompt_input, max_tokens=max_tokens_input) | |
| st.markdown("----") | |
| st.markdown(output) | |