File size: 3,713 Bytes
8bc2ac8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import numpy as np
import plotly.graph_objects as go


def draw_radar_chart(data, categories):
    arr = np.array(data, dtype='int')
    fig = go.Figure()
    fig.add_trace(go.Scatterpolar(
        r=arr,
        theta=categories,
        fill='toself'
    ))
    fig.update_layout(
        polar=dict(
            radialaxis=dict(
                visible=True,
                range=(0, 100)
            )),
        showlegend=False
    )
    return fig


def draw_multi_radar_chart(data, categories):
    # arr = np.array(data, dtype='int')
    # categories = ['A', 'B', 'C', 'D', 'E']

    fig = go.Figure()
    for arr in data:
        fig.add_trace(go.Scatterpolar(
            r=arr,
            theta=categories,
            fill='toself'
        ))

    fig.update_layout(
        polar=dict(
            radialaxis=dict(
                visible=True,
                range=(0, 100)
            )),
        showlegend=False
    )

    return fig


def extract_json(s):
    import re

    # 假设这是你的字符串
    # s = '```json\n{ "key": "value" }\n```'

    # 使用正则表达式匹配```json和```之间的内容
    match = re.search(r'```json\s*(.*?)```', s, re.DOTALL)

    # 如果找到了匹配的内容,打印出来
    if match:
        return match.group(1)

if __name__ == '__main__':
    arr = np.array([[80, 90,90,90,],[80, 90,90,90,]],dtype='int')
    categories = ['A', 'B', 'C', 'D']
    print(draw_multi_radar_chart(arr,categories))
    s = '''
    根据您的要求,以下是根据候选人的简历从[教育背景、工作经验、技能特长、项目经历和成果、领导力和管理能力、自我学习和发展能力、沟通和协作能力、岗位匹配度]这八个维度进行打分,并给出相应的打分理由:
```json
{
    "教育背景": {
        "评价": "良好",
        "打分理由": "候选人毕业于清华大学,属于985、211大学,符合优秀教育背景的要求"
    },
    "工作经验": {
        "评价": "一般",
        "打分理由": "候选人在百度公司担任算法工程师,但工作时间较短,只有两年多的工作经验,表现一般"
    },
    "技能特长": {
        "评价": "优秀",
        "打分理由": "候选人掌握多种编程语言和工具,具备扎实的计算机基础知识,掌握算法和数据结构,具备较强的编程能力,掌握机器学习和深度学习的相关技能,具备自然语言处理、数据挖掘等相关技能"
    },
    "项目经历和成果": {
        "评价": "优秀",
        "打分理由": "候选人参与了中文分词、文本分类等项目的开发工作,并取得了良好的效果,具备解决问题和团队合作能力,取得了显著的项目成果"
    },
    "领导力和管理能力": {
        "评价": "优秀",
        "打分理由": "候选人在百度公司担任算法工程师期间,负责自然语言处理算法的研究与实现,参与了公司某项重要项目的开发过程,为项目提供了高质量的算法支持,具备优秀的领导力和管理能力,曾成功承担过领导职责或项目管理职务"
    },
    "自我学习和发展能力": {
        "评价": "100",
        "打分理由": "候选人具有较强的学习意愿和能力,具备积极主动地学习和扩充知识的意愿和能力,持续学习并不断提升自己"
    },
    "沟通和协作能力": {
        "评价": "一般",
        "打分理由": "候选人在简历中提到具备一些沟通和协作能力,但简历中描述有限,能够与他人有效地进行交流和合作,但不够积极主动"
    },
    "岗位匹配度": "高"
}
```
    '''
    print(extract_json(s))