Spaces:
Running
Running
| import os | |
| import openai | |
| import gradio as gr | |
| from gradio.inputs import Dropdown, Snippet | |
| from gradio.outputs import Snippet | |
| # Read the OpenAI API key from the environment variable | |
| openai.api_key = os.environ["OPENAI_API_KEY"] | |
| def translate_code(code, from_language, to_language): | |
| prompt = f"Translate the following {from_language} code to {to_language}:\n{code}\n---\nTranslated code:\n" | |
| response = openai.Completion.create( | |
| engine="davinci-codex", | |
| prompt=prompt, | |
| max_tokens=2000, | |
| n=1, | |
| stop=None, | |
| temperature=0.5, | |
| ) | |
| translated_code = response.choices[0].text.strip() | |
| return translated_code | |
| languages = [ | |
| "Python", | |
| "Javascript", | |
| "PHP", | |
| "Java", | |
| "Ruby", | |
| "Golang", | |
| "C#", | |
| "SQL", | |
| "Perl", | |
| ] | |
| iface = gr.Interface( | |
| fn=translate_code, | |
| inputs=[ | |
| Snippet(lines=20, label="Original Code"), | |
| Dropdown(choices=languages, label="From Language"), | |
| Dropdown(choices=languages, label="To Language"), | |
| ], | |
| outputs=Snippet(lines=20, label="Translated Code"), | |
| title="Code Translator", | |
| description="Translate code between different programming languages using OpenAI.", | |
| ) | |
| iface.launch() |