gokilashree commited on
Commit
3d7f6bb
·
verified ·
1 Parent(s): 7ff7436

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -10
app.py CHANGED
@@ -17,10 +17,10 @@ if hf_api_key is None:
17
  else:
18
  headers = {"Authorization": f"Bearer {hf_api_key}"}
19
 
20
- # Text-to-image model URL
21
- API_URL = "https://api-inference.huggingface.co/models/CompVis/stable-diffusion-v1-4"
22
 
23
- # Load the text generation model to maintain the same functionality
24
  text_generation_model_name = "EleutherAI/gpt-neo-1.3B"
25
  text_tokenizer = AutoTokenizer.from_pretrained(text_generation_model_name)
26
  text_model = AutoModelForCausalLM.from_pretrained(text_generation_model_name)
@@ -32,7 +32,7 @@ text_generator = pipeline("text-generation", model=text_model, tokenizer=text_to
32
  def generate_image_from_text(translated_text):
33
  try:
34
  print(f"Generating image from translated text: {translated_text}")
35
- response = requests.post(API_URL, headers=headers, json={"inputs": translated_text}, timeout=15) # Reduced timeout to 15 seconds
36
 
37
  if response.status_code != 200:
38
  print(f"Error generating image: {response.text}")
@@ -51,8 +51,14 @@ def generate_image_from_text(translated_text):
51
  def generate_short_paragraph_from_text(translated_text):
52
  try:
53
  print(f"Generating a short paragraph from translated text: {translated_text}")
54
- # Generate a shorter paragraph using a lower max_length for faster processing
55
- paragraph = text_generator(translated_text, max_length=100, num_return_sequences=1, temperature=0.6, top_p=0.9)[0]['generated_text']
 
 
 
 
 
 
56
  print(f"Paragraph generation completed: {paragraph}")
57
  return paragraph
58
  except Exception as e:
@@ -65,8 +71,8 @@ def translate_generate_paragraph_and_image(tamil_text):
65
  try:
66
  print("Translating Tamil text to English...")
67
  tokenizer.src_lang = "ta_IN"
68
- inputs = tokenizer(tamil_text, return_tensors="pt", max_length=50, truncation=True) # Limited max_length to 50 for faster translation
69
- translated_tokens = model.generate(**inputs, forced_bos_token_id=tokenizer.lang_code_to_id["en_XX"])
70
  translated_text = tokenizer.batch_decode(translated_tokens, skip_special_tokens=True)[0]
71
  print(f"Translation completed: {translated_text}")
72
  except Exception as e:
@@ -84,7 +90,7 @@ def translate_generate_paragraph_and_image(tamil_text):
84
 
85
  return translated_text, paragraph, image, None
86
 
87
- # Gradio interface setup without `enable_queue`
88
  iface = gr.Interface(
89
  fn=translate_generate_paragraph_and_image,
90
  inputs=gr.Textbox(lines=2, placeholder="Enter Tamil text here..."),
@@ -94,7 +100,7 @@ iface = gr.Interface(
94
  title="Tamil to English Translation, Short Paragraph Generation, and Image Creation",
95
  description="Translate Tamil text to English using Facebook's mbart-large-50 model, generate a short paragraph, and create an image using the translated text.",
96
  theme="default",
97
- allow_flagging="never" # Disable flagging to reduce UI load
98
  )
99
 
100
  # Launch the interface
 
17
  else:
18
  headers = {"Authorization": f"Bearer {hf_api_key}"}
19
 
20
+ # Use a faster text-to-image model for quicker generation
21
+ API_URL = "https://api-inference.huggingface.co/models/runwayml/stable-diffusion-v1-5"
22
 
23
+ # Load the text generation model
24
  text_generation_model_name = "EleutherAI/gpt-neo-1.3B"
25
  text_tokenizer = AutoTokenizer.from_pretrained(text_generation_model_name)
26
  text_model = AutoModelForCausalLM.from_pretrained(text_generation_model_name)
 
32
  def generate_image_from_text(translated_text):
33
  try:
34
  print(f"Generating image from translated text: {translated_text}")
35
+ response = requests.post(API_URL, headers=headers, json={"inputs": translated_text}, timeout=20) # Increased timeout to 20 seconds
36
 
37
  if response.status_code != 200:
38
  print(f"Error generating image: {response.text}")
 
51
  def generate_short_paragraph_from_text(translated_text):
52
  try:
53
  print(f"Generating a short paragraph from translated text: {translated_text}")
54
+ paragraph = text_generator(
55
+ translated_text,
56
+ max_length=80, # Reduced to 80 tokens
57
+ num_return_sequences=1,
58
+ temperature=0.7,
59
+ top_p=0.9,
60
+ no_repeat_ngram_size=3 # Prevent repetitive text
61
+ )[0]['generated_text']
62
  print(f"Paragraph generation completed: {paragraph}")
63
  return paragraph
64
  except Exception as e:
 
71
  try:
72
  print("Translating Tamil text to English...")
73
  tokenizer.src_lang = "ta_IN"
74
+ inputs = tokenizer(tamil_text, return_tensors="pt", max_length=40, truncation=True) # Limit length to 40 tokens
75
+ translated_tokens = model.generate(**inputs, max_length=50, num_beams=4, early_stopping=True) # Use beam search for faster output
76
  translated_text = tokenizer.batch_decode(translated_tokens, skip_special_tokens=True)[0]
77
  print(f"Translation completed: {translated_text}")
78
  except Exception as e:
 
90
 
91
  return translated_text, paragraph, image, None
92
 
93
+ # Gradio interface setup
94
  iface = gr.Interface(
95
  fn=translate_generate_paragraph_and_image,
96
  inputs=gr.Textbox(lines=2, placeholder="Enter Tamil text here..."),
 
100
  title="Tamil to English Translation, Short Paragraph Generation, and Image Creation",
101
  description="Translate Tamil text to English using Facebook's mbart-large-50 model, generate a short paragraph, and create an image using the translated text.",
102
  theme="default",
103
+ allow_flagging="never"
104
  )
105
 
106
  # Launch the interface