Spaces:
Build error
Build error
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) | |