FilipinosRich commited on
Commit
0478601
2 Parent(s): 245ba2a 5f111f9

Merge pull request #2 from drift-ai/feature/test_at_scale

Browse files
Files changed (5) hide show
  1. Pipfile +3 -0
  2. Pipfile.lock +125 -237
  3. app.py +1 -2
  4. recruiting_assistant.py +20 -3
  5. test.py +166 -0
Pipfile CHANGED
@@ -8,6 +8,9 @@ gradio = "*"
8
  requests = "*"
9
  openai = "*"
10
  langchain = "*"
 
 
 
11
 
12
  [dev-packages]
13
 
 
8
  requests = "*"
9
  openai = "*"
10
  langchain = "*"
11
+ boto3 = "*"
12
+ utils = "*"
13
+ s3fs = "*"
14
 
15
  [dev-packages]
16
 
Pipfile.lock CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "_meta": {
3
  "hash": {
4
- "sha256": "e2a6b8196a8b1ec1b6f7422d0635c013e90cf416eb4eaaeab5cf71f2faa75879"
5
  },
6
  "pipfile-spec": 6,
7
  "requires": {
@@ -133,14 +133,6 @@
133
  "markers": "python_version >= '3.7'",
134
  "version": "==5.0.1"
135
  },
136
- "annotated-types": {
137
- "hashes": [
138
- "sha256:47cdc3490d9ac1506ce92c7aaa76c579dc3509ff11e098fc867e5130ab7be802",
139
- "sha256:58da39888f92c276ad970249761ebea80ba544b77acddaa1a4d6cf78287d45fd"
140
- ],
141
- "markers": "python_version >= '3.7'",
142
- "version": "==0.5.0"
143
- },
144
  "anyio": {
145
  "hashes": [
146
  "sha256:44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780",
@@ -154,7 +146,7 @@
154
  "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15",
155
  "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
156
  ],
157
- "markers": "python_version < '3.11'",
158
  "version": "==4.0.2"
159
  },
160
  "attrs": {
@@ -165,13 +157,29 @@
165
  "markers": "python_version >= '3.7'",
166
  "version": "==23.1.0"
167
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  "certifi": {
169
  "hashes": [
170
- "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7",
171
- "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
172
  ],
173
  "markers": "python_version >= '3.6'",
174
- "version": "==2023.5.7"
175
  },
176
  "charset-normalizer": {
177
  "hashes": [
@@ -323,14 +331,6 @@
323
  "markers": "python_version < '3.12' and python_version >= '3.7'",
324
  "version": "==0.5.13"
325
  },
326
- "exceptiongroup": {
327
- "hashes": [
328
- "sha256:12c3e887d6485d16943a309616de20ae5582633e0a2eda17f4e10fd61c1e8af5",
329
- "sha256:e346e69d186172ca7cf029c8c1d16235aa0e04035e5750b4b95039e65204328f"
330
- ],
331
- "markers": "python_version < '3.11'",
332
- "version": "==1.1.2"
333
- },
334
  "fastapi": {
335
  "hashes": [
336
  "sha256:271662daf986da8fa98dc2b7c7f61c4abdfdccfb4786d79ed8b2878f172c6d5f",
@@ -355,43 +355,43 @@
355
  },
356
  "fonttools": {
357
  "hashes": [
358
- "sha256:0614b6348866092d00df3dfb37e037fc06412ca67087de361a2777ea5ed62c16",
359
- "sha256:06eac087ea55b3ebb2207d93b5ac56c847163899f05f5a77e1910f688fe10030",
360
- "sha256:19d461c801b8904d201c6c38a99bfcfef673bfdfe0c7f026f582ef78896434e0",
361
- "sha256:381558eafffc1432d08ca58063e71c7376ecaae48e9318354a90a1049a644845",
362
- "sha256:3ee75b8ca48f6c48af25e967dce995ef94e46872b35c7d454b983c62c9c7006d",
363
- "sha256:415cf7c806a3f56fb280dadcf3c92c85c0415e75665ca957b4a2a2e39c17a5c9",
364
- "sha256:465d0f24bf4f75160f441793b55076b7a080a57d3a1f738390af2c20bee24fbb",
365
- "sha256:4c654b1facf1f3b742e4d9b2dcdf0fa867b1f007b1b4981cc58a75ef5dca2a3c",
366
- "sha256:50f8bdb421270f71b54695c62785e300fab4bb6127be40bf9f3084962a0c3adb",
367
- "sha256:5448a87f6ed57ed844b64a05d3792827af584a8584613f6289867f4e77eb603b",
368
- "sha256:560ea1a604c927399f36742abf342a4c5f3fee8e8e8a484b774dfe9630bd9a91",
369
- "sha256:5b1c2b21b40229166a864f2b0aec06d37f0a204066deb1734c93370e0c76339d",
370
- "sha256:69178674505ec81adf4af2a3bbacd0cb9a37ba7831bc3fca307f80e48ab2767b",
371
- "sha256:69dbe0154e15b68dd671441ea8f23dad87488b24a6e650d45958f4722819a443",
372
- "sha256:6faff25991dec48f8cac882055a09ae1a29fd15bc160bc3d663e789e994664c2",
373
- "sha256:72d40a32d6443871ea0d147813caad58394b48729dfa4fbc45dcaac54f9506f2",
374
- "sha256:7e22d0144d735f6c7df770509b8c0c33414bf460df0d5dddc98a159e5dbb10eb",
375
- "sha256:841c491fa3e9c54e8f9cd5dae059e88f45e086aea090c28be9d42f59c8b99e01",
376
- "sha256:86edb95c4d1fe4fae2111d7e0c10c6e42b7790b377bcf1952303469eee5b52bb",
377
- "sha256:8f602dd5bcde7e4241419924f23c6f0d66723dd5408a58c3a2f781745c693f45",
378
- "sha256:9387b09694fbf8ac7dcf887069068f81fb4124d05e09557ac7daabfbec1744bd",
379
- "sha256:b329ae7ce971b5c4148d6cdb8119c0ce4587265b2330d4f2f3776ef851bee020",
380
- "sha256:ba2a367ff478cd108d5319c0dc4fd4eb4ea3476dbfc45b00c45718e889cd9463",
381
- "sha256:bc9e7b1e268be7a23fc66471b615c324e99c5db39ce8c49dd6dd8e962c7bc1b8",
382
- "sha256:c890061915e95b619c1d3cc3c107c6fb021406b701c0c24b03e74830d522f210",
383
- "sha256:cc3324e4159e6d1f55c3615b4c1c211f87cc96cc0cc7c946c8447dc1319f2e9d",
384
- "sha256:d2dae84a3d0f76884a6102c62f2795b2d6602c2c95cfcce74c8a590b6200e533",
385
- "sha256:d45f28c20bb67dee0f4a4caae709f40b0693d764b7b2bf2d58890f36b1bfcef0",
386
- "sha256:e38bd91eae257f36c2b7245c0278e9cd9d754f3a66b8d2b548c623ba66e387b6",
387
- "sha256:e43f6c7f9ba4f9d29edee530e45f9aa162872ec9549398b85971477a99f2a806",
388
- "sha256:ea879afd1d6189fca02a85a7868560c9bb8415dccff6b7ae6d81e4f06b3ab30d",
389
- "sha256:eb9dfa87152bd97019adc387b2f29ef6af601de4386f36570ca537ace96d96ed",
390
- "sha256:efd59e83223cb77952997fb850c7a7c2a958c9af0642060f536722c2a9e9d53b",
391
- "sha256:f3fe90dfb297bd8265238c06787911cd81c2cb89ac5b13e1c911928bdabfce0f"
392
  ],
393
  "markers": "python_version >= '3.8'",
394
- "version": "==4.41.0"
395
  },
396
  "frozenlist": {
397
  "hashes": [
@@ -524,14 +524,6 @@
524
  "markers": "python_version >= '3.5'",
525
  "version": "==3.4"
526
  },
527
- "importlib-resources": {
528
- "hashes": [
529
- "sha256:4cf94875a8368bd89531a756df9a9ebe1f150e0f885030b461237bc7f2d905f2",
530
- "sha256:d952faee11004c045f785bb5636e8f885bed30dc3c940d5d42798a2a4541c185"
531
- ],
532
- "markers": "python_version < '3.10'",
533
- "version": "==6.0.0"
534
- },
535
  "jinja2": {
536
  "hashes": [
537
  "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852",
@@ -540,6 +532,14 @@
540
  "markers": "python_version >= '3.7'",
541
  "version": "==3.1.2"
542
  },
 
 
 
 
 
 
 
 
543
  "jsonschema": {
544
  "hashes": [
545
  "sha256:971be834317c22daaa9132340a51c01b50910724082c2c1a2ac87eeec153a3fe",
@@ -632,19 +632,19 @@
632
  },
633
  "langchain": {
634
  "hashes": [
635
- "sha256:17ba2cd5386c0bbc2c7725b5f78fa85a3e040318f09fd64c57a20554461f33c7",
636
- "sha256:25ff3bb2c3f166ffec4dd82d746561b85d535da5e8d47dab4e360fe6ceb298ee"
637
  ],
638
  "index": "pypi",
639
- "version": "==0.0.238"
640
  },
641
  "langsmith": {
642
  "hashes": [
643
- "sha256:5abf30ac4ebb6b68955bea617669585e80a6fe9def90664503d5fbd6d095e91e",
644
- "sha256:d7a4360d1984b57689c6470ffcef79dcb217dd7129bdfd3bcfcb22dc058787f6"
645
  ],
646
  "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
647
- "version": "==0.0.12"
648
  },
649
  "linkify-it-py": {
650
  "hashes": [
@@ -917,37 +917,34 @@
917
  },
918
  "numpy": {
919
  "hashes": [
920
- "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f",
921
- "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61",
922
- "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7",
923
- "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400",
924
- "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef",
925
- "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2",
926
- "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d",
927
- "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc",
928
- "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835",
929
- "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706",
930
- "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5",
931
- "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4",
932
- "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6",
933
- "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463",
934
- "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a",
935
- "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f",
936
- "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e",
937
- "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e",
938
- "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694",
939
- "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8",
940
- "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64",
941
- "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d",
942
- "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc",
943
- "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254",
944
- "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2",
945
- "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1",
946
- "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810",
947
- "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"
948
- ],
949
- "markers": "python_version >= '3.8'",
950
- "version": "==1.24.4"
951
  },
952
  "openai": {
953
  "hashes": [
@@ -1118,14 +1115,6 @@
1118
  "markers": "python_version >= '3.8'",
1119
  "version": "==10.0.0"
1120
  },
1121
- "pkgutil-resolve-name": {
1122
- "hashes": [
1123
- "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174",
1124
- "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"
1125
- ],
1126
- "markers": "python_version < '3.9'",
1127
- "version": "==1.3.10"
1128
- },
1129
  "pydantic": {
1130
  "hashes": [
1131
  "sha256:008c5e266c8aada206d0627a011504e14268a62091450210eda7c07fabe6963e",
@@ -1168,113 +1157,6 @@
1168
  "markers": "python_version >= '3.7'",
1169
  "version": "==1.10.11"
1170
  },
1171
- "pydantic-core": {
1172
- "hashes": [
1173
- "sha256:019c5c41941438570dfc7d3f0ae389b2425add1775a357ce1e83ed1434f943d6",
1174
- "sha256:01f56d5ee70b1d39c0fd08372cc5142274070ab7181d17c86035f130eebc05b8",
1175
- "sha256:055f7ea6b1fbb37880d66d70eefd22dd319b09c79d2cb99b1dbfeb34b653b0b2",
1176
- "sha256:05b4bf8c58409586a7a04c858a86ab10f28c6c1a7c33da65e0326c59d5b0ab16",
1177
- "sha256:06884c07956526ac9ebfef40fe21a11605569b8fc0e2054a375fb39c978bf48f",
1178
- "sha256:06f33f695527f5a86e090f208978f9fd252c9cfc7e869d3b679bd71f7cb2c1fa",
1179
- "sha256:0aa429578e23885b3984c49d687cd05ab06f0b908ea1711a8bf7e503b7f97160",
1180
- "sha256:0b3d781c71b8bfb621ef23b9c874933e2cd33237c1a65cc20eeb37437f8e7e18",
1181
- "sha256:0dc5f516b24d24bc9e8dd9305460899f38302b3c4f9752663b396ef9848557bf",
1182
- "sha256:0fc7e0b056b66cc536e97ef60f48b3b289f6b3b62ac225afd4b22a42434617bf",
1183
- "sha256:12be3b5f54f8111ca38e6b7277f26c23ba5cb3344fae06f879a0a93dfc8b479e",
1184
- "sha256:1624baa76d1740711b2048f302ae9a6d73d277c55a8c3e88b53b773ebf73a971",
1185
- "sha256:1aefebb506bc1fe355d91d25f12bcdea7f4d7c2d9f0f6716dd025543777c99a5",
1186
- "sha256:1bcfb7be905aa849bd882262e1df3f75b564e2f708b4b4c7ad2d3deaf5410562",
1187
- "sha256:1c119e9227487ad3d7c3c737d896afe548a6be554091f9745da1f4b489c40561",
1188
- "sha256:20d710c1f79af930b8891bcebd84096798e4387ab64023ef41521d58f21277d3",
1189
- "sha256:2183a9e18cdc0de53bdaa1675f237259162abeb62d6ac9e527c359c1074dc55d",
1190
- "sha256:27babb9879bf2c45ed655d02639f4c30e2b9ef1b71ce59c2305bbf7287910a18",
1191
- "sha256:27c1bbfb9d84a75cf33b7f19b53c29eb7ead99b235fce52aced5507174ab8f98",
1192
- "sha256:2b79f3681481f4424d7845cc7a261d5a4baa810d656b631fa844dc9967b36a7b",
1193
- "sha256:2f10aa5452b865818dd0137f568d443f5e93b60a27080a01aa4b7512c7ba13a3",
1194
- "sha256:309f45d4d7481d6f09cb9e35c72caa0e50add4a30bb08c04c5fe5956a0158633",
1195
- "sha256:31acc37288b8e69e4849f618c3d5cf13b58077c1a1ff9ade0b3065ba974cd385",
1196
- "sha256:37c5028cebdf731298724070838fb3a71ef1fbd201d193d311ac2cbdbca25a23",
1197
- "sha256:38a0e7ee65c8999394d92d9c724434cb629279d19844f2b69d9bbc46dc8b8b61",
1198
- "sha256:39aa09ed7ce2a648c904f79032d16dda29e6913112af8465a7bf710eef23c7ca",
1199
- "sha256:3cd7ee8bbfab277ab56e272221886fd33a1b5943fbf45ae9195aa6a48715a8a0",
1200
- "sha256:3d642e5c029e2acfacf6aa0a7a3e822086b3b777c70d364742561f9ca64c1ffc",
1201
- "sha256:41bbc2678a5b6a19371b2cb51f30ccea71f0c14b26477d2d884fed761cea42c7",
1202
- "sha256:45327fc57afbe3f2c3d7f54a335d5cecee8a9fdb3906a2fbed8af4092f4926df",
1203
- "sha256:4542c98b8364b976593703a2dda97377433b102f380b61bc3a2cbc2fbdae1d1f",
1204
- "sha256:45fa1e8ad6f4367ad73674ca560da8e827cc890eaf371f3ee063d6d7366a207b",
1205
- "sha256:4638ebc17de08c2f3acba557efeb6f195c88b7299d8c55c0bb4e20638bbd4d03",
1206
- "sha256:464bf799b422be662e5e562e62beeffc9eaa907d381a9d63a2556615bbda286d",
1207
- "sha256:4788135db4bd83a5edc3522b11544b013be7d25b74b155e08dd3b20cd6663bbb",
1208
- "sha256:47e8f034be31390a8f525431eb5e803a78ce7e2e11b32abf5361a972e14e6b61",
1209
- "sha256:4824eb018f0a4680b1e434697a9bf3f41c7799b80076d06530cbbd212e040ccc",
1210
- "sha256:4bf20c9722821fce766e685718e739deeccc60d6bc7be5029281db41f999ee0c",
1211
- "sha256:4d3097c39d7d4e8dba2ef86de171dcccad876c36d8379415ba18a5a4d0533510",
1212
- "sha256:4d889d498fce64bfcd8adf1a78579a7f626f825cbeb2956a24a29b35f9a1df32",
1213
- "sha256:4d965c7c4b40d1cedec9188782e98bd576f9a04868835604200c3a6e817b824f",
1214
- "sha256:4e26944e64ecc1d7b19db954c0f7b471f3b141ec8e1a9f57cfe27671525cd248",
1215
- "sha256:534f3f63c000f08050c6f7f4378bf2b52d7ba9214e9d35e3f60f7ad24a4d6425",
1216
- "sha256:539432f911686cb80284c30b33eaf9f4fd9a11e1111fe0dc98fdbdce69b49821",
1217
- "sha256:5af2d43b1978958d91351afbcc9b4d0cfe144c46c61740e82aaac8bb39ab1a4d",
1218
- "sha256:5cfb5ac4e82c47d5dc25b209dd4c3989e284b80109f9e08b33c895080c424b4f",
1219
- "sha256:616b3451b05ca63b8f433c627f68046b39543faeaa4e50d8c6699a2a1e4b85a5",
1220
- "sha256:6441a29f42585f085db0c04cd0557d4cbbb46fa68a0972409b1cfe9f430280c1",
1221
- "sha256:64bfd2c35a2c350f73ac52dc134d8775f93359c4c969280a6fe5301b5b6e7431",
1222
- "sha256:6ca34c29fbd6592de5fd39e80c1993634d704c4e7e14ba54c87b2c7c53da68fe",
1223
- "sha256:73929a2fb600a2333fce2efd92596cff5e6bf8946e20e93c067b220760064862",
1224
- "sha256:73f62bb7fd862d9bcd886e10612bade6fe042eda8b47e8c129892bcfb7b45e84",
1225
- "sha256:7584171eb3115acd4aba699bc836634783f5bd5aab131e88d8eeb8a3328a4a72",
1226
- "sha256:78b1ac0151271ce62bc2b33755f1043eda6a310373143a2f27e2bcd3d5fc8633",
1227
- "sha256:7cb496e934b71f1ade844ab91d6ccac78a3520e5df02fdb2357f85a71e541e69",
1228
- "sha256:7d55e38a89ec2ae17b2fa7ffeda6b70f63afab1888bd0d57aaa7b7879760acb4",
1229
- "sha256:7ecf0a67b212900e92f328181fed02840d74ed39553cdb38d27314e2b9c89dfa",
1230
- "sha256:85cd9c0af34e371390e3cb2f3a470b0b40cc07568c1e966c638c49062be6352d",
1231
- "sha256:8ba3073eb38a1294e8c7902989fb80a7a147a69db2396818722bd078476586a0",
1232
- "sha256:8d0dbcc57839831ae79fd24b1b83d42bc9448d79feaf3ed3fb5cbf94ffbf3eb7",
1233
- "sha256:9342de50824b40f55d2600f66c6f9a91a3a24851eca39145a749a3dc804ee599",
1234
- "sha256:937c0fe9538f1212b62df6a68f8d78df3572fe3682d9a0dd8851eac8a4e46063",
1235
- "sha256:9eff3837d447fccf2ac38c259b14ab9cbde700df355a45a1f3ff244d5e78f8b6",
1236
- "sha256:9ff322c7e1030543d35d83bb521b69114d3d150750528d7757544f639def9ad6",
1237
- "sha256:a3e9a18401a28db4358da2e191508702dbf065f2664c710708cdf9552b9fa50c",
1238
- "sha256:a439fd0d45d51245bbde799726adda5bd18aed3fa2b01ab2e6a64d6d13776fa3",
1239
- "sha256:a666134b41712e30a71afaa26deeb4da374179f769fa49784cdf0e7698880fab",
1240
- "sha256:ad442b8585ed4a3c2d22e4bf7b465d9b7d281e055b09719a8aeb5b576422dc9b",
1241
- "sha256:ad46027dbd5c1db87dc0b49becbe23093b143a20302028d387dae37ee5ef95f5",
1242
- "sha256:ad814864aba263be9c83ada44a95f72d10caabbf91589321f95c29c902bdcff0",
1243
- "sha256:adcb9c8848e15c613e483e0b99767ae325af27fe0dbd866df01fe5849d06e6e1",
1244
- "sha256:af693a89db6d6ac97dd84dd7769b3f2bd9007b578127d0e7dda03053f4d3b34b",
1245
- "sha256:afa8808159169368b66e4fbeafac6c6fd8f26246dc4d0dcc2caf94bd9cf1b828",
1246
- "sha256:ba2b807d2b62c446120906b8580cddae1d76d3de4efbb95ccc87f5e35c75b4b2",
1247
- "sha256:ba6a8cf089222a171b8f84e6ec2d10f7a9d14f26be3a347b14775a8741810676",
1248
- "sha256:bf3ed993bdf4754909f175ff348cf8f78d4451215b8aa338633f149ca3b1f37a",
1249
- "sha256:bf6a1d2c920cc9528e884850a4b2ee7629e3d362d5c44c66526d4097bbb07a1a",
1250
- "sha256:c089d8e7f1b4db08b2f8e4107304eec338df046275dad432635a9be9531e2fc8",
1251
- "sha256:c24465dd11b65c8510f251b095fc788c7c91481c81840112fe3f76c30793a455",
1252
- "sha256:cb08fab0fc1db15c277b72e33ac74ad9c0c789413da8984a3eacb22a94b42ef4",
1253
- "sha256:cd782807d35c8a41aaa7d30b5107784420eefd9fdc1c760d86007d43ae00b15d",
1254
- "sha256:d5146a6749b1905e04e62e0ad4622f079e5582f8b3abef5fb64516c623127908",
1255
- "sha256:dcbff997f47d45bf028bda4c3036bb3101e89a3df271281d392b6175f71c71d1",
1256
- "sha256:dd3b023f3317dbbbc775e43651ce1a31a9cea46216ad0b5be37afc18a2007699",
1257
- "sha256:deeb64335f489c3c11949cbd1d1668b3f1fb2d1c6a5bf40e126ef7bf95f9fa40",
1258
- "sha256:e09d9f6d722de9d4c1c5f122ea9bc6b25a05f975457805af4dcab7b0128aacbf",
1259
- "sha256:e33fcbea3b63a339dd94de0fc442fefacfe681cc7027ce63f67af9f7ceec7422",
1260
- "sha256:e3ed6834cc005798187a56c248a2240207cb8ffdda1c89e9afda4c3d526c2ea0",
1261
- "sha256:e4208f23f12d0ad206a07a489ef4cb15722c10b62774c4460ee4123250be938e",
1262
- "sha256:e427b66596a6441a5607dfc0085b47d36073f88da7ac48afd284263b9b99e6ce",
1263
- "sha256:e72ac299a6bf732a60852d052acf3999d234686755a02ba111e85e7ebf8155b1",
1264
- "sha256:ea955e4ed21f4bbb9b83fea09fc6af0bed82e69ecf6b35ec89237a0a49633033",
1265
- "sha256:ed5babdcd3d052ba5cf8832561f18df20778c7ccf12587b2d82f7bf3bf259a0e",
1266
- "sha256:eda1a89c4526826c0a87d33596a4cd15b8f58e9250f503e39af1699ba9c878e8",
1267
- "sha256:ef1fd1b24e9bcddcb168437686677104e205c8e25b066e73ffdf331d3bb8792b",
1268
- "sha256:ef6a222d54f742c24f6b143aab088702db3a827b224e75b9dd28b38597c595fe",
1269
- "sha256:f3dd5333049b5b3faa739e0f40b77cc8b7a1aded2f2da0e28794c81586d7b08a",
1270
- "sha256:f60e31e3e15e8c294bf70c60f8ae4d0c3caf3af8f26466e9aa8ea4c01302749b",
1271
- "sha256:f642313d559f9d9a00c4de6820124059cc3342a0d0127b18301de2c680d5ea40",
1272
- "sha256:f868e731a18b403b88aa434d960489ceeed0ddeb44ebc02389540731a67705e0",
1273
- "sha256:f93c867e5e85584a28c6a6feb6f2086d717266eb5d1210d096dd717b7f4dec04"
1274
- ],
1275
- "markers": "python_version >= '3.7'",
1276
- "version": "==2.3.0"
1277
- },
1278
  "pydub": {
1279
  "hashes": [
1280
  "sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6",
@@ -1282,14 +1164,6 @@
1282
  ],
1283
  "version": "==0.25.1"
1284
  },
1285
- "pygments": {
1286
- "hashes": [
1287
- "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c",
1288
- "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"
1289
- ],
1290
- "markers": "python_version >= '3.7'",
1291
- "version": "==2.15.1"
1292
- },
1293
  "pyparsing": {
1294
  "hashes": [
1295
  "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb",
@@ -1486,6 +1360,22 @@
1486
  "markers": "python_version >= '3.8'",
1487
  "version": "==0.9.2"
1488
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1489
  "semantic-version": {
1490
  "hashes": [
1491
  "sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c",
@@ -1622,18 +1512,24 @@
1622
  },
1623
  "urllib3": {
1624
  "hashes": [
1625
- "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11",
1626
- "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"
1627
  ],
1628
- "markers": "python_version >= '3.7'",
1629
- "version": "==2.0.4"
 
 
 
 
 
 
 
1630
  },
1631
  "uvicorn": {
1632
  "hashes": [
1633
  "sha256:1d55d46b83ee4ce82b4e82f621f2050adb3eb7b5481c13f9af1744951cae2f1f",
1634
  "sha256:da9b0c8443b2d7ee9db00a345f1eee6db7317432c9d4400f5049cc8d358383be"
1635
  ],
1636
- "index": "pypi",
1637
  "markers": "python_version >= '3.8'",
1638
  "version": "==0.23.1"
1639
  },
@@ -1792,14 +1688,6 @@
1792
  ],
1793
  "markers": "python_version >= '3.7'",
1794
  "version": "==1.9.2"
1795
- },
1796
- "zipp": {
1797
- "hashes": [
1798
- "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0",
1799
- "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"
1800
- ],
1801
- "markers": "python_version < '3.10'",
1802
- "version": "==3.16.2"
1803
  }
1804
  },
1805
  "develop": {}
 
1
  {
2
  "_meta": {
3
  "hash": {
4
+ "sha256": "baada24f686970aa797e81ab57198eff4adaa42274331ba31f06e107dacc04af"
5
  },
6
  "pipfile-spec": 6,
7
  "requires": {
 
133
  "markers": "python_version >= '3.7'",
134
  "version": "==5.0.1"
135
  },
 
 
 
 
 
 
 
 
136
  "anyio": {
137
  "hashes": [
138
  "sha256:44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780",
 
146
  "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15",
147
  "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
148
  ],
149
+ "markers": "python_version >= '3.6'",
150
  "version": "==4.0.2"
151
  },
152
  "attrs": {
 
157
  "markers": "python_version >= '3.7'",
158
  "version": "==23.1.0"
159
  },
160
+ "boto3": {
161
+ "hashes": [
162
+ "sha256:67001b3f512cbe2e00e352c65fb443b504e5e388fee39d73bcc42da1ae87d9e3",
163
+ "sha256:cb8af03f553f1c7db7137bc897785baeeaa97b8fde483eb1cdb1f1ef3cec9cb7"
164
+ ],
165
+ "index": "pypi",
166
+ "version": "==1.28.10"
167
+ },
168
+ "botocore": {
169
+ "hashes": [
170
+ "sha256:736a9412f405d6985570c4a87b533c2396dd8d4042d8c7a0ca14e73d4f1bcf9d",
171
+ "sha256:a3bfd3627a490faedf37d79373d6957936d7720888ca85466e0471cb921e4557"
172
+ ],
173
+ "markers": "python_version >= '3.7'",
174
+ "version": "==1.31.10"
175
+ },
176
  "certifi": {
177
  "hashes": [
178
+ "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082",
179
+ "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"
180
  ],
181
  "markers": "python_version >= '3.6'",
182
+ "version": "==2023.7.22"
183
  },
184
  "charset-normalizer": {
185
  "hashes": [
 
331
  "markers": "python_version < '3.12' and python_version >= '3.7'",
332
  "version": "==0.5.13"
333
  },
 
 
 
 
 
 
 
 
334
  "fastapi": {
335
  "hashes": [
336
  "sha256:271662daf986da8fa98dc2b7c7f61c4abdfdccfb4786d79ed8b2878f172c6d5f",
 
355
  },
356
  "fonttools": {
357
  "hashes": [
358
+ "sha256:1df1b6f4c7c4bc8201eb47f3b268adbf2539943aa43c400f84556557e3e109c0",
359
+ "sha256:2a22b2c425c698dcd5d6b0ff0b566e8e9663172118db6fd5f1941f9b8063da9b",
360
+ "sha256:33191f062549e6bb1a4782c22a04ebd37009c09360e2d6686ac5083774d06d95",
361
+ "sha256:38cdecd8f1fd4bf4daae7fed1b3170dfc1b523388d6664b2204b351820aa78a7",
362
+ "sha256:3ae64303ba670f8959fdaaa30ba0c2dabe75364fdec1caeee596c45d51ca3425",
363
+ "sha256:3d1f9471134affc1e3b1b806db6e3e2ad3fa99439e332f1881a474c825101096",
364
+ "sha256:4e3334d51f0e37e2c6056e67141b2adabc92613a968797e2571ca8a03bd64773",
365
+ "sha256:4edc795533421e98f60acee7d28fc8d941ff5ac10f44668c9c3635ad72ae9045",
366
+ "sha256:547ab36a799dded58a46fa647266c24d0ed43a66028cd1cd4370b246ad426cac",
367
+ "sha256:59eba8b2e749a1de85760da22333f3d17c42b66e03758855a12a2a542723c6e7",
368
+ "sha256:704bccd69b0abb6fab9f5e4d2b75896afa48b427caa2c7988792a2ffce35b441",
369
+ "sha256:73ef0bb5d60eb02ba4d3a7d23ada32184bd86007cb2de3657cfcb1175325fc83",
370
+ "sha256:7763316111df7b5165529f4183a334aa24c13cdb5375ffa1dc8ce309c8bf4e5c",
371
+ "sha256:849ec722bbf7d3501a0e879e57dec1fc54919d31bff3f690af30bb87970f9784",
372
+ "sha256:891cfc5a83b0307688f78b9bb446f03a7a1ad981690ac8362f50518bc6153975",
373
+ "sha256:952cb405f78734cf6466252fec42e206450d1a6715746013f64df9cbd4f896fa",
374
+ "sha256:a7bbb290d13c6dd718ec2c3db46fe6c5f6811e7ea1e07f145fd8468176398224",
375
+ "sha256:a9b3cc10dc9e0834b6665fd63ae0c6964c6bc3d7166e9bc84772e0edd09f9fa2",
376
+ "sha256:aaaef294d8e411f0ecb778a0aefd11bb5884c9b8333cc1011bdaf3b58ca4bd75",
377
+ "sha256:afce2aeb80be72b4da7dd114f10f04873ff512793d13ce0b19d12b2a4c44c0f0",
378
+ "sha256:b0938ebbeccf7c80bb9a15e31645cf831572c3a33d5cc69abe436e7000c61b14",
379
+ "sha256:b2d1ee95be42b80d1f002d1ee0a51d7a435ea90d36f1a5ae331be9962ee5a3f1",
380
+ "sha256:b927e5f466d99c03e6e20961946314b81d6e3490d95865ef88061144d9f62e38",
381
+ "sha256:bdd729744ae7ecd7f7311ad25d99da4999003dcfe43b436cf3c333d4e68de73d",
382
+ "sha256:c2071267deaa6d93cb16288613419679c77220543551cbe61da02c93d92df72f",
383
+ "sha256:cac73bbef7734e78c60949da11c4903ee5837168e58772371bd42a75872f4f82",
384
+ "sha256:da2c2964bdc827ba6b8a91dc6de792620be4da3922c4cf0599f36a488c07e2b2",
385
+ "sha256:e16a9449f21a93909c5be2f5ed5246420f2316e94195dbfccb5238aaa38f9751",
386
+ "sha256:e5c2b0a95a221838991e2f0e455dec1ca3a8cc9cd54febd68cc64d40fdb83669",
387
+ "sha256:ec453a45778524f925a8f20fd26a3326f398bfc55d534e37bab470c5e415caa1",
388
+ "sha256:edee0900cf0eedb29d17c7876102d6e5a91ee333882b1f5abc83e85b934cadb5",
389
+ "sha256:f14f3ccea4cc7dd1b277385adf3c3bf18f9860f87eab9c2fb650b0af16800f55",
390
+ "sha256:f240d9adf0583ac8fc1646afe7f4ac039022b6f8fa4f1575a2cfa53675360b69",
391
+ "sha256:f48602c0b3fd79cd83a34c40af565fe6db7ac9085c8823b552e6e751e3a5b8be"
392
  ],
393
  "markers": "python_version >= '3.8'",
394
+ "version": "==4.41.1"
395
  },
396
  "frozenlist": {
397
  "hashes": [
 
524
  "markers": "python_version >= '3.5'",
525
  "version": "==3.4"
526
  },
 
 
 
 
 
 
 
 
527
  "jinja2": {
528
  "hashes": [
529
  "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852",
 
532
  "markers": "python_version >= '3.7'",
533
  "version": "==3.1.2"
534
  },
535
+ "jmespath": {
536
+ "hashes": [
537
+ "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980",
538
+ "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"
539
+ ],
540
+ "markers": "python_version >= '3.7'",
541
+ "version": "==1.0.1"
542
+ },
543
  "jsonschema": {
544
  "hashes": [
545
  "sha256:971be834317c22daaa9132340a51c01b50910724082c2c1a2ac87eeec153a3fe",
 
632
  },
633
  "langchain": {
634
  "hashes": [
635
+ "sha256:110d68116b9bf4eff3aa342a3d6e521f841f9af22fcc02ed52699ada41a46b90",
636
+ "sha256:698669880d94498ce90f33b28222d46be6297c7b280a399612af7e7a5af39dd6"
637
  ],
638
  "index": "pypi",
639
+ "version": "==0.0.240"
640
  },
641
  "langsmith": {
642
  "hashes": [
643
+ "sha256:146379f4ed8a7a28794c52b74009d40875371080a16a87bba95c410160b00b92",
644
+ "sha256:d3c367fa72b88a226919e6c902e34d83791efd1250f284e84cf17eacc37558b9"
645
  ],
646
  "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
647
+ "version": "==0.0.14"
648
  },
649
  "linkify-it-py": {
650
  "hashes": [
 
917
  },
918
  "numpy": {
919
  "hashes": [
920
+ "sha256:012097b5b0d00a11070e8f2e261128c44157a8689f7dedcf35576e525893f4fe",
921
+ "sha256:0d3fe3dd0506a28493d82dc3cf254be8cd0d26f4008a417385cbf1ae95b54004",
922
+ "sha256:0def91f8af6ec4bb94c370e38c575855bf1d0be8a8fbfba42ef9c073faf2cf19",
923
+ "sha256:1a180429394f81c7933634ae49b37b472d343cccb5bb0c4a575ac8bbc433722f",
924
+ "sha256:1d5d3c68e443c90b38fdf8ef40e60e2538a27548b39b12b73132456847f4b631",
925
+ "sha256:20e1266411120a4f16fad8efa8e0454d21d00b8c7cee5b5ccad7565d95eb42dd",
926
+ "sha256:247d3ffdd7775bdf191f848be8d49100495114c82c2bd134e8d5d075fb386a1c",
927
+ "sha256:35a9527c977b924042170a0887de727cd84ff179e478481404c5dc66b4170009",
928
+ "sha256:38eb6548bb91c421261b4805dc44def9ca1a6eef6444ce35ad1669c0f1a3fc5d",
929
+ "sha256:3d7abcdd85aea3e6cdddb59af2350c7ab1ed764397f8eec97a038ad244d2d105",
930
+ "sha256:41a56b70e8139884eccb2f733c2f7378af06c82304959e174f8e7370af112e09",
931
+ "sha256:4a90725800caeaa160732d6b31f3f843ebd45d6b5f3eec9e8cc287e30f2805bf",
932
+ "sha256:6b82655dd8efeea69dbf85d00fca40013d7f503212bc5259056244961268b66e",
933
+ "sha256:6c6c9261d21e617c6dc5eacba35cb68ec36bb72adcff0dee63f8fbc899362588",
934
+ "sha256:77d339465dff3eb33c701430bcb9c325b60354698340229e1dff97745e6b3efa",
935
+ "sha256:791f409064d0a69dd20579345d852c59822c6aa087f23b07b1b4e28ff5880fcb",
936
+ "sha256:9a3a9f3a61480cc086117b426a8bd86869c213fc4072e606f01c4e4b66eb92bf",
937
+ "sha256:c1516db588987450b85595586605742879e50dcce923e8973f79529651545b57",
938
+ "sha256:c40571fe966393b212689aa17e32ed905924120737194b5d5c1b20b9ed0fb171",
939
+ "sha256:d412c1697c3853c6fc3cb9751b4915859c7afe6a277c2bf00acf287d56c4e625",
940
+ "sha256:d5154b1a25ec796b1aee12ac1b22f414f94752c5f94832f14d8d6c9ac40bcca6",
941
+ "sha256:d736b75c3f2cb96843a5c7f8d8ccc414768d34b0a75f466c05f3a739b406f10b",
942
+ "sha256:e8f6049c4878cb16960fbbfb22105e49d13d752d4d8371b55110941fb3b17800",
943
+ "sha256:f76aebc3358ade9eacf9bc2bb8ae589863a4f911611694103af05346637df1b7",
944
+ "sha256:fd67b306320dcadea700a8f79b9e671e607f8696e98ec255915c0c6d6b818503"
945
+ ],
946
+ "markers": "python_version >= '3.9'",
947
+ "version": "==1.25.1"
 
 
 
948
  },
949
  "openai": {
950
  "hashes": [
 
1115
  "markers": "python_version >= '3.8'",
1116
  "version": "==10.0.0"
1117
  },
 
 
 
 
 
 
 
 
1118
  "pydantic": {
1119
  "hashes": [
1120
  "sha256:008c5e266c8aada206d0627a011504e14268a62091450210eda7c07fabe6963e",
 
1157
  "markers": "python_version >= '3.7'",
1158
  "version": "==1.10.11"
1159
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1160
  "pydub": {
1161
  "hashes": [
1162
  "sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6",
 
1164
  ],
1165
  "version": "==0.25.1"
1166
  },
 
 
 
 
 
 
 
 
1167
  "pyparsing": {
1168
  "hashes": [
1169
  "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb",
 
1360
  "markers": "python_version >= '3.8'",
1361
  "version": "==0.9.2"
1362
  },
1363
+ "s3fs": {
1364
+ "hashes": [
1365
+ "sha256:2ca5de8dc18ad7ad350c0bd01aef0406aa5d0fff78a561f0f710f9d9858abdd0",
1366
+ "sha256:91c1dfb45e5217bd441a7a560946fe865ced6225ff7eb0fb459fe6e601a95ed3"
1367
+ ],
1368
+ "index": "pypi",
1369
+ "version": "==0.4.2"
1370
+ },
1371
+ "s3transfer": {
1372
+ "hashes": [
1373
+ "sha256:3c0da2d074bf35d6870ef157158641178a4204a6e689e82546083e31e0311346",
1374
+ "sha256:640bb492711f4c0c0905e1f62b6aaeb771881935ad27884852411f8e9cacbca9"
1375
+ ],
1376
+ "markers": "python_version >= '3.7'",
1377
+ "version": "==0.6.1"
1378
+ },
1379
  "semantic-version": {
1380
  "hashes": [
1381
  "sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c",
 
1512
  },
1513
  "urllib3": {
1514
  "hashes": [
1515
+ "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f",
1516
+ "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"
1517
  ],
1518
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
1519
+ "version": "==1.26.16"
1520
+ },
1521
+ "utils": {
1522
+ "hashes": [
1523
+ "sha256:ff04549b95deb2fd7a82ddaea077e2f41209079e2482df231c358770b27b72a7"
1524
+ ],
1525
+ "index": "pypi",
1526
+ "version": "==1.0.1"
1527
  },
1528
  "uvicorn": {
1529
  "hashes": [
1530
  "sha256:1d55d46b83ee4ce82b4e82f621f2050adb3eb7b5481c13f9af1744951cae2f1f",
1531
  "sha256:da9b0c8443b2d7ee9db00a345f1eee6db7317432c9d4400f5049cc8d358383be"
1532
  ],
 
1533
  "markers": "python_version >= '3.8'",
1534
  "version": "==0.23.1"
1535
  },
 
1688
  ],
1689
  "markers": "python_version >= '3.7'",
1690
  "version": "==1.9.2"
 
 
 
 
 
 
 
 
1691
  }
1692
  },
1693
  "develop": {}
app.py CHANGED
@@ -2,7 +2,6 @@ import json
2
  import os
3
  import gradio as gr
4
  import requests
5
- import intro
6
  import recruiting_assistant
7
 
8
 
@@ -103,7 +102,7 @@ with demo:
103
  outputs=[text_intro, evaluation]
104
  )
105
 
106
- examples = gr.Examples(
107
  examples=examples,
108
  fn=search_resume,
109
  inputs=text_vacancy,
 
2
  import os
3
  import gradio as gr
4
  import requests
 
5
  import recruiting_assistant
6
 
7
 
 
102
  outputs=[text_intro, evaluation]
103
  )
104
 
105
+ gr.Examples(
106
  examples=examples,
107
  fn=search_resume,
108
  inputs=text_vacancy,
recruiting_assistant.py CHANGED
@@ -171,9 +171,26 @@ def create_intro(vacancy=vacancy, resume=resume):
171
 
172
  result = match_resume_vacancy_skills_chain({"vacancy": vacancy, "resume": resume})
173
  print(result)
174
- return result["introduction_email"], json.dumps({"resume skills":result['resume_skills'], "check_past_experiences": result['check_past_experiences']}, indent=4)
175
 
176
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
 
178
  if __name__ == '__main__':
179
- create_intro(vacancy=vacancy,resume=resume)
 
171
 
172
  result = match_resume_vacancy_skills_chain({"vacancy": vacancy, "resume": resume})
173
  print(result)
 
174
 
175
+ resume_skills = json.loads(result['resume_skills'])
176
+ relevant_skills = len(resume_skills["skills_present"])
177
+ total_skills = len(resume_skills["skills_present"] + resume_skills["skills_not_present"])
178
+ score_skills = round(100.0*(relevant_skills/total_skills),2)
179
+
180
+
181
+ check_past_experiences = json.loads(result['check_past_experiences'])
182
+ relevant_experiences = len(check_past_experiences["relevant_experiences"])
183
+ total_experiences = len(check_past_experiences["relevant_experiences"] + check_past_experiences["irrelevant_experiences"])
184
+ score_experiences = round(100.0*(relevant_experiences/total_experiences),2)
185
+
186
+ new_line = '\n'
187
+
188
+ score = f"""
189
+ Skills (Score: {score_skills}%)
190
+ Relevant Skills: {",".join(resume_skills["skills_present"])}
191
+ Not Relevant Skills: {",".join(resume_skills["skills_not_present"])}
192
+ """
193
+ return result["introduction_email"], score
194
 
195
  if __name__ == '__main__':
196
+ create_intro(vacancy=vacancy,resume=resume)
test.py ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import boto3
2
+ import os
3
+ import json
4
+ import pandas as pd
5
+ from urllib.parse import urlparse
6
+ import random
7
+
8
+ from langchain.chat_models import ChatOpenAI
9
+ from langchain.prompts import ChatPromptTemplate
10
+ from langchain.chains import LLMChain, SequentialChain
11
+
12
+ llm = ChatOpenAI(temperature=0.0, openai_api_key=os.environ["OPENAI"])
13
+
14
+
15
+ def generate_skills() -> list:
16
+ template_generate_skills = """
17
+ Can you generate me a list of skills you would need to be successfully employed in a Data Scientist role?
18
+ Return 10 skills as a JSON list.
19
+ """
20
+
21
+ prompt_generate_skills = ChatPromptTemplate.from_template(
22
+ template=template_generate_skills
23
+ )
24
+ role_skills = LLMChain(
25
+ llm=llm, prompt=prompt_generate_skills, output_key="role_skills"
26
+ )
27
+
28
+ generate_skills_chain = SequentialChain(
29
+ chains=[role_skills],
30
+ input_variables=[],
31
+ output_variables=["role_skills"],
32
+ verbose=False,
33
+ )
34
+
35
+ result = generate_skills_chain({})
36
+ result_array = json.loads(result["role_skills"])["skills"]
37
+ return result_array
38
+
39
+
40
+ def generate_resume(skills: list) -> str:
41
+ template_generate_resume = """
42
+ Given the following list of skills as an array delimited by three backticks, generate a resume of a data scientist with 3 years of experience.
43
+ Make sure to include a section "skills" in the resume.
44
+
45
+ ```
46
+ {skills}
47
+ ```
48
+ """
49
+
50
+ prompt_generate_resume = ChatPromptTemplate.from_template(
51
+ template=template_generate_resume
52
+ )
53
+ resume = LLMChain(llm=llm, prompt=prompt_generate_resume, output_key="resume")
54
+
55
+ generate_resume_chain = SequentialChain(
56
+ chains=[resume],
57
+ input_variables=["skills"],
58
+ output_variables=["resume"],
59
+ verbose=False,
60
+ )
61
+
62
+ result = generate_resume_chain({"skills": skills})
63
+
64
+ return result
65
+
66
+
67
+ def retrieve_skills(resume: str) -> str:
68
+ template_retrieve_skills = """
69
+ Given the following resume delimited by three backticks, retrieve the skills this data scientist possesses.
70
+ Return them as a JSON list.
71
+
72
+ ```
73
+ {resume}
74
+ ```
75
+ """
76
+
77
+ prompt_retrieve_skills = ChatPromptTemplate.from_template(
78
+ template=template_retrieve_skills
79
+ )
80
+ skills = LLMChain(llm=llm, prompt=prompt_retrieve_skills, output_key="skills")
81
+
82
+ retrieve_skills_chain = SequentialChain(
83
+ chains=[skills],
84
+ input_variables=["resume"],
85
+ output_variables=["skills"],
86
+ verbose=False,
87
+ )
88
+
89
+ result = retrieve_skills_chain({"resume": resume})
90
+ result_array = json.loads(result["skills"])
91
+
92
+ return result_array
93
+
94
+
95
+ def get_score(true_values: list, predicted_values: list) -> float:
96
+ intersection_list = [value for value in predicted_values if value in true_values]
97
+ print(intersection_list)
98
+ return len(intersection_list) / len(true_values)
99
+
100
+
101
+ if __name__ == "__main__":
102
+ role_skills = generate_skills()
103
+ random_skills = random.sample(role_skills, 3)
104
+ resume = generate_resume(random_skills)
105
+ skills = retrieve_skills(resume)
106
+ score = get_score(random_skills, skills)
107
+ print(random_skills)
108
+ print(skills)
109
+ print(score)
110
+
111
+ # def get_resumes() -> str:
112
+
113
+ # s3 = boto3.client(
114
+ # 's3',
115
+ # region_name='eu-west-1'
116
+ # )
117
+
118
+ # resumes = s3.get_object(Bucket='ausy-datalake-drift-nonprod', Key='resume-matcher/raw/resume-dataset.csv')
119
+
120
+ # resumes_list = resumes['Body'].read().decode('utf-8').splitlines()
121
+ # resumes_list = resumes['Body'].read().decode('utf-8').splitlines()
122
+ # resumes_list = str(resumes_list).replace('. ', '.\n')
123
+ # resumes_list = str(resumes_list).replace('•', '\n - ')
124
+ # resumes_list = [s.replace('. ', '.\n') for s in resumes_list]
125
+ # resumes_list = [s.replace('•', '\n - ') for s in resumes_list]
126
+ # resume_string =''.join(resumes_list)
127
+ # s3_uri = urlparse("s3://ausy-datalake-drift-nonprod/resume-matcher/raw/resume-dataset.csv", allow_fragments=False).geturl()
128
+ # resumes_list = pd.read_csv(s3_uri, header=None, encoding='utf-8')[0].tolist()
129
+
130
+ # return resumes_list
131
+
132
+ # def get_skills(resumes: str) -> list:
133
+
134
+ # template_resumes_get_skills = """
135
+ # Given the following string, delimited by <RESUMES> and </RESUMES> which contains resumes which are not properly formatted, categorize the resumes based on domain.
136
+ # For each domain list the skills of the resumes that are part of that domain.
137
+
138
+ # Create a JSON object where they keys are the domains and the values are a list containing the skills.
139
+
140
+ # Return that JSON object only.
141
+
142
+ # <RESUMES>
143
+ # {resumes}
144
+ # </RESUMES>
145
+ # """
146
+
147
+ # prompt_vacancy_get_skills = ChatPromptTemplate.from_template(template=template_resumes_get_skills)
148
+ # resume_skills = LLMChain(llm=llm, prompt=prompt_vacancy_get_skills, output_key="resume_skills")
149
+
150
+ # get_skills_resumes_chain = SequentialChain(
151
+ # chains=[resume_skills],
152
+ # input_variables=["resumes"],
153
+ # output_variables=["resume_skills"],
154
+ # verbose=False
155
+ # )
156
+
157
+ # result = get_skills_resumes_chain({"resumes": resumes})
158
+ # # print(result)
159
+ # resume_skills = json.loads(result['resume_skills'])
160
+ # print(resume_skills)
161
+
162
+ # if __name__ == "__main__":
163
+ # resumes = get_resumes()
164
+ # print(resumes)
165
+ # for x in resumes:
166
+ # get_skills(x)