abhilashnl2006 commited on
Commit
32bfdde
·
verified ·
1 Parent(s): e6f247e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -15
app.py CHANGED
@@ -1,28 +1,50 @@
1
  import os
2
  import gradio as gr
3
- from transformers import AutoTokenizer, AutoModelForCausalLM
4
- from huggingface_hub import InferenceApi
 
 
 
 
5
 
6
  # Get the token from the environment variable set in HF Spaces
7
  hf_token = os.environ.get("HUGGINGFACE_TOKEN")
 
 
 
8
 
9
  # Model name
10
  model_name = "meta-llama/Llama-2-7b-chat-hf"
11
 
12
- # Create an InferenceApi client
13
- inference = InferenceApi(repo_id=model_name, token=hf_token)
14
 
15
  def generate_text(prompt):
16
- response = inference(inputs=prompt, parameters={"max_length": 500})
17
- return response[0]['generated_text']
 
 
 
 
 
18
 
19
  def generate_email(industry, recipient_role, company_details):
20
- prompt = f"Generate a personalized cold outreach email for a {recipient_role} in the {industry} industry. Company details: {company_details}"
21
- return generate_text(prompt)
 
 
 
 
 
22
 
23
  def refine_email(email, tone, context):
24
- prompt = f"Refine the following email to match a {tone} tone and consider this context: {context}\n\nEmail: {email}"
25
- return generate_text(prompt)
 
 
 
 
 
26
 
27
  # Gradio interface
28
  with gr.Blocks() as demo:
@@ -31,18 +53,18 @@ with gr.Blocks() as demo:
31
  with gr.Tab("Generate Email"):
32
  industry = gr.Textbox(label="Industry")
33
  recipient_role = gr.Textbox(label="Recipient Role")
34
- company_details = gr.Textbox(label="Company/Personal Details")
35
  generate_button = gr.Button("Generate Email")
36
- output = gr.Textbox(label="Generated Email")
37
 
38
  generate_button.click(generate_email, inputs=[industry, recipient_role, company_details], outputs=output)
39
 
40
  with gr.Tab("Refine Email"):
41
- email_input = gr.Textbox(label="Input Email")
42
  tone = gr.Dropdown(["Formal", "Casual", "Enthusiastic"], label="Desired Tone")
43
- context = gr.Textbox(label="Additional Context")
44
  refine_button = gr.Button("Refine Email")
45
- refined_output = gr.Textbox(label="Refined Email")
46
 
47
  refine_button.click(refine_email, inputs=[email_input, tone, context], outputs=refined_output)
48
 
 
1
  import os
2
  import gradio as gr
3
+ from huggingface_hub import InferenceClient
4
+ import logging
5
+
6
+ # Set up logging
7
+ logging.basicConfig(level=logging.INFO)
8
+ logger = logging.getLogger(__name__)
9
 
10
  # Get the token from the environment variable set in HF Spaces
11
  hf_token = os.environ.get("HUGGINGFACE_TOKEN")
12
+ if not hf_token:
13
+ logger.error("HUGGINGFACE_TOKEN environment variable is not set")
14
+ raise ValueError("HUGGINGFACE_TOKEN environment variable is not set")
15
 
16
  # Model name
17
  model_name = "meta-llama/Llama-2-7b-chat-hf"
18
 
19
+ # Create an InferenceClient
20
+ client = InferenceClient(model=model_name, token=hf_token)
21
 
22
  def generate_text(prompt):
23
+ try:
24
+ logger.info(f"Generating text for prompt: {prompt[:50]}...")
25
+ response = client.text_generation(prompt, max_new_tokens=500, temperature=0.7)
26
+ return response
27
+ except Exception as e:
28
+ logger.error(f"Error in generate_text: {str(e)}")
29
+ return f"An error occurred: {str(e)}"
30
 
31
  def generate_email(industry, recipient_role, company_details):
32
+ try:
33
+ logger.info(f"Generating email for {industry}, {recipient_role}")
34
+ prompt = f"Generate a personalized cold outreach email for a {recipient_role} in the {industry} industry. Company details: {company_details}"
35
+ return generate_text(prompt)
36
+ except Exception as e:
37
+ logger.error(f"Error in generate_email: {str(e)}")
38
+ return f"An error occurred in generate_email: {str(e)}"
39
 
40
  def refine_email(email, tone, context):
41
+ try:
42
+ logger.info(f"Refining email with tone: {tone}")
43
+ prompt = f"Refine the following email to match a {tone} tone and consider this context: {context}\n\nEmail: {email}"
44
+ return generate_text(prompt)
45
+ except Exception as e:
46
+ logger.error(f"Error in refine_email: {str(e)}")
47
+ return f"An error occurred in refine_email: {str(e)}"
48
 
49
  # Gradio interface
50
  with gr.Blocks() as demo:
 
53
  with gr.Tab("Generate Email"):
54
  industry = gr.Textbox(label="Industry")
55
  recipient_role = gr.Textbox(label="Recipient Role")
56
+ company_details = gr.Textbox(label="Company/Personal Details", lines=5)
57
  generate_button = gr.Button("Generate Email")
58
+ output = gr.Textbox(label="Generated Email", lines=10)
59
 
60
  generate_button.click(generate_email, inputs=[industry, recipient_role, company_details], outputs=output)
61
 
62
  with gr.Tab("Refine Email"):
63
+ email_input = gr.Textbox(label="Input Email", lines=10)
64
  tone = gr.Dropdown(["Formal", "Casual", "Enthusiastic"], label="Desired Tone")
65
+ context = gr.Textbox(label="Additional Context", lines=3)
66
  refine_button = gr.Button("Refine Email")
67
+ refined_output = gr.Textbox(label="Refined Email", lines=10)
68
 
69
  refine_button.click(refine_email, inputs=[email_input, tone, context], outputs=refined_output)
70