|
import gradio as gr |
|
from scorer import get_lead_score, calculate_score, calculate_confidence, calculate_risk |
|
from recommender import generate_recommendation |
|
|
|
def run_engine(amount, stage, industry, emails, meetings, close_gap): |
|
lead_score = get_lead_score(stage, emails, meetings, close_gap) |
|
ai_score = calculate_score(lead_score, emails, meetings, close_gap) |
|
confidence = calculate_confidence(ai_score) |
|
risk = calculate_risk(ai_score, confidence, emails, meetings) |
|
recommendation = generate_recommendation(stage, emails, meetings, risk) |
|
|
|
return lead_score, ai_score, confidence, risk, recommendation |
|
|
|
with gr.Blocks(title="B2B Deal Qualification Engine") as demo: |
|
gr.Markdown("## 🤖 AI-Powered Deal Qualification Engine") |
|
|
|
with gr.Row(): |
|
amount = gr.Number(label="Deal Amount (USD)", value=50000) |
|
stage = gr.Dropdown(["Prospecting", "Proposal/Price Quote", "Negotiation", "Closed Won", "Closed Lost"], label="Stage") |
|
industry = gr.Textbox(label="Industry", value="Software") |
|
|
|
with gr.Row(): |
|
emails = gr.Number(label="Emails in Last 7 Days", value=3) |
|
meetings = gr.Number(label="Meetings in Last 30 Days", value=2) |
|
close_gap = gr.Number(label="Days Until Close Date", value=10) |
|
|
|
submit = gr.Button("Score Deal") |
|
|
|
with gr.Row(): |
|
lead_score_out = gr.Number(label="Generated Lead Score") |
|
ai_score_out = gr.Number(label="AI Score (0–100)") |
|
confidence_out = gr.Number(label="Confidence Level (0–1)") |
|
risk_out = gr.Textbox(label="Risk Assessment") |
|
reco_out = gr.Textbox(label="AI Recommendation") |
|
|
|
submit.click(fn=run_engine, |
|
inputs=[amount, stage, industry, emails, meetings, close_gap], |
|
outputs=[lead_score_out, ai_score_out, confidence_out, risk_out, reco_out]) |
|
|
|
demo.launch() |
|
|