sshenai commited on
Commit
154e77d
·
verified ·
1 Parent(s): 039f26a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -12
app.py CHANGED
@@ -1,12 +1,13 @@
1
- # 安装依赖
2
- !pip install datasets sentence-transformers transformers torch
3
-
4
- # 导入库
5
  from datasets import load_dataset
6
  import numpy as np
7
  from sentence_transformers import SentenceTransformer, util
8
  from transformers import pipeline
9
 
 
 
 
10
  # 加载数据集
11
  dataset = load_dataset("Pradeep016/career-guidance-qa-dataset", split="train")
12
  # 过滤无效数据(确保question和answer非空)
@@ -31,6 +32,7 @@ embedder = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
31
  # 预计算知识库嵌入向量
32
  knowledge_embeddings = embedder.encode(knowledge_base, convert_to_tensor=True)
33
 
 
34
  def career_qa(user_input):
35
  # 1. 语义搜索匹配相关职位
36
  input_embedding = embedder.encode(user_input, convert_to_tensor=True)
@@ -55,13 +57,18 @@ def career_qa(user_input):
55
  })
56
  return results
57
 
58
- # 用户输入职业关键词
59
- user_query = "零售经理"
60
- results = career_qa(user_query)
 
 
61
 
62
- # 输出结果
63
- for res in results:
64
- print(f"职位:{res['职位名称']}")
65
- print(f"简介:{res['简介']}")
66
- print(f"置信度:{res['置信度']:.2f}\n")
 
67
 
 
 
 
1
+ # 导入必要的库
2
+ import gradio as gr
 
 
3
  from datasets import load_dataset
4
  import numpy as np
5
  from sentence_transformers import SentenceTransformer, util
6
  from transformers import pipeline
7
 
8
+ # 安装依赖(在Hugging Face Spaces中可省略,若空间环境未预装相关库可保留)
9
+ #!pip install datasets sentence-transformers transformers torch
10
+
11
  # 加载数据集
12
  dataset = load_dataset("Pradeep016/career-guidance-qa-dataset", split="train")
13
  # 过滤无效数据(确保question和answer非空)
 
32
  # 预计算知识库嵌入向量
33
  knowledge_embeddings = embedder.encode(knowledge_base, convert_to_tensor=True)
34
 
35
+ # 智能问答函数
36
  def career_qa(user_input):
37
  # 1. 语义搜索匹配相关职位
38
  input_embedding = embedder.encode(user_input, convert_to_tensor=True)
 
57
  })
58
  return results
59
 
60
+ # Gradio界面定义
61
+ def demo(user_input):
62
+ results = career_qa(user_input)
63
+ output = "\n".join([f"📌 {res['职位名称']}\n{res['简介']}\n" for res in results])
64
+ return output
65
 
66
+ iface = gr.Interface(
67
+ fn=demo,
68
+ inputs=gr.Textbox(label="输入职业关键词(如:零售经理)"),
69
+ outputs=gr.Textbox(label="职位介绍"),
70
+ title="职业咨询智能问答",
71
+ )
72
 
73
+ if __name__ == "__main__":
74
+ iface.launch()