|
import streamlit as st |
|
import openai |
|
|
|
def main(): |
|
st.title("Email Subject Line Generator") |
|
|
|
|
|
audience_desc = st.text_input("Describe your audience (e.g., age, interests, profession):", "e.g., middle-aged professionals interested in sustainability") |
|
message_content = st.text_area("What is the main message or offer of your email?", "e.g., Inviting you to join our sustainability webinar") |
|
|
|
|
|
if st.button('Generate Email Subject Lines'): |
|
subject_lines = generate_subject_lines(audience_desc, message_content) |
|
if subject_lines: |
|
st.subheader("Suggested Email Subject Lines and Preheaders:") |
|
for idx, line in enumerate(subject_lines, 1): |
|
st.text(f"{idx}. {line}") |
|
else: |
|
st.error("Failed to generate subject lines. Please try again.") |
|
|
|
def generate_subject_lines(audience, message): |
|
try: |
|
|
|
response = openai.Completion.create( |
|
model="text-davinci-003", |
|
prompt=f"Generate 10 compelling email subject lines and preheaders for an audience that includes {audience}, regarding the following message: {message}", |
|
max_tokens=150, |
|
n=10, |
|
stop=None, |
|
temperature=0.7 |
|
) |
|
|
|
return [choice['text'].strip() for choice in response.choices] |
|
except Exception as e: |
|
st.error(f"An error occurred while generating subject lines: {str(e)}") |
|
return None |
|
|
|
if __name__ == "__main__": |
|
main() |
|
|