text-guy / app.py
pbolo's picture
Update app.py
91d188a verified
raw
history blame
1.64 kB
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='<meta name="description" content="explain a concept in other language, get a better expression.">',
)
# 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()