Spaces:
Sleeping
Sleeping
import os | |
import openai | |
import streamlit as st | |
# Set up OpenAI API key | |
openai.api_key = os.getenv("OPENAI_KEY") | |
# Supported languages | |
languages = ['English', 'French', 'Spanish', 'Hindi', 'Punjabi'] | |
# Streamlit app | |
def main(): | |
st.title("Language Translator") | |
# User input for input language | |
input_language = st.selectbox("Select Input Language", languages) | |
# User input for output language | |
output_language = st.selectbox("Select Output Language", languages) | |
# Text input box for user to input text | |
input_text = st.text_area("Enter the text to translate") | |
if st.button("Translate"): | |
if input_text.strip() == "": | |
st.error("Please enter some text to translate.") | |
elif input_language == output_language: | |
st.warning("Input and output languages are the same. Please select different languages.") | |
else: | |
# Perform translation | |
translation = translate_text(input_text, input_language, output_language) | |
st.success("Translation:") | |
st.write(translation) | |
# Function to translate text using GPT-3.5 | |
def translate_text(text, input_language, output_language): | |
prompt = f"Translate the following from {input_language} to {output_language}:\n\n{text}" | |
response = openai.Completion.create( | |
model="gpt-3.5-turbo", | |
prompt=prompt, | |
max_tokens=500, | |
temperature=0.3 | |
) | |
translation = response.choices[0].text.strip() | |
return translation | |
if __name__ == "__main__": | |
main() | |