|
import gradio as gr |
|
from model import score_opportunity |
|
|
|
def predict_deal(amount, stage, industry, lead_score, email_count, meeting_count, close_date_gap): |
|
input_data = { |
|
"amount": amount, |
|
"stage": stage, |
|
"industry": industry, |
|
"lead_score": lead_score, |
|
"email_count": email_count, |
|
"meeting_count": meeting_count, |
|
"close_date_gap": close_date_gap |
|
} |
|
result = score_opportunity(input_data) |
|
return result['score'], result['risk'], result['recommendation'] |
|
|
|
with gr.Blocks(title="AI Deal Qualification Engine") as demo: |
|
gr.Markdown("# π€ AI-Powered B2B Deal Qualification Engine") |
|
|
|
with gr.Row(): |
|
amount = gr.Number(label="Amount") |
|
stage = gr.Dropdown(["Prospecting", "Qualified", "Proposal", "Negotiation", "Closed Won", "Closed Lost"], label="Stage") |
|
industry = gr.Textbox(label="Industry") |
|
lead_score = gr.Number(label="Lead Score") |
|
email_count = gr.Number(label="Email Count") |
|
meeting_count = gr.Number(label="Meeting Count") |
|
close_date_gap = gr.Number(label="Close Date Gap (days)") |
|
|
|
submit_btn = gr.Button("Predict Deal Quality") |
|
|
|
with gr.Row(): |
|
score = gr.Number(label="Score (0β100)", interactive=False) |
|
risk = gr.Textbox(label="Risk Level", interactive=False) |
|
recommendation = gr.Textbox(label="AI Recommendation", lines=2, interactive=False) |
|
|
|
submit_btn.click(fn=predict_deal, |
|
inputs=[amount, stage, industry, lead_score, email_count, meeting_count, close_date_gap], |
|
outputs=[score, risk, recommendation]) |
|
|
|
demo.launch() |
|
|