Spaces:
Sleeping
Sleeping
File size: 2,221 Bytes
47454a7 0791989 122e2c3 75c37a0 122e2c3 47454a7 75c37a0 47454a7 122e2c3 47454a7 75c37a0 122e2c3 75c37a0 122e2c3 47454a7 122e2c3 47454a7 122e2c3 47454a7 122e2c3 47454a7 122e2c3 |
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 66 67 |
# -*- coding: utf-8 -*-
"""gen ai project f.ipynb
Automatically generated by Colab.
Original file is located at
https://colab.research.google.com/drive/1iF7hdOjWNeFUtGvUYdaFsBErJGnY1h5J
"""
import os
from transformers import MarianMTModel, MarianTokenizer
import gradio as gr
from PIL import Image, UnidentifiedImageError
import requests
import io
# Load translation models
model_name = "Helsinki-NLP/opus-mt-mul-en"
tokenizer = MarianTokenizer.from_pretrained(model_name)
model = MarianMTModel.from_pretrained(model_name)
# Define language map
language_map = {
"Tamil": "ta",
"Russian": "rus"
}
def translate_text(input_text, selected_language):
lang_code = language_map[selected_language]
lang_prefix = f">>{lang_code}<< "
text_with_lang = lang_prefix + input_text
inputs = tokenizer(text_with_lang, return_tensors="pt", padding=True)
translated_tokens = model.generate(**inputs)
translation = tokenizer.decode(translated_tokens[0], skip_special_tokens=True)
return translation
def generate_image(prompt):
API_URL = "https://api-inference.huggingface.co/models/black-forest-labs/FLUX.1-dev"
hf_token = os.getenv("HF_TOKEN")
headers = {"Authorization": f"Bearer {hf_token}"}
response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
if response.status_code == 200:
image_bytes = response.content
try:
image = Image.open(io.BytesIO(image_bytes))
return image
except UnidentifiedImageError:
return None
else:
return None
def process_input(text_input, selected_language):
translated_output = translate_text(text_input, selected_language)
image = generate_image(translated_output)
return translated_output, image
# Gradio interface
interface = gr.Interface(
fn=process_input,
inputs=[gr.Textbox(label="Input Text"), gr.CheckboxGroup(choices=["Tamil", "Russian"], label="Select Language")],
outputs=[gr.Textbox(label="Translated Text"), gr.Image(label="Generated Image")],
title="Multilingual Translation and Image Generation",
description="Translate Tamil or Russian text to English and generate an image."
)
interface.launch()
|