Spaces:
Runtime error
Runtime error
Commit
•
06cf97c
1
Parent(s):
1f2286b
First draft of testing at scale
Browse files- Pipfile +1 -0
- Pipfile.lock +110 -237
- test.py +59 -0
Pipfile
CHANGED
@@ -8,6 +8,7 @@ gradio = "*"
|
|
8 |
requests = "*"
|
9 |
openai = "*"
|
10 |
langchain = "*"
|
|
|
11 |
|
12 |
[dev-packages]
|
13 |
|
|
|
8 |
requests = "*"
|
9 |
openai = "*"
|
10 |
langchain = "*"
|
11 |
+
boto3 = "*"
|
12 |
|
13 |
[dev-packages]
|
14 |
|
Pipfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
{
|
2 |
"_meta": {
|
3 |
"hash": {
|
4 |
-
"sha256": "
|
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
|
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:
|
171 |
-
"sha256:
|
172 |
],
|
173 |
"markers": "python_version >= '3.6'",
|
174 |
-
"version": "==2023.
|
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:
|
359 |
-
"sha256:
|
360 |
-
"sha256:
|
361 |
-
"sha256:
|
362 |
-
"sha256:
|
363 |
-
"sha256:
|
364 |
-
"sha256:
|
365 |
-
"sha256:
|
366 |
-
"sha256:
|
367 |
-
"sha256:
|
368 |
-
"sha256:
|
369 |
-
"sha256:
|
370 |
-
"sha256:
|
371 |
-
"sha256:
|
372 |
-
"sha256:
|
373 |
-
"sha256:
|
374 |
-
"sha256:
|
375 |
-
"sha256:
|
376 |
-
"sha256:
|
377 |
-
"sha256:
|
378 |
-
"sha256:
|
379 |
-
"sha256:
|
380 |
-
"sha256:
|
381 |
-
"sha256:
|
382 |
-
"sha256:
|
383 |
-
"sha256:
|
384 |
-
"sha256:
|
385 |
-
"sha256:
|
386 |
-
"sha256:
|
387 |
-
"sha256:
|
388 |
-
"sha256:
|
389 |
-
"sha256:
|
390 |
-
"sha256:
|
391 |
-
"sha256:
|
392 |
],
|
393 |
"markers": "python_version >= '3.8'",
|
394 |
-
"version": "==4.41.
|
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:
|
636 |
-
"sha256:
|
637 |
],
|
638 |
"index": "pypi",
|
639 |
-
"version": "==0.0.
|
640 |
},
|
641 |
"langsmith": {
|
642 |
"hashes": [
|
643 |
-
"sha256:
|
644 |
-
"sha256:
|
645 |
],
|
646 |
"markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
|
647 |
-
"version": "==0.0.
|
648 |
},
|
649 |
"linkify-it-py": {
|
650 |
"hashes": [
|
@@ -917,37 +917,34 @@
|
|
917 |
},
|
918 |
"numpy": {
|
919 |
"hashes": [
|
920 |
-
"sha256:
|
921 |
-
"sha256:
|
922 |
-
"sha256:
|
923 |
-
"sha256:
|
924 |
-
"sha256:
|
925 |
-
"sha256:
|
926 |
-
"sha256:
|
927 |
-
"sha256:
|
928 |
-
"sha256:
|
929 |
-
"sha256:
|
930 |
-
"sha256:
|
931 |
-
"sha256:
|
932 |
-
"sha256:
|
933 |
-
"sha256:
|
934 |
-
"sha256:
|
935 |
-
"sha256:
|
936 |
-
"sha256:
|
937 |
-
"sha256:
|
938 |
-
"sha256:
|
939 |
-
"sha256:
|
940 |
-
"sha256:
|
941 |
-
"sha256:
|
942 |
-
"sha256:
|
943 |
-
"sha256:
|
944 |
-
"sha256:
|
945 |
-
|
946 |
-
|
947 |
-
|
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,14 @@
|
|
1486 |
"markers": "python_version >= '3.8'",
|
1487 |
"version": "==0.9.2"
|
1488 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1489 |
"semantic-version": {
|
1490 |
"hashes": [
|
1491 |
"sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c",
|
@@ -1622,18 +1504,17 @@
|
|
1622 |
},
|
1623 |
"urllib3": {
|
1624 |
"hashes": [
|
1625 |
-
"sha256:
|
1626 |
-
"sha256:
|
1627 |
],
|
1628 |
-
"markers": "python_version >= '
|
1629 |
-
"version": "==
|
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 +1673,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": "773a20e359549c3df8e208ef5e12bb82c398272ee42c4ce709f4783f5989b6b6"
|
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:01f078047eb4d238c6b9c6cc623f2af33b4ae67980c5326691e35cb5493ff6c7",
|
163 |
+
"sha256:4cc0c6005be910e52077227e670930ab55a41ba86cdb6d1c052571d08cd4d32c"
|
164 |
+
],
|
165 |
+
"index": "pypi",
|
166 |
+
"version": "==1.28.9"
|
167 |
+
},
|
168 |
+
"botocore": {
|
169 |
+
"hashes": [
|
170 |
+
"sha256:bd849d3ac95f1781385ed831d753a04a3ec870a59d6598175aaedd71dc2baf5f",
|
171 |
+
"sha256:e56ccd3536a90094ea5b176b5dd33bfe4f049efdf71af468ea1661bd424c787d"
|
172 |
+
],
|
173 |
+
"markers": "python_version >= '3.7'",
|
174 |
+
"version": "==1.31.9"
|
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 |
+
"s3transfer": {
|
1364 |
+
"hashes": [
|
1365 |
+
"sha256:3c0da2d074bf35d6870ef157158641178a4204a6e689e82546083e31e0311346",
|
1366 |
+
"sha256:640bb492711f4c0c0905e1f62b6aaeb771881935ad27884852411f8e9cacbca9"
|
1367 |
+
],
|
1368 |
+
"markers": "python_version >= '3.7'",
|
1369 |
+
"version": "==0.6.1"
|
1370 |
+
},
|
1371 |
"semantic-version": {
|
1372 |
"hashes": [
|
1373 |
"sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c",
|
|
|
1504 |
},
|
1505 |
"urllib3": {
|
1506 |
"hashes": [
|
1507 |
+
"sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f",
|
1508 |
+
"sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"
|
1509 |
],
|
1510 |
+
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
|
1511 |
+
"version": "==1.26.16"
|
1512 |
},
|
1513 |
"uvicorn": {
|
1514 |
"hashes": [
|
1515 |
"sha256:1d55d46b83ee4ce82b4e82f621f2050adb3eb7b5481c13f9af1744951cae2f1f",
|
1516 |
"sha256:da9b0c8443b2d7ee9db00a345f1eee6db7317432c9d4400f5049cc8d358383be"
|
1517 |
],
|
|
|
1518 |
"markers": "python_version >= '3.8'",
|
1519 |
"version": "==0.23.1"
|
1520 |
},
|
|
|
1673 |
],
|
1674 |
"markers": "python_version >= '3.7'",
|
1675 |
"version": "==1.9.2"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1676 |
}
|
1677 |
},
|
1678 |
"develop": {}
|
test.py
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import boto3
|
2 |
+
import os
|
3 |
+
import json
|
4 |
+
|
5 |
+
from langchain.chat_models import ChatOpenAI
|
6 |
+
from langchain.prompts import ChatPromptTemplate
|
7 |
+
from langchain.chains import LLMChain, SequentialChain
|
8 |
+
|
9 |
+
llm = ChatOpenAI(temperature=0.0, openai_api_key=os.environ["OPENAI"])
|
10 |
+
|
11 |
+
def get_resume_string() -> str:
|
12 |
+
|
13 |
+
s3 = boto3.client(
|
14 |
+
's3',
|
15 |
+
region_name='eu-west-1'
|
16 |
+
)
|
17 |
+
|
18 |
+
resumes = s3.get_object(Bucket='ausy-datalake-drift-nonprod', Key='resume-matcher/raw/resume-dataset.csv')
|
19 |
+
|
20 |
+
resumes_list = resumes['Body'].read().decode('utf-8').splitlines()
|
21 |
+
resumes_list = [s.replace('. ', '.\n') for s in resumes_list]
|
22 |
+
resumes_list = [s.replace('â¢', '\n - ') for s in resumes_list]
|
23 |
+
# resume_string =''.join(resumes_list)
|
24 |
+
|
25 |
+
return resumes_list
|
26 |
+
|
27 |
+
def get_skills(resumes: str) -> list:
|
28 |
+
|
29 |
+
template_resumes_get_skills = """
|
30 |
+
Given the following string, delimited by <RESUMES> and </RESUMES> which contains resumes which are not properly formatted, categorize the resumes based on domain.
|
31 |
+
For each domain list the skills of the resumes that are part of that domain.
|
32 |
+
|
33 |
+
Create a JSON object where they keys are the domains and the values are a list containing the skills.
|
34 |
+
|
35 |
+
Return that JSON object only.
|
36 |
+
|
37 |
+
<RESUMES>
|
38 |
+
{resumes}
|
39 |
+
</RESUMES>
|
40 |
+
"""
|
41 |
+
|
42 |
+
prompt_vacancy_get_skills = ChatPromptTemplate.from_template(template=template_resumes_get_skills)
|
43 |
+
resume_skills = LLMChain(llm=llm, prompt=prompt_vacancy_get_skills, output_key="resume_skills")
|
44 |
+
|
45 |
+
get_skills_resumes_chain = SequentialChain(
|
46 |
+
chains=[resume_skills],
|
47 |
+
input_variables=["resumes"],
|
48 |
+
output_variables=["resume_skills"],
|
49 |
+
verbose=False
|
50 |
+
)
|
51 |
+
|
52 |
+
result = get_skills_resumes_chain({"resumes": resumes})
|
53 |
+
print(result)
|
54 |
+
resume_skills = json.loads(result['resume_skills'])
|
55 |
+
|
56 |
+
if __name__ == "__main__":
|
57 |
+
resumes = get_resume_string()
|
58 |
+
for x in resumes:
|
59 |
+
get_skills(x)
|