pravin007s commited on
Commit
38ab713
·
verified ·
1 Parent(s): 91031e0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -12
app.py CHANGED
@@ -1,10 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
- """gen ai project f.ipynb
3
- Automatically generated by Colab.
4
- Original file is located at
5
- https://colab.research.google.com/drive/1iF7hdOjWNeFUtGvUYdaFsBErJGnY1h5J
6
- """
7
-
8
  import os
9
  from transformers import MarianMTModel, MarianTokenizer, GPTNeoForCausalLM, AutoTokenizer
10
  import gradio as gr
@@ -30,6 +23,7 @@ language_map = {
30
  }
31
 
32
  def translate_text(input_text, selected_languages):
 
33
  if not selected_languages:
34
  return "Please select at least one language."
35
 
@@ -38,13 +32,16 @@ def translate_text(input_text, selected_languages):
38
  lang_prefix = f">>{lang_code}<< "
39
  text_with_lang = lang_prefix + input_text
40
  inputs = tokenizer(text_with_lang, return_tensors="pt", padding=True)
 
 
41
  translated_tokens = model.generate(**inputs)
42
  translation = tokenizer.decode(translated_tokens[0], skip_special_tokens=True)
43
  return translation
44
 
45
  def generate_image(prompt):
 
46
  API_URL = "https://api-inference.huggingface.co/models/black-forest-labs/FLUX.1-dev"
47
- hf_token = os.getenv("HF_TOKEN")
48
  headers = {"Authorization": f"Bearer {hf_token}"}
49
 
50
  response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
@@ -60,13 +57,17 @@ def generate_image(prompt):
60
  return None
61
 
62
  def generate_creative_text(translated_text):
 
63
  prompt = f"Create a creative text based on the following sentence: {translated_text}"
64
  inputs = gpt_neo_tokenizer(prompt, return_tensors="pt", padding=True, truncation=True, max_length=100)
 
 
65
  output = gpt_neo_model.generate(inputs["input_ids"], max_length=100, do_sample=True, temperature=0.7)
66
  creative_text = gpt_neo_tokenizer.decode(output[0], skip_special_tokens=True)
67
  return creative_text
68
 
69
  def process_input(text_input, selected_languages):
 
70
  translated_output = translate_text(text_input, selected_languages)
71
  creative_text = generate_creative_text(translated_output)
72
  image = generate_image(translated_output)
@@ -75,12 +76,17 @@ def process_input(text_input, selected_languages):
75
  # Gradio interface
76
  interface = gr.Interface(
77
  fn=process_input,
78
- inputs=[gr.Textbox(label="Input Text"), gr.CheckboxGroup(choices=["Tamil", "Russian", "Arabic", "Portuguese"], label="Select Language")],
79
- outputs=[gr.Textbox(label="Translated Text"), gr.Textbox(label="Creative Text"), gr.Image(label="Generated Image")],
 
 
 
 
 
 
 
80
  title="Multilingual Translation, Creative Text, and Image Generation",
81
  description="Translate Tamil, Russian, Arabic, or Portuguese text to English, generate creative text, and generate an image."
82
  )
83
 
84
  interface.launch()
85
-
86
-
 
 
 
 
 
 
 
 
1
  import os
2
  from transformers import MarianMTModel, MarianTokenizer, GPTNeoForCausalLM, AutoTokenizer
3
  import gradio as gr
 
23
  }
24
 
25
  def translate_text(input_text, selected_languages):
26
+ """Translate input text into English based on the selected language."""
27
  if not selected_languages:
28
  return "Please select at least one language."
29
 
 
32
  lang_prefix = f">>{lang_code}<< "
33
  text_with_lang = lang_prefix + input_text
34
  inputs = tokenizer(text_with_lang, return_tensors="pt", padding=True)
35
+
36
+ # Generate translated tokens
37
  translated_tokens = model.generate(**inputs)
38
  translation = tokenizer.decode(translated_tokens[0], skip_special_tokens=True)
39
  return translation
40
 
41
  def generate_image(prompt):
42
+ """Generate an image based on the provided prompt."""
43
  API_URL = "https://api-inference.huggingface.co/models/black-forest-labs/FLUX.1-dev"
44
+ hf_token = os.getenv("HF_TOKEN") # Ensure to set this environment variable
45
  headers = {"Authorization": f"Bearer {hf_token}"}
46
 
47
  response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
 
57
  return None
58
 
59
  def generate_creative_text(translated_text):
60
+ """Generate creative text based on the translated sentence."""
61
  prompt = f"Create a creative text based on the following sentence: {translated_text}"
62
  inputs = gpt_neo_tokenizer(prompt, return_tensors="pt", padding=True, truncation=True, max_length=100)
63
+
64
+ # Generate creative text
65
  output = gpt_neo_model.generate(inputs["input_ids"], max_length=100, do_sample=True, temperature=0.7)
66
  creative_text = gpt_neo_tokenizer.decode(output[0], skip_special_tokens=True)
67
  return creative_text
68
 
69
  def process_input(text_input, selected_languages):
70
+ """Process the input text: translate, generate creative text, and generate an image."""
71
  translated_output = translate_text(text_input, selected_languages)
72
  creative_text = generate_creative_text(translated_output)
73
  image = generate_image(translated_output)
 
76
  # Gradio interface
77
  interface = gr.Interface(
78
  fn=process_input,
79
+ inputs=[
80
+ gr.Textbox(label="Input Text"),
81
+ gr.CheckboxGroup(choices=["Tamil", "Russian", "Arabic", "Portuguese"], label="Select Language")
82
+ ],
83
+ outputs=[
84
+ gr.Textbox(label="Translated Text"),
85
+ gr.Textbox(label="Creative Text"),
86
+ gr.Image(label="Generated Image")
87
+ ],
88
  title="Multilingual Translation, Creative Text, and Image Generation",
89
  description="Translate Tamil, Russian, Arabic, or Portuguese text to English, generate creative text, and generate an image."
90
  )
91
 
92
  interface.launch()