File size: 4,715 Bytes
22be37d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# NOTE: The _format variables may be useful for testing the beta of Cohere's structured output endpoints.

cv_format = {
    "type": "object",
    "required": [
        "name",
        "roles",
        "projects",
        "languages",
        "packages",
        "tools",
        "qualifications",
        "responsibilities",
    ],
    "properties": {
        "name": {"type": "string"},
        "roles": {"type": "list"},
        "projects": {"type": "list"},
        "languages": {"type": "list"},
        "packages": {"type": "list"},
        "tools": {"type": "list"},
        "qualifications": {"type": "list"},
        "responsibilities": {"type": "list"},
    },
}


cv_extract_prompt = """
You are an expert at extracting information from CVs

**Goal**
For a given CV, you must extract structured information and present it to the user in json form

**Input**
<input-cv>

**Output Format**
You will respond with a json object, in the form given. 
You will ensure that you are concise.

{
    "name": ,
    "roles": [],
    "projects": [],
    "languages": [],
    "packages": [],
    "tools": [],
    "qualifications": [] ,
    "responsibilities": [],
}

**Guidance**

- languages: programming languages mentioned in the CV. Each should be tagged with a number between 1 and 5. 5 suggests they must be fully fluent, 1 suggests they may have some experience. If the CV does not indicate the level of required experience, approximate it, and if no information at all is given put 3 
- packages: specific packages mentioned in the CV. Each package should be tagged with a number between 1 and 5, 5 suggesting fully fluent and 1 suggesting just tried it once. Use your best judgement to gauge the individual's level of understanding.
- tools: a list of other tools the individual has experience with
- qualifications: of form [{"type": , "grade": ,"location": }] where type is the qualification type identified. Available Education Levels are: bsc,msc,phd. grade should be the grade achieved (number between 0 and 100. Make relevant conversions, if no number is given, assume 60). location is the location of where the education was taken.
- responsibilities: an extensive list of the responsibilities demonstrated in the CV. 

You will now respond clearly, only responding with the desired json output. 
"""

job_posting_format = {
    "type": "object",
    "required": [
        "companyName",
        "roleShortDesc",
        "roleLongDesc",
        "requiredExperience",
        "languages",
        "packages",
        "tools",
        "qualifications",
        "responsibilities",
    ],
    "properties": {
        "name": {"type": "string"},
        "roleShortDesc": {"type": "string"},
        "roleLongDesc": {"type": "string"},
        "requiredExperience": {"type": "list"},
        "languages": {"type": "list"},
        "packages": {"type": "list"},
        "tools": {"type": "list"},
        "qualifications": {"type": "list"},
        "responsibilities": {"type": "list"},
    },
}

job_posting_extract_prompt = """
You are an expert at extracting information from job postings

**Goal**
For a given job posting, you must extract structured information and present it to the user

**Input**
<job-posting>

**Output Format**
You will respond with a json object, in the form given. 
You will ensure that you are concise.

{
    "companyName": ,
    "roleShortDesc": ,
    "roleLongDesc": ,
    "requiredExperience": [],
    "languages": [],
    "packages": [],
    "tools": [],
    "qualifications": [] ,
    "responsibilities": [],
}

**Guidance**
- roleShortDesc should be one sentence only
- requiredExperience: a standaredized list of items, each item should be at most one short sentence
- languages: programming languages mentioned in the post. Each should be tagged with a number between 1 and 5. 5 suggests they must be fully fluent, 1 suggests they may have some experience. If the job does not indicate the level of required experience, put 3 
- packages: specific packages mentioned in the post. Each package should be tagged with a number between 1 and 5, 5 suggesting fully fluent and 1 suggesting just tried it once. If no level is given, assume level 3
- tools: a list of other tools that would be useful to know
- qualifications: of form [{"type": , "strictness": }] where type is the qualification type identified, and strictness is your approximation of how strict the job posting suggests the requirement is. 1 being not strict at all, 5 being absolute necessity. Available Education Levels are: bsc,msc,phd.  
- responsibilities: an extensive list of the responsibilities given in the advert. 

You will now respond clearly, only responding with the desired json output. 
"""