quantifi / app.py
ombhojane's picture
Update app.py
88934e6 verified
import streamlit as st
import google.generativeai as genai
import os
api_key = os.getenv("GENAI_API_KEY")
genai.configure(api_key=api_key)
generation_config = {
"temperature": 0.9,
"top_p": 1,
"top_k": 50, # Adjusted to allow for more diverse outputs
"max_output_tokens": 2048,
}
safety_settings = [
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
]
model = genai.GenerativeModel(model_name="gemini-1.0-pro",
generation_config=generation_config,
safety_settings=safety_settings)
st.title('Project Planner')
project_idea = st.text_area("Describe your coding project idea:", height=150)
must_have_features = st.text_input("List must-have features:")
timeline = st.text_input("What is your timeline for this project?")
if st.button('Generate Project Charter'):
if project_idea and must_have_features and timeline:
prompt = (
f"The coding project idea is: {project_idea}\n"
f"The must-have features for launch are: {must_have_features}\n"
f"The expected timeline for the project is: {timeline}\n"
"Please analyze the project details and generate a draft project charter document covering the following aspects:\n\n"
"- One-paragraph summarizing the project objectives, key requirements, and outcomes\n"
"- High-level user flow diagram showing the key screens and user journey\n"
"- Breakdown of the high-level technical design and architecture\n"
"- Phase-wise plan from design, development, testing to launch\n"
"- List of roles required like frontend, backend, devops engineers etc.\n"
"- Tools and technologies to be used for the MVP\n"
"- Initial effort estimation overview across product, engineering, testing\n"
"- Biggest areas of risks and assumptions to validate\n\n"
"""For the user flow diagram, please use the mermaid JS syntax, for example:\n\n
```mermaid\n"
"flowchart TD\n"
" A[Ecommerce] --> B{View product} \n"
" B --> C{Add to cart}\n"
" C --> D[Payment]\n"
" D --> E[Order confirmed]\n"
"```\n\n"
Provide comprehensive details in each charter section for clarity. Ensure it sets up the key technical guidelines, resource planning, and execution roadmap based on the information provided.
"""
)
response = model.generate_content([prompt])
st.write(response.text)
else:
st.error("Please complete all fields to generate the project charter.")