import os import gradio as gr from openai import OpenAI client=OpenAI(base_url=os.getenv('OPENAI_BASE_URL'),api_key=os.getenv('OPENAI_API_KEY')) def explain(input: str, lang: str): prompt=f'as a language expert, explain how to express "{input}" in {lang}, answer in plain text concisely, if has some other expressions or examples can be improved understand, append it after a separator "-----".' res=client.chat.completions.create( model="gpt-4o", messages=[{"role":"user","content":prompt}], ) print(res) return res.choices[0].message.content _allow_langs=["English", "Chinese", "Japanese"] demo = gr.Interface( fn=explain, inputs=[ gr.Textbox(label="Concept"), gr.Dropdown(label="Language", choices=_allow_langs, value="English"), ], outputs=[ 'text', ], title="Explainer", description="an easy way to explain a concept in other language, get a better expression.", head='', ) # with gr.Blocks() as demo: # gr.Markdown('# concept explain') # with gr.Row(): # with gr.Column(): # explain_input=gr.Textbox(label="Concept") # explain_lang=gr.Dropdown(label="Language", choices=_allow_langs, value=_allow_langs[0]) # explain_btn=gr.Button("Run", variant="primary") # with gr.Column(): # explain_result=gr.Textbox(label="Result") # explain_btn.click(fn=explain, inputs=[explain_input, explain_lang], outputs=[explain_result]) if __name__=="__main__": demo.launch()