Heyyaha commited on
Commit
421ff3c
·
verified ·
1 Parent(s): 12a01f5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -2
app.py CHANGED
@@ -3,12 +3,12 @@ import os
3
  from datetime import datetime
4
  from gradio_client import Client
5
  import re
6
- import uuid
7
  import json
8
 
9
- # 初始化任务生成客户端(改为 Qwen 模型)
10
  taskgen_client = Client("Qwen/QwQ-32B-Demo")
11
 
 
12
  OUTPUT_DIR = "outputs"
13
  os.makedirs(OUTPUT_DIR, exist_ok=True)
14
 
@@ -45,33 +45,41 @@ def build_ui():
45
  with gr.Blocks() as demo:
46
  gr.Markdown("## 📌 JD 任务拆解 + 解决方案选择 Demo")
47
 
 
48
  jd_input = gr.Textbox(label="输入 JD", placeholder="请输入岗位描述 JD")
49
  task_output = gr.Textbox(label="拆解出的测试任务", lines=2, interactive=False)
50
  generate_task_btn = gr.Button("🧠 拆解 JD 成任务")
51
 
 
52
  generate_solutions_btn = gr.Button("🚀 基于任务生成三个方案")
53
  sol1 = gr.Textbox(label="方案1 / 或原始回复", lines=10, interactive=False)
54
  sol2 = gr.Textbox(label="方案2", lines=10, interactive=False)
55
  sol3 = gr.Textbox(label="方案3", lines=10, interactive=False)
56
 
 
57
  select_radio = gr.Radio(choices=["1", "2", "3"], label="请选择你最满意的解决方案编号")
58
 
 
59
  comment = gr.Textbox(lines=4, label="📝 请对选择的方案填写选择理由或批注该方案的优缺点")
60
  user_solution = gr.Textbox(lines=6, label="📄 填写你自己的解决方案(可选)")
61
 
 
62
  submit = gr.Button("✅ 提交 RLHF 数据")
63
  feedback = gr.Textbox(label="系统反馈", interactive=False)
64
 
65
  task_state = gr.State()
66
 
 
67
  def handle_task_gen(jd_text):
68
  task = extract_task_from_jd(jd_text)
69
  return task, task
70
 
 
71
  def handle_solutions_gen(task_text):
72
  s1, s2, s3 = generate_solutions_from_task(task_text)
73
  return s1, s2, s3
74
 
 
75
  def handle_submit(selected_idx, user_input_text, comment_text, task_text):
76
  record = {
77
  "task": task_text,
@@ -88,6 +96,7 @@ def build_ui():
88
  except Exception as e:
89
  return f"❌ 保存失败:{str(e)}"
90
 
 
91
  generate_task_btn.click(fn=handle_task_gen, inputs=[jd_input], outputs=[task_output, task_state])
92
  generate_solutions_btn.click(fn=handle_solutions_gen, inputs=[task_state], outputs=[sol1, sol2, sol3])
93
  submit.click(fn=handle_submit, inputs=[select_radio, user_solution, comment, task_state], outputs=[feedback])
 
3
  from datetime import datetime
4
  from gradio_client import Client
5
  import re
 
6
  import json
7
 
8
+ # 初始化任务生成客户端,使用 Qwen 模型
9
  taskgen_client = Client("Qwen/QwQ-32B-Demo")
10
 
11
+ # 输出文件夹
12
  OUTPUT_DIR = "outputs"
13
  os.makedirs(OUTPUT_DIR, exist_ok=True)
14
 
 
45
  with gr.Blocks() as demo:
46
  gr.Markdown("## 📌 JD 任务拆解 + 解决方案选择 Demo")
47
 
48
+ # 输入岗位描述 JD
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
+ # 生成解决方案按钮
54
  generate_solutions_btn = gr.Button("🚀 基于任务生成三个方案")
55
  sol1 = gr.Textbox(label="方案1 / 或原始回复", lines=10, interactive=False)
56
  sol2 = gr.Textbox(label="方案2", lines=10, interactive=False)
57
  sol3 = gr.Textbox(label="方案3", lines=10, interactive=False)
58
 
59
+ # 选择最满意的方案编号
60
  select_radio = gr.Radio(choices=["1", "2", "3"], label="请选择你最满意的解决方案编号")
61
 
62
+ # 用户对选择方案的评论
63
  comment = gr.Textbox(lines=4, label="📝 请对选择的方案填写选择理由或批注该方案的优缺点")
64
  user_solution = gr.Textbox(lines=6, label="📄 填写你自己的解决方案(可选)")
65
 
66
+ # 提交按钮
67
  submit = gr.Button("✅ 提交 RLHF 数据")
68
  feedback = gr.Textbox(label="系统反馈", interactive=False)
69
 
70
  task_state = gr.State()
71
 
72
+ # 处理 JD 拆解成任务
73
  def handle_task_gen(jd_text):
74
  task = extract_task_from_jd(jd_text)
75
  return task, task
76
 
77
+ # 生成解决方案
78
  def handle_solutions_gen(task_text):
79
  s1, s2, s3 = generate_solutions_from_task(task_text)
80
  return s1, s2, s3
81
 
82
+ # 提交 RLHF 数据
83
  def handle_submit(selected_idx, user_input_text, comment_text, task_text):
84
  record = {
85
  "task": task_text,
 
96
  except Exception as e:
97
  return f"❌ 保存失败:{str(e)}"
98
 
99
+ # 按钮点击事件
100
  generate_task_btn.click(fn=handle_task_gen, inputs=[jd_input], outputs=[task_output, task_state])
101
  generate_solutions_btn.click(fn=handle_solutions_gen, inputs=[task_state], outputs=[sol1, sol2, sol3])
102
  submit.click(fn=handle_submit, inputs=[select_radio, user_solution, comment, task_state], outputs=[feedback])