|
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.">', |
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__=="__main__": |
|
demo.launch() |
|
|