shukdevdatta123's picture
Update app.py
ab59bbc verified
raw
history blame
2.38 kB
import openai
import streamlit as st
# Function to call the OpenAI API and get the email content
def generate_email(api_key, email_type, details):
openai.api_key = api_key # Set OpenAI API key provided by the user
prompt = f"""
I need to write a professional email for the following situation:
Email Type: {email_type}
Details: {details}
Please generate the body of the email, including suggestions for the subject line and sign-off. Ensure the email tone is professional and polite.
"""
try:
# Request to OpenAI API
response = openai.Completion.create(
engine="gpt-4o", # Using OpenAI's GPT-3 model (adjust for specific LLM as needed)
prompt=prompt,
max_tokens=1200,
temperature=0.7
)
# Return the generated email content
return response.choices[0].text.strip()
except Exception as e:
return f"Error: {str(e)}"
# Streamlit app
def email_composer():
st.title("Automated Email Composer")
st.write("This tool helps you generate professional emails, improve tone and grammar, and suggest appropriate subject lines and sign-offs.")
# Step 1: Enter OpenAI API key
api_key = st.text_input("Enter your OpenAI API Key", type="password")
# Step 2: Select email type
email_type = st.selectbox(
"Select Email Type",
["Request for Information", "Follow-Up", "Introduction", "Complaint", "Thank You", "Job Application", "Meeting Request", "Others"]
)
# Step 3: Enter email details
details = st.text_area("Enter Email Details", "Please provide the necessary details for the email.")
# Step 4: Generate email button
if st.button("Generate Email"):
if api_key and details:
with st.spinner("Generating email..."):
# Call the generate_email function to get the email content
email_content = generate_email(api_key, email_type, details)
st.subheader("Generated Email")
st.write(email_content)
else:
if not api_key:
st.error("Please enter your OpenAI API key.")
if not details:
st.error("Please enter the email details to generate the email.")
# Run the Streamlit app
if __name__ == "__main__":
email_composer()