Uynaity's picture
Upload folder using huggingface_hub
ef7a859 verified
import os
import deepl
import gradio as gr
from main import retrieve, generate, State
deepl_client = deepl.DeepLClient(os.getenv("DEEPL_AUTH_KEY"))
LANGUAGES = {"中文": "ZH-Hans", "英语": "EN-US"}
def query_model(question: str, target_lang: str) -> str:
trans_question = str(deepl_client.translate_text(question, target_lang="EN-US"))
state = State(question=trans_question, context=[], answer="")
print(f"Question: {state['question']}\n")
retrieved_state = retrieve(state)
state.update(retrieved_state)
print(f"Retrieved {len(state['context'])} documents\n")
for doc in state["context"]:
print(doc.page_content, "\n")
generated_state = generate(state)
state.update(generated_state)
if target_lang == "EN-US":
return state["answer"]
else:
return str(deepl_client.translate_text(state["answer"], target_lang=target_lang))
iface = gr.Interface(fn=query_model,
inputs=[gr.Textbox(label="输入你的问题", lines=2, placeholder="我想学机器学习,应该学哪些课程?"),
gr.Dropdown(choices=[(k, v) for k, v in LANGUAGES.items()], label="小克的回复语言...",
allow_custom_value=False, value=LANGUAGES["英语"]), ],
outputs=gr.Textbox(label="小克的回答", lines=9), title="RIC课程小助手",
description="问一些关于课程的问题,然后等待小克的回答!", flagging_mode="never")
iface.launch(share=False)