Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -32,7 +32,7 @@ def get_extraction_config():
|
|
| 32 |
]
|
| 33 |
return prompt_description, examples
|
| 34 |
|
| 35 |
-
# --- 2. Gradio 的核心处理函数 (
|
| 36 |
def process_input_and_visualize(input_text, input_file):
|
| 37 |
"""
|
| 38 |
接收文本或文件输入,解析内容,调用 LangExtract 的高级功能进行处理,并返回结果。
|
|
@@ -109,7 +109,12 @@ def process_input_and_visualize(input_text, input_file):
|
|
| 109 |
jsonl_filename = f"extraction_{session_id}.jsonl"
|
| 110 |
jsonl_path = os.path.join(output_dir, jsonl_filename)
|
| 111 |
html_path = os.path.join(output_dir, f"visualization_{session_id}.html")
|
| 112 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 113 |
html_content = lx.visualize(jsonl_path)
|
| 114 |
with open(html_path, "w", encoding="utf-8") as f:
|
| 115 |
f.write(html_content)
|
|
@@ -117,7 +122,7 @@ def process_input_and_visualize(input_text, input_file):
|
|
| 117 |
return highlighted_text, structured_output, html_path, html_path, jsonl_path
|
| 118 |
|
| 119 |
|
| 120 |
-
# --- 3. 创建 Gradio 应用界面 (
|
| 121 |
with gr.Blocks(theme=gr.themes.Soft(), title="药物信息提取器") as demo:
|
| 122 |
gr.Markdown("# ⚕️ LangExtract 药物信息提取器")
|
| 123 |
gr.Markdown("一个基于大型语言模型的智能工具,可从**临床文本**或 **PDF 文件**中自动提取药物、剂量等信息,并进行结构化关联。")
|
|
@@ -152,13 +157,8 @@ with gr.Blocks(theme=gr.themes.Soft(), title="药物信息提取器") as demo:
|
|
| 152 |
with gr.TabItem("📁 文件下载"):
|
| 153 |
gr.Markdown("### 下载提取结果")
|
| 154 |
download_html = gr.File(label="下载交互式 HTML 文件")
|
| 155 |
-
# 这是我们定义的用于接收 JSONL 文件的 Gradio 组件
|
| 156 |
download_jsonl = gr.File(label="下载 JSONL 数据文件")
|
| 157 |
|
| 158 |
-
# --- 关键修复 ---
|
| 159 |
-
# 原代码错误: ... outputs=[..., jsonl_path]
|
| 160 |
-
# 正确代码: ... outputs=[..., download_jsonl]
|
| 161 |
-
# 必须引用在上面 Blocks 布局中定义的 Gradio 组件变量。
|
| 162 |
submit_btn.click(
|
| 163 |
fn=process_input_and_visualize,
|
| 164 |
inputs=[input_textbox, input_file_uploader],
|
|
|
|
| 32 |
]
|
| 33 |
return prompt_description, examples
|
| 34 |
|
| 35 |
+
# --- 2. Gradio 的核心处理函数 (已修复) ---
|
| 36 |
def process_input_and_visualize(input_text, input_file):
|
| 37 |
"""
|
| 38 |
接收文本或文件输入,解析内容,调用 LangExtract 的高级功能进行处理,并返回结果。
|
|
|
|
| 109 |
jsonl_filename = f"extraction_{session_id}.jsonl"
|
| 110 |
jsonl_path = os.path.join(output_dir, jsonl_filename)
|
| 111 |
html_path = os.path.join(output_dir, f"visualization_{session_id}.html")
|
| 112 |
+
|
| 113 |
+
# --- 关键修复:修正函数名的拼写错误 ---
|
| 114 |
+
# 错误: lx.io.save_annot_ated_documents(...)
|
| 115 |
+
# 正确: lx.io.save_annotated_documents(...)
|
| 116 |
+
lx.io.save_annotated_documents([result], output_name=jsonl_filename, output_dir=output_dir)
|
| 117 |
+
|
| 118 |
html_content = lx.visualize(jsonl_path)
|
| 119 |
with open(html_path, "w", encoding="utf-8") as f:
|
| 120 |
f.write(html_content)
|
|
|
|
| 122 |
return highlighted_text, structured_output, html_path, html_path, jsonl_path
|
| 123 |
|
| 124 |
|
| 125 |
+
# --- 3. 创建 Gradio 应用界面 (保持不变) ---
|
| 126 |
with gr.Blocks(theme=gr.themes.Soft(), title="药物信息提取器") as demo:
|
| 127 |
gr.Markdown("# ⚕️ LangExtract 药物信息提取器")
|
| 128 |
gr.Markdown("一个基于大型语言模型的智能工具,可从**临床文本**或 **PDF 文件**中自动提取药物、剂量等信息,并进行结构化关联。")
|
|
|
|
| 157 |
with gr.TabItem("📁 文件下载"):
|
| 158 |
gr.Markdown("### 下载提取结果")
|
| 159 |
download_html = gr.File(label="下载交互式 HTML 文件")
|
|
|
|
| 160 |
download_jsonl = gr.File(label="下载 JSONL 数据文件")
|
| 161 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 162 |
submit_btn.click(
|
| 163 |
fn=process_input_and_visualize,
|
| 164 |
inputs=[input_textbox, input_file_uploader],
|