|
import gradio as gr |
|
from transformers import pipeline |
|
|
|
|
|
strategy_generator = pipeline("text2text-generation", model="google/flan-t5-large") |
|
|
|
|
|
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) |
|
|
|
|
|
def generate_strategy(industry, challenge, goals): |
|
prompt = f""" |
|
You are a business consultant helping a company in the {industry} industry. |
|
The company faces the following challenge: {challenge}. |
|
The company aims to achieve the following goal: {goals}. |
|
Provide a detailed and actionable business strategy with specific steps, measurable outcomes, and innovative ideas. |
|
""" |
|
try: |
|
response = strategy_generator(prompt, max_length=300, num_return_sequences=1, temperature=0.7) |
|
cleaned_response = clean_output(response[0]['generated_text']) |
|
return cleaned_response |
|
except Exception as e: |
|
return f"Error generating strategy: {e}" |
|
|
|
|
|
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 actionable insights for each category and suggestions on how to maximize strengths and opportunities while addressing weaknesses and threats. |
|
""" |
|
try: |
|
response = strategy_generator(prompt, max_length=300, num_return_sequences=1, temperature=0.7) |
|
cleaned_response = clean_output(response[0]['generated_text']) |
|
return cleaned_response |
|
except Exception as e: |
|
return f"Error generating SWOT analysis: {e}" |
|
|
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("# AI Business Strategy Generator") |
|
gr.Markdown("Generate actionable business strategies and SWOT analyses using AI.") |
|
|
|
|
|
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] |
|
) |
|
|
|
|
|
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] |
|
) |
|
|
|
|
|
demo.launch() |
|
|