import os import openai import gradio as gr # 환경 변수에 저장된 API 키 사용 openai.api_key = os.getenv("OPENAI_API_KEY") def call_api(content, system_message, max_tokens=1024, temperature=0.2, top_p=1.0): """ gpt-4o-mini 모델에 사용자 입력을 보내고 번역 결과를 받아온다. """ response = openai.ChatCompletion.create( model="gpt-4o-mini", messages=[ {"role": "system", "content": system_message}, {"role": "user", "content": content}, ], max_tokens=max_tokens, temperature=temperature, top_p=top_p, ) return response.choices[0].message['content'] def translate_english_to_korean(code_text): """ 영어로 작성된 코드나 설명을 자연스럽게 한국어로 옮긴다. """ system_msg = ( "You are a professional translator who accurately conveys English code " "comments and explanations into smooth, natural Korean. Preserve code syntax " "while ensuring natural readability." ) return call_api(code_text, system_msg) def main(): """ Gradio 인터페이스 실행 """ interface = gr.Interface( fn=translate_english_to_korean, inputs=gr.Textbox(lines=10, label="영어 코드 입력"), outputs=gr.Textbox(lines=10, label="번역 결과"), title="코드 영어 -> 한국어 번역기", description="영어로 작성된 코드를 자연스럽게 한국어로 옮겨주는 간단한 도구입니다." ) interface.launch(server_name="0.0.0.0", server_port=7860) if __name__ == "__main__": main()