hruday96's picture
Update app.py
0a1127e verified
import streamlit as st
import google.generativeai as genai
# Streamlit app layout
st.title('Personalized Product Description Writer')
# Retrieve the API key from Streamlit secrets
GOOGLE_API_KEY = st.secrets["GEMINI_API_KEY"]
# Configure the Google Generative AI API with your API key
genai.configure(api_key=GOOGLE_API_KEY)
# Input fields for the product details
st.subheader("Enter Product Details:")
product_name = st.text_input('Product Name', '')
product_features = st.text_area('Product Features (comma separated)', '')
target_audience = st.text_input('Target Audience', '')
# Create the prompt based on user inputs
if product_name and product_features and target_audience:
prompt = f"""
Analyze the following product details:
1. Generate a catchy product description:
- Use a tone that resonates with the target audience (e.g., playful for gamers, professional for WFH employees).
- Include a brief brand story or emotional appeal to connect with potential buyers.
- Highlight the product's unique selling points (USP) that differentiate it from competitors.
- Mention specific usage scenarios (e.g., long gaming sessions, remote work).
- End with a strong call to action (e.g., "Level up your comfort today!").
2. Extract key features from the product features provided:
- Identify and list the most important and unique features of the product.
- Explain each feature's benefit to the user.
- Emphasize how these features contribute to a better user experience.
- Organize features in a logical order.
- Include secondary features that add value.
3. Suggest marketing strategies based on the target audience (Indian market):
4. Suggest some frequently asked questions FAQs
Product Name: {product_name}
Product Features: {product_features}
Target Audience: {target_audience}
"""
# Button to submit the prompt
if st.button("Generate"):
if product_name and product_features and target_audience:
try:
# Initialize the generative model (assuming this is the correct model)
model = genai.GenerativeModel('gemini-pro') # Adjust the model if needed
# Generate content based on the prompt
response = model.generate_content(prompt)
# Check if there is a response from the model
if response:
st.subheader("Generated Product Description:")
st.write(response.text) # Displaying the text from the response
else:
st.error("Error: Unable to generate the description.")
except Exception as e:
st.error(f"Error: {e}")
else:
st.error("Please fill in all the product details to generate a description.")
# Add some space or content in between
st.write("\n" * 20) # You can adjust the number of lines to push the content down
# Footer
#st.sidebar.markdown("---")
st.markdown("Built with 🧠 by Hruday & Google Gemini")