karthikmn commited on
Commit
bc9aa7d
·
verified ·
1 Parent(s): 578ed63

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -46
app.py CHANGED
@@ -1,47 +1,40 @@
1
  import gradio as gr
2
- from mock_model import predict, get_lead_score_for_stage
3
-
4
- STAGES = ["Prospecting", "Proposal/Price Quote", "Negotiation", "Closed Won", "Closed Lost"]
5
-
6
- def run_app(amount, stage, industry, emails, meetings, close_gap):
7
- lead_score = get_lead_score_for_stage(stage)
8
- input_data = {
9
- "amount": amount,
10
- "stage": stage,
11
- "industry": industry,
12
- "lead_score": lead_score,
13
- "emails_last_7_days": emails,
14
- "meetings_last_30_days": meetings,
15
- "close_date_gap": close_gap
16
- }
17
- result = predict(input_data, None, None, None)
18
- return (
19
- lead_score,
20
- result["score"],
21
- result["confidence"],
22
- result["risk"],
23
- result["recommendation"]
24
- )
25
-
26
- demo = gr.Interface(
27
- fn=run_app,
28
- title="AI-Powered Deal Qualification Engine",
29
- inputs=[
30
- gr.Number(label="Amount (USD)", value=50000),
31
- gr.Dropdown(STAGES, label="Stage"),
32
- gr.Textbox(label="Industry", value="Software"),
33
- gr.Number(label="Emails in Last 7 Days", value=3),
34
- gr.Number(label="Meetings in Last 30 Days", value=2),
35
- gr.Number(label="Close Date Gap (days)", value=10)
36
- ],
37
- outputs=[
38
- gr.Number(label="Generated Lead Score"),
39
- gr.Number(label="AI Score (0–100)"),
40
- gr.Number(label="Confidence (0–1)"),
41
- gr.Textbox(label="Risk Level"),
42
- gr.Textbox(label="Recommendation")
43
- ]
44
- )
45
-
46
- if __name__ == "__main__":
47
- demo.launch()
 
1
  import gradio as gr
2
+ from scorer import get_lead_score, calculate_score, calculate_confidence, calculate_risk
3
+ from recommender import generate_recommendation
4
+
5
+ def run_engine(amount, stage, industry, emails, meetings, close_gap):
6
+ lead_score = get_lead_score(stage, emails, meetings, close_gap)
7
+ ai_score = calculate_score(lead_score, emails, meetings, close_gap)
8
+ confidence = calculate_confidence(ai_score)
9
+ risk = calculate_risk(ai_score, confidence, emails, meetings)
10
+ recommendation = generate_recommendation(stage, emails, meetings, risk)
11
+
12
+ return lead_score, ai_score, confidence, risk, recommendation
13
+
14
+ with gr.Blocks(title="B2B Deal Qualification Engine") as demo:
15
+ gr.Markdown("## 🤖 AI-Powered Deal Qualification Engine")
16
+
17
+ with gr.Row():
18
+ amount = gr.Number(label="Deal Amount (USD)", value=50000)
19
+ stage = gr.Dropdown(["Prospecting", "Proposal/Price Quote", "Negotiation", "Closed Won", "Closed Lost"], label="Stage")
20
+ industry = gr.Textbox(label="Industry", value="Software")
21
+
22
+ with gr.Row():
23
+ emails = gr.Number(label="Emails in Last 7 Days", value=3)
24
+ meetings = gr.Number(label="Meetings in Last 30 Days", value=2)
25
+ close_gap = gr.Number(label="Days Until Close Date", value=10)
26
+
27
+ submit = gr.Button("Score Deal")
28
+
29
+ with gr.Row():
30
+ lead_score_out = gr.Number(label="Generated Lead Score")
31
+ ai_score_out = gr.Number(label="AI Score (0–100)")
32
+ confidence_out = gr.Number(label="Confidence Level (0–1)")
33
+ risk_out = gr.Textbox(label="Risk Assessment")
34
+ reco_out = gr.Textbox(label="AI Recommendation")
35
+
36
+ submit.click(fn=run_engine,
37
+ inputs=[amount, stage, industry, emails, meetings, close_gap],
38
+ outputs=[lead_score_out, ai_score_out, confidence_out, risk_out, reco_out])
39
+
40
+ demo.launch()