Arnesh27 commited on
Commit
9ac8791
·
verified ·
1 Parent(s): ec8cf8a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -7
app.py CHANGED
@@ -3,7 +3,7 @@ import gradio as gr
3
  import torch
4
 
5
  # Load a model suited for code generation
6
- model_name = "Salesforce/codegen-350M-mono" # This is a smaller model, choose one suited for your task
7
  tokenizer = AutoTokenizer.from_pretrained(model_name)
8
  model = AutoModelForCausalLM.from_pretrained(model_name)
9
 
@@ -12,21 +12,32 @@ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
12
  model.to(device)
13
 
14
  def generate_code(prompt):
15
- # Prepare the input for the model
16
- input_tensor = tokenizer(prompt, return_tensors="pt").to(device)
17
 
18
- # Generate code based on the prompt
 
 
 
 
 
 
19
  with torch.no_grad():
20
  generated_ids = model.generate(
21
  input_tensor['input_ids'],
22
- max_length=300, # You can adjust this length
 
23
  num_beams=5, # This controls the diversity of outputs
24
- early_stopping=True
 
25
  )
26
 
27
  # Decode and return the generated code
28
  generated_code = tokenizer.decode(generated_ids[0], skip_special_tokens=True)
29
  return generated_code
30
 
 
31
  iface = gr.Interface(fn=generate_code, inputs="text", outputs="text", allow_flagging="never")
32
- iface.launch(server_name="0.0.0.0", server_port=7860)
 
 
 
3
  import torch
4
 
5
  # Load a model suited for code generation
6
+ model_name = "Salesforce/codegen-350M-mono" # Choose a suitable model for your needs
7
  tokenizer = AutoTokenizer.from_pretrained(model_name)
8
  model = AutoModelForCausalLM.from_pretrained(model_name)
9
 
 
12
  model.to(device)
13
 
14
  def generate_code(prompt):
15
+ # Add context to the prompt to clarify the output
16
+ full_prompt = f"Generate a basic HTML template for a personal blog. {prompt}"
17
 
18
+ # Tokenize the input and set pad token
19
+ input_tensor = tokenizer(full_prompt, return_tensors="pt", padding=True, truncation=True).to(device)
20
+
21
+ # Set pad_token_id if not already set
22
+ pad_token_id = tokenizer.pad_token_id if tokenizer.pad_token_id is not None else tokenizer.eos_token_id
23
+
24
+ # Generate code with attention mask
25
  with torch.no_grad():
26
  generated_ids = model.generate(
27
  input_tensor['input_ids'],
28
+ attention_mask=input_tensor['attention_mask'], # Include attention mask
29
+ max_length=300, # Adjust this length as needed
30
  num_beams=5, # This controls the diversity of outputs
31
+ early_stopping=True,
32
+ pad_token_id=pad_token_id # Set pad token id
33
  )
34
 
35
  # Decode and return the generated code
36
  generated_code = tokenizer.decode(generated_ids[0], skip_special_tokens=True)
37
  return generated_code
38
 
39
+ # Set up the Gradio interface
40
  iface = gr.Interface(fn=generate_code, inputs="text", outputs="text", allow_flagging="never")
41
+
42
+ # Launch the app with sharing enabled
43
+ iface.launch(server_name="0.0.0.0", server_port=7860, share=True)