Spaces:
Sleeping
Sleeping
| import os | |
| import gradio as gr | |
| import requests | |
| # Get GROQ API key from Hugging Face secret | |
| GROQ_API_KEY = os.getenv("GROQ_API_KEY") | |
| API_URL = "https://api.groq.com/openai/v1/chat/completions" | |
| LANGUAGES = [ | |
| "Urdu", "Hindi", "Arabic", "Spanish", "French", "German", | |
| "Chinese", "Japanese", "Korean", "Turkish", "Italian", "Russian" | |
| ] | |
| def translate_text(text, target_language): | |
| headers = { | |
| "Authorization": f"Bearer {GROQ_API_KEY}", | |
| "Content-Type": "application/json" | |
| } | |
| prompt = f"""Translate the following English text into {target_language}: | |
| English: "{text}" | |
| {target_language}:""" | |
| payload = { | |
| "model": "llama3-70b-8192", | |
| "messages": [ | |
| {"role": "system", "content": "You are a helpful assistant that translates English into other languages."}, | |
| {"role": "user", "content": prompt} | |
| ], | |
| "temperature": 0.3 | |
| } | |
| try: | |
| response = requests.post(API_URL, headers=headers, json=payload) | |
| if response.status_code != 200: | |
| return f"β API Error {response.status_code}: {response.text}" | |
| result = response.json() | |
| if "choices" in result: | |
| return result["choices"][0]["message"]["content"].strip() | |
| else: | |
| return f"β Unexpected response format: {result}" | |
| except Exception as e: | |
| return f"β Exception occurred: {str(e)}" | |
| # Gradio UI | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## π English Text Translator using GROQ API") | |
| gr.Markdown("Translate English into your chosen language.") | |
| with gr.Row(): | |
| input_text = gr.Textbox(label="βοΈ Enter English text", lines=4, placeholder="Type something...") | |
| output_text = gr.Textbox(label="π€ Translated Text", lines=4) | |
| language_dropdown = gr.Dropdown(choices=LANGUAGES, label="π Choose Target Language") | |
| translate_btn = gr.Button("π Translate") | |
| translate_btn.click(translate_text, inputs=[input_text, language_dropdown], outputs=output_text) | |
| demo.launch() | |