Update app.py
Browse files
app.py
CHANGED
|
@@ -89,6 +89,7 @@ def load_file(file_obj):
|
|
| 89 |
|
| 90 |
return f"已加载 {len(docs)} 个文本块", None
|
| 91 |
|
|
|
|
| 92 |
def rag_query(query):
|
| 93 |
if index is None or not docs:
|
| 94 |
return "请先上传文件并构建知识库"
|
|
@@ -102,27 +103,32 @@ def rag_query(query):
|
|
| 102 |
|
| 103 |
问题:{query}
|
| 104 |
|
| 105 |
-
输出
|
| 106 |
-
|
| 107 |
-
2
|
| 108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
"""
|
| 110 |
|
| 111 |
-
result = generator(prompt, max_length=
|
| 112 |
answer = result[0]["generated_text"]
|
| 113 |
|
| 114 |
-
return
|
| 115 |
-
|
| 116 |
|
| 117 |
# ===== Gradio 界面 =====
|
| 118 |
with gr.Blocks() as demo:
|
| 119 |
-
gr.Markdown("## 📚 完整性增强版 RAG(PDF/TXT/EPUB 支持 + 引用
|
| 120 |
with gr.Row():
|
| 121 |
file_input = gr.File(label="上传 PDF / TXT / EPUB 文件")
|
| 122 |
load_btn = gr.Button("构建知识库")
|
| 123 |
status = gr.Textbox(label="状态")
|
| 124 |
query_input = gr.Textbox(label="输入你的问题")
|
| 125 |
-
answer_output = gr.Textbox(label="回答", lines=
|
| 126 |
load_btn.click(load_file, inputs=file_input, outputs=status)
|
| 127 |
query_input.submit(rag_query, inputs=query_input, outputs=answer_output)
|
| 128 |
|
|
|
|
| 89 |
|
| 90 |
return f"已加载 {len(docs)} 个文本块", None
|
| 91 |
|
| 92 |
+
# ===== RAG 查询 =====
|
| 93 |
def rag_query(query):
|
| 94 |
if index is None or not docs:
|
| 95 |
return "请先上传文件并构建知识库"
|
|
|
|
| 103 |
|
| 104 |
问题:{query}
|
| 105 |
|
| 106 |
+
请严格按照以下格式输出:
|
| 107 |
+
【结论】
|
| 108 |
+
用 2-3 句话总结所有引用片段的关键信息,形成一个完整结论。
|
| 109 |
+
|
| 110 |
+
【详细说明】
|
| 111 |
+
整合所有引用片段的细节,分段描述,并在每个关键信息后标注引用编号。
|
| 112 |
+
无法回答时直接说“我不知道”。
|
| 113 |
+
|
| 114 |
+
【引用片段】
|
| 115 |
+
逐条列出引用编号及对应的原文。
|
| 116 |
"""
|
| 117 |
|
| 118 |
+
result = generator(prompt, max_length=800, do_sample=False)
|
| 119 |
answer = result[0]["generated_text"]
|
| 120 |
|
| 121 |
+
return answer
|
|
|
|
| 122 |
|
| 123 |
# ===== Gradio 界面 =====
|
| 124 |
with gr.Blocks() as demo:
|
| 125 |
+
gr.Markdown("## 📚 完整性增强版 RAG(PDF/TXT/EPUB 支持 + 结论 + 引用)")
|
| 126 |
with gr.Row():
|
| 127 |
file_input = gr.File(label="上传 PDF / TXT / EPUB 文件")
|
| 128 |
load_btn = gr.Button("构建知识库")
|
| 129 |
status = gr.Textbox(label="状态")
|
| 130 |
query_input = gr.Textbox(label="输入你的问题")
|
| 131 |
+
answer_output = gr.Textbox(label="回答", lines=15)
|
| 132 |
load_btn.click(load_file, inputs=file_input, outputs=status)
|
| 133 |
query_input.submit(rag_query, inputs=query_input, outputs=answer_output)
|
| 134 |
|