Spaces:
Build error
Build error
File size: 1,596 Bytes
ef7a859 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
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)
|