Spaces:
Sleeping
Sleeping
| import openai | |
| import gradio as gr | |
| def translate_text(api_key, text, target_language, context): | |
| if not api_key: | |
| return "⚠️ Please enter your OpenAI API key." | |
| if not text or not target_language: | |
| return "⚠️ Please enter text and choose language." | |
| try: | |
| client = openai.OpenAI(api_key=api_key) | |
| prompt = f"Given the context: {context}\nTranslate to {target_language}:\n{text}" if context else f"Translate to {target_language}:\n{text}" | |
| response = client.chat.completions.create( | |
| model="gpt-3.5-turbo", | |
| messages=[ | |
| {"role": "system", "content": "You are a helpful translator."}, | |
| {"role": "user", "content": prompt} | |
| ] | |
| ) | |
| return response.choices[0].message.content.strip() | |
| except Exception as e: | |
| return f"❌ Error: {str(e)}" | |
| iface = gr.Interface( | |
| fn=translate_text, | |
| inputs=[ | |
| gr.Textbox(label="🔑 OpenAI API Key", type="password", placeholder="sk-..."), | |
| gr.Textbox(label="📝 Text to translate"), | |
| gr.Dropdown(["Persian", "English"], label="🌐 Target Language"), | |
| gr.Textbox(label="📚 Context (optional)", placeholder="مثلاً زمینه ترجمه: متنی رسمی، چت دوستانه و غیره") | |
| ], | |
| outputs="text", | |
| title="🤖 AI Translation Agent", | |
| description="🌍 ترجمه با استفاده از GPT-3.5 با پشتیبانی از زمینه دلخواه \n\nبرای استفاده، کلید OpenAI API خود را وارد کنید." | |
| ) | |
| if __name__ == "__main__": | |
| iface.launch() |