File size: 2,261 Bytes
27c5262
4da0eee
 
 
d86a70e
27c5262
fa74cf8
4da0eee
d86a70e
 
 
4da0eee
 
 
 
 
 
27c5262
 
d86a70e
fa74cf8
4da0eee
d86a70e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from inference_script import generate_outreach_message, load_model_and_tokenizer
import os

HF_TOKEN = os.environ.get("HF_TOKEN")

try:
    model, tokenizer, device = load_model_and_tokenizer(
        "KirubaLS/Outreach_model_6",   
        "google/gemma-2b",             
        hf_token=HF_TOKEN
    )
except Exception as e:
    print(f"Error loading model and tokenizer: {e}")
    model = None
    tokenizer = None
    device = None


# Main prediction function
def predict_message(industry, company, prospect, designation, client_info, my_info):
    if model is None or tokenizer is None:
        return "Error: Model not loaded. Please check the logs."
    return generate_outreach_message(industry, company, prospect, designation, client_info, my_info)


# Build the Gradio app with blocks
with gr.Blocks(title="Gemma Outreach Generator") as demo:
    gr.Markdown("## Gemma Outreach Message Generator")
    gr.Markdown(
        "Generate a personalized first-level outreach message using your fine-tuned Gemma model."
    )

    with gr.Row():
        with gr.Column():
            industry    = gr.Textbox(label="Industry", placeholder="e.g. FinTech")
            company     = gr.Textbox(label="Company", placeholder="e.g. Stripe")
            prospect    = gr.Textbox(label="Prospect Name", placeholder="e.g. John Doe")
            designation = gr.Textbox(label="Designation", placeholder="e.g. Senior Developer")
            client_info = gr.Textbox(label="Client Info", placeholder="e.g. Expertise in payment APIs")
            my_info     = gr.Textbox(label="My Info", placeholder="e.g. I'm a growth strategist...")

        with gr.Column():
            output_box = gr.Textbox(label="Generated Outreach Message", lines=12)

    with gr.Row():
        generate_btn = gr.Button(" Generate Message")
        clear_btn    = gr.Button(" Clear Inputs")

    # Actions
    generate_btn.click(
        predict_message,
        inputs=[industry, company, prospect, designation, client_info, my_info],
        outputs=output_box,
        show_progress=True
    )

    clear_btn.click(
        fn=lambda: [""] * 6,
        inputs=[],
        outputs=[industry, company, prospect, designation, client_info, my_info]
    )

demo.launch()