import streamlit as st from transformers import pipeline from diffusers import DiffusionPipeline, FluxPipeline import torch import time device = "cuda" if torch.cuda.is_available() else "cpu" # Load models translator = pipeline("translation", model="Helsinki-NLP/opus-mt-dra-en") summarizer = pipeline("summarization", model="Falconsai/text_summarization") # image_pipe = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16).to(device) # image_pipe = fluxPipeline("image-generation", model=DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16).to(device)) image_pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=torch.bfloat16) image_pipe.enable_model_cpu_offload() # Functions for each task def translate_tamil_to_english(text): time.sleep(2) result = translator(text) return result[0]['translation_text'] def summarize_english_text(paragraph): time.sleep(2) summary = summarizer(paragraph, max_length=100, min_length=25, do_sample=False) return summary[0]['summary_text'] def english_text_to_image(text): image = image_pipe(text).images[0] return image # Custom CSS st.markdown(""" """, unsafe_allow_html=True) # Streamlit app layout st.title("🌟Multifunctional AI Application🌟") # Row 1: Tamil to English translation st.subheader("🌐 Translate Tamil to English") tamil_input = st.text_area("Enter Tamil text", "") if st.button("Translate"): english_output = translate_tamil_to_english(tamil_input) st.markdown(f"**Translated English Text**: {english_output}") # Row 2: English paragraph summarization st.subheader("📝 Summarize English Paragraph") english_paragraph = st.text_area("Enter English paragraph", "") if st.button("Summarize"): summary_output = summarize_english_text(english_paragraph) st.markdown(f"**Summary**: {summary_output}") # Row 3: English text to image generation st.subheader("🎨 Generate Image from English Text") image_text = st.text_input("Enter description for image generation", "") if st.button("Generate Image"): generated_image = english_text_to_image(image_text) st.image(generated_image, caption="Generated Image")