Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import requests | |
| import os | |
| # Load API key from environment variable | |
| GROQ_API_KEY = os.getenv("Trans_Groq_API_Key") | |
| def translate_text(input_text, target_language): | |
| headers = { | |
| "Authorization": f"Bearer {GROQ_API_KEY}", | |
| "Content-Type": "application/json" | |
| } | |
| prompt = ( | |
| f"Detect the language of the following text and translate it accurately to {target_language}:\n\n" | |
| f"Text: \"{input_text}\"\n\n" | |
| f"Translated Text:" | |
| ) | |
| data = { | |
| "model": "llama3-8b-8192", | |
| "messages": [ | |
| {"role": "user", "content": prompt} | |
| ], | |
| "temperature": 0.2, | |
| "max_tokens": 250 | |
| } | |
| response = requests.post("https://api.groq.com/openai/v1/chat/completions", headers=headers, json=data) | |
| if response.status_code == 200: | |
| return response.json()['choices'][0]['message']['content'].strip() | |
| else: | |
| return f"Error: {response.status_code}\n{response.text}" | |
| interface = gr.Interface( | |
| fn=translate_text, | |
| inputs=[ | |
| gr.Textbox(lines=4, label="Enter Text (Any Language)"), | |
| gr.Dropdown( | |
| choices=[ | |
| "English", "Urdu", "Hindi", "Spanish", "French", "German", "Chinese", | |
| "Arabic", "Russian", "Italian", "Japanese", "Korean", "Portuguese", "Turkish" | |
| ], | |
| label="Translate To" | |
| ) | |
| ], | |
| outputs=gr.Textbox(label="Translated Text"), | |
| title="🌐 AI Translator with Groq", | |
| description="Translate text from any language to your selected language using LLaMA 3 via Groq." | |
| ) | |
| interface.launch() | |