Heyyaha commited on
Commit
383862f
·
verified ·
1 Parent(s): 3ca665c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -10
app.py CHANGED
@@ -20,8 +20,7 @@ def extract_task_from_jd(jd):
20
 
21
  JD: {jd}"""
22
  response = taskgen_client.predict(message=message, api_name="/chat")
23
- task_match = re.search(r"任务[::](.*)", response)
24
- return task_match.group(1).strip() if task_match else "任务解析失败"
25
 
26
  # 基于任务生成三个解决方案
27
  def generate_solutions_from_task(task):
@@ -33,10 +32,13 @@ def generate_solutions_from_task(task):
33
 
34
  任务: {task}"""
35
  response = taskgen_client.predict(message=message, api_name="/chat")
36
- solutions = re.findall(r"方案[123][::](.*)", response)
37
- s1 = solutions[0].strip() if len(solutions) > 0 else "方案1解析失败"
38
- s2 = solutions[1].strip() if len(solutions) > 1 else "方案2解析失败"
39
- s3 = solutions[2].strip() if len(solutions) > 2 else "方案3解析失败"
 
 
 
40
  return s1, s2, s3
41
 
42
  # 构建 Gradio UI
@@ -45,13 +47,13 @@ def build_ui():
45
  gr.Markdown("## 📌 JD 任务拆解 + 解决方案选择 Demo")
46
 
47
  jd_input = gr.Textbox(label="输入 JD", placeholder="请输入岗位描述 JD")
48
- task_output = gr.Textbox(label="拆解出的测试任务", interactive=False)
49
  generate_task_btn = gr.Button("🧠 拆解 JD 成任务")
50
 
51
  generate_solutions_btn = gr.Button("🚀 基于任务生成三个方案")
52
- sol1 = gr.Textbox(label="方案1", interactive=False)
53
- sol2 = gr.Textbox(label="方案2", interactive=False)
54
- sol3 = gr.Textbox(label="方案3", interactive=False)
55
 
56
  select_radio = gr.Radio(choices=["1", "2", "3"], label="请选择你最满意的解决方案编号")
57
  user_solution = gr.Textbox(lines=4, label="📄 或者填写你自己的解决方案(可选)")
 
20
 
21
  JD: {jd}"""
22
  response = taskgen_client.predict(message=message, api_name="/chat")
23
+ return response.strip() # 直接返回原始响应内容,便于调试
 
24
 
25
  # 基于任务生成三个解决方案
26
  def generate_solutions_from_task(task):
 
32
 
33
  任务: {task}"""
34
  response = taskgen_client.predict(message=message, api_name="/chat")
35
+ # fallback:若正则提取失败,直接展示原始响应
36
+ solutions = re.findall(r"方案[123][::]\s*(.*)", response)
37
+ if len(solutions) < 3:
38
+ return response.strip(), "(解析失败,显示原始回复)", ""
39
+ s1 = solutions[0].strip()
40
+ s2 = solutions[1].strip()
41
+ s3 = solutions[2].strip()
42
  return s1, s2, s3
43
 
44
  # 构建 Gradio UI
 
47
  gr.Markdown("## 📌 JD 任务拆解 + 解决方案选择 Demo")
48
 
49
  jd_input = gr.Textbox(label="输入 JD", placeholder="请输入岗位描述 JD")
50
+ task_output = gr.Textbox(label="拆解出的测试任务", lines=2, interactive=False)
51
  generate_task_btn = gr.Button("🧠 拆解 JD 成任务")
52
 
53
  generate_solutions_btn = gr.Button("🚀 基于任务生成三个方案")
54
+ sol1 = gr.Textbox(label="方案1 / 或原始回复", lines=4, interactive=False)
55
+ sol2 = gr.Textbox(label="方案2", lines=4, interactive=False)
56
+ sol3 = gr.Textbox(label="方案3", lines=4, interactive=False)
57
 
58
  select_radio = gr.Radio(choices=["1", "2", "3"], label="请选择你最满意的解决方案编号")
59
  user_solution = gr.Textbox(lines=4, label="📄 或者填写你自己的解决方案(可选)")