File size: 4,126 Bytes
9434c21
 
 
3768f3b
 
9434c21
51b14ac
dd6b41c
 
 
 
 
 
 
 
 
 
22ea7cc
9434c21
 
51b14ac
dd6b41c
 
51b14ac
 
 
 
 
 
 
 
9434c21
3768f3b
51b14ac
dd6b41c
 
3768f3b
 
9434c21
22ea7cc
9434c21
 
51b14ac
3768f3b
 
 
 
51b14ac
9434c21
3768f3b
51b14ac
dd6b41c
 
3768f3b
 
9434c21
 
 
 
22ea7cc
9434c21
22ea7cc
9434c21
22ea7cc
9434c21
 
 
 
 
 
 
 
 
 
 
 
22ea7cc
9434c21
22ea7cc
9434c21
22ea7cc
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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 not in seen:
            seen.add(sentence)
            cleaned_sentences.append(sentence)
    return ". ".join(cleaned_sentences)

# Function to generate a business strategy
def generate_strategy(industry, challenge, goals):
    prompt = f"""
    You are a professional business consultant specializing in the {industry} industry.
    The company faces the following challenge: {challenge}.
    The company aims to achieve the following goal: {goals}.
    Provide a detailed business strategy including:
    - 3-5 actionable steps
    - Measurable short-term outcomes (6 months to 1 year)
    - Innovative ideas tailored to the industry
    Example format:
    1. Step 1: Description
    2. Step 2: Description
    3. Step 3: Description
    """
    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 strategy: {e}"

# Function to perform a SWOT analysis
def swot_analysis(strengths, weaknesses, opportunities, threats):
    prompt = f"""
    You are a professional business consultant performing a SWOT analysis for a company.
    - Strengths: {strengths}
    - Weaknesses: {weaknesses}
    - Opportunities: {opportunities}
    - Threats: {threats}
    Provide actionable insights for each category, including specific recommendations on how to leverage strengths and opportunities while addressing weaknesses and threats.
    """
    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()