AI_BizGen / app.py
mgbam's picture
Update app.py
d250317 verified
raw
history blame
4.05 kB
import gradio as gr
from transformers import pipeline
# Load a more capable open-source model
strategy_generator = pipeline("text2text-generation", model="google/flan-t5-large")
# Function to clean up repetitive or irrelevant sentences in generated text
def clean_output(text):
sentences = text.split(". ")
seen = set()
cleaned_sentences = []
for sentence in sentences:
if sentence.strip() not in seen:
seen.add(sentence.strip())
cleaned_sentences.append(sentence.strip())
return ". ".join(cleaned_sentences)
# Function to generate a business strategy
def generate_strategy(industry, challenge, goals):
prompt = f"""
You are a business consultant with expertise in the {industry} industry.
The company faces the following challenge: {challenge}.
The company's goal is to achieve: {goals}.
Provide a detailed strategy that includes:
1. Three to five actionable steps.
2. For each step, explain WHY it is recommended and HOW to implement it.
Example format:
1. Actionable Step: Description
- Why: Reasoning for this step.
- How: Implementation details.
"""
try:
response = strategy_generator(prompt, max_length=500, num_return_sequences=1, temperature=0.7, top_p=0.9)
cleaned_response = clean_output(response[0]['generated_text'])
return cleaned_response
except Exception as e:
return f"Error generating strategy: {e}"
# Function to perform a SWOT analysis
def swot_analysis(strengths, weaknesses, opportunities, threats):
prompt = f"""
You are a business consultant performing a SWOT analysis for a company.
- Strengths: {strengths}
- Weaknesses: {weaknesses}
- Opportunities: {opportunities}
- Threats: {threats}
Provide detailed insights for each category, and include specific recommendations for improvement.
"""
try:
response = strategy_generator(prompt, max_length=300, num_return_sequences=1, temperature=0.7, top_p=0.9)
cleaned_response = clean_output(response[0]['generated_text'])
return cleaned_response
except Exception as e:
return f"Error generating SWOT analysis: {e}"
# Gradio interface
with gr.Blocks() as demo:
gr.Markdown("# AI Business Strategy Generator")
gr.Markdown("Generate actionable business strategies and SWOT analyses using AI.")
# Tab 1: Generate Business Strategy
with gr.Tab("Generate Strategy"):
gr.Markdown("### Input Information to Generate a Business Strategy")
industry_input = gr.Textbox(label="Industry", placeholder="E.g., E-commerce, Healthcare")
challenge_input = gr.Textbox(label="Key Challenge", placeholder="E.g., Low customer retention")
goals_input = gr.Textbox(label="Goals", placeholder="E.g., Increase sales by 20% in 6 months")
strategy_button = gr.Button("Generate Strategy")
strategy_output = gr.Textbox(label="Generated Strategy", lines=10)
strategy_button.click(
generate_strategy,
inputs=[industry_input, challenge_input, goals_input],
outputs=[strategy_output]
)
# Tab 2: SWOT Analysis
with gr.Tab("SWOT Analysis"):
gr.Markdown("### Input Information to Perform a SWOT Analysis")
strengths_input = gr.Textbox(label="Strengths", placeholder="E.g., Strong brand presence")
weaknesses_input = gr.Textbox(label="Weaknesses", placeholder="E.g., Limited market reach")
opportunities_input = gr.Textbox(label="Opportunities", placeholder="E.g., Emerging markets")
threats_input = gr.Textbox(label="Threats", placeholder="E.g., Rising competition")
swot_button = gr.Button("Perform SWOT Analysis")
swot_output = gr.Textbox(label="Generated SWOT Analysis", lines=10)
swot_button.click(
swot_analysis,
inputs=[strengths_input, weaknesses_input, opportunities_input, threats_input],
outputs=[swot_output]
)
# Launch the Gradio app
demo.launch()