Տեխնոլոգիական խորը սուզում՝ աշխատանքի ընդունման վերջնական հարթակ կառուցելու համար՝ օգտագործելով մեծ լեզվական մոդելներ և վեկտորային տվյալների բազաներ
«Գիտե՞ք ինչն է ավելի դժվար, քան խոտի դեզում ասեղ գտնելը: Գտնել կատարյալ աշխատանք կամ թեկնածու զբաղվածության հսկայական ոլորտում: Մի՛ վախեցիր, հարգելի ընթերցող, քանի որ մենք պատրաստվում ենք ձեռնամուխ լինել աշխատանքի թեկնածուների հետ համընկնման ամենատպավորիչ հարթակի ստեղծմանը: Պատրաստվեք սուզվելու մեքենայական ուսուցման, LLM-ների և վեկտորային տվյալների շտեմարանների խորքերը, քանի որ մենք ստեղծում ենք թվային Cupid աշխատաշուկայի համար»:
Ահ, հավերժական պար աշխատանք փնտրողների և գործատուների միջև, որը նման է թվային համատեղելիության բարդ վալսի: Տեխնոլոգիական հրաշալիքների այս դարաշրջանում, որտեղ նույնիսկ հացաթուխները կարող են խոսել սառնարանների հետ, ժամանակն է օգտագործել արհեստական ինտելեկտի լավագույն տարբերակը՝ աշխատավայրում ներդաշնակություն ստեղծելու համար: Մեր սագան ծավալվում է խնամքով մշակված գործիքների և տեխնոլոգիաների համույթով, որը ներառում է AWS-ը, Hugging Face’s Transformers-ը և OpenAI-ի GPT-ի մի մասը: Եկեք տեխնիկական!
Ճարտարապետության ակնարկ
Պլատֆորմը կունենա երեք հիմնական բաղադրիչ.
1. Տվյալների ընդունում և պահպանում
- Ռեզյումեները և աշխատանքի նկարագրությունները հավաքվում են համապատասխանաբար օգտագործողներից և գործատուներից:
- Դրանք նախապես մշակվում են տեքստը մաքրելու և նշանավորելու համար:
- AWS S3-ն օգտագործվում է տվյալների պահպանման և կառավարման համար:
2. NLP և համապատասխանող շարժիչ
- Ռեզյումեները և աշխատանքի նկարագրությունները կոդավորված են խիտ վեկտորային ներկայացումների մեջ՝ օգտագործելով լեզվական մոդել, ինչպիսին է GPT-ը կամ հատուկ ճշգրտված մոդելը:
- Նմանության չափիչները (օրինակ՝ կոսինուսի նմանությունը) օգտագործվում են վեկտորները համեմատելու և համընկնումների միավորները հաշվարկելու համար։
- Ցածր միավորներով հանդիպումները զտելու համար սահմանվել է շեմ:
3. Օգտվողի միջերես և փոխազդեցություն
- Վեբ վրա հիմնված օգտատիրոջ միջերեսը թեկնածուներին թույլ է տալիս վերբեռնել իրենց ռեզյումեները, իսկ գործատուներին՝ աշխատանքի նկարագրությունները:
- AWS Lambda-ն և API Gateway-ը կարգավորում են օգտատերերի փոխազդեցությունները:
Հերթականության դիագրամներ
1. Թեկնածուի փոխազդեցություն
Candidate -> Platform: Upload Resume Platform -> NLP Engine: Encode Resume NLP Engine -> Platform: Matching Scores Platform -> Candidate: Display Matching Jobs
2. Գործատուի փոխազդեցություն
Employer -> Platform: Post Job Description Platform -> NLP Engine: Encode Job Description NLP Engine -> Platform: Matching Scores Platform -> Employer: Display Matching Candidates
Կոդի նմուշներ
1. Տվյալների ընդունում և պահպանում. սիմֆոնիա S3 ներդաշնակությամբ
Մենք սկսում ենք մեր գլուխգործոցը հումքի մշակմամբ՝ ռեզյումեները և աշխատանքի նկարագրությունները: Նվագախումբը ղեկավարող դիրիժորի նրբագեղությամբ մենք օգտագործում ենք AWS S3-ը՝ տեքստային տվյալների այս գանձարանը պահելու համար: Կոդը կազմակերպում է վերբեռնման և ներբեռնման գործընթացները՝ ապահովելով օգտատերերից տեղեկատվության անխափան հոսք դեպի հարթակ և հակառակը:
import boto3 s3 = boto3.client('s3', region_name='your-region', aws_access_key_id='your-access-key', aws_secret_access_key='your-secret-key') def upload_to_s3(data, filename, bucket_name): s3.upload_fileobj(data, bucket_name, filename) def download_from_s3(filename, bucket_name): obj = s3.get_object(Bucket=bucket_name, Key=filename) return obj['Body'].read().decode('utf-8')
2. NLP և համապատասխանող շարժիչ. AI բալետ
Ա՜խ, NLP, մեր անսամբլի թագը: Պատկերացրեք պրիմա-բալերինային տիեզերական բեմում: Այստեղ մենք ներգրավում ենք Hugging Face’s Transformers գրադարանը՝ պարզապես տեքստը վալսի վեկտորների վերածելու համար: Կոդը նրբագեղ կերպով կազմակերպում է այս փոխակերպումը, ստեղծելով կոդավորումների մեղեդի, որը ռեզոնանսվում է ռեզյումեների և աշխատանքի նկարագրությունների բուն էության հետ: Իսկ համատեղելիությունը չափե՞լ: Կոսինուսի նմանությունը թափանցում է ներս՝ ուշադրություն դարձնելով ամենաներդաշնակ զույգերին:
from transformers import AutoTokenizer, AutoModelForSequenceClassification import numpy as np from sklearn.metrics.pairwise import cosine_similarity model_name = "distilbert-base-uncased" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name) def encode_text(text): inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True) outputs = model(**inputs) return outputs.pooler_output.detach().numpy() def calculate_similarity(vector1, vector2): return cosine_similarity([vector1], [vector2])[0][0]
Դուք կարող եք ընտրել ձեր ընտրած ցանկացած մոդելի փոխարեն distilbert-base-uncased-ը, օրինակ՝ նախադասության տրանսֆորմատորները, սակայն նկատի ունենալով սահմանափակումները, օրինակ՝ 384-ից ավելի բառ ունեցող ցանկացած տեքստ լռելյայն կտրված է: Եթե ունեք բավարար մարզման տվյալներ, կարող եք նաև օգտագործել այնպիսի մոդելներ, ինչպիսին է Word2Vec-ը: Այնուամենայնիվ, այս հոդվածի կոդի օրինակները և ճարտարապետությունը ենթադրում են, որ վերապատրաստման տվյալներ չկան:
3. UI և փոխազդեցություն. տեխնոլոգիական տանգո
Մեր մեծ բեմը լիարժեք չէր լինի առանց թեկնածուների և գործատուների պարահրապարակի: Flask Framework-ը կազմակերպում է այս մեծ գործը: Մինչ թեկնածուները վերբեռնում են իրենց ռեզյումեները, իսկ գործատուները նկարագրում են աշխատանքի նկարագրությունները React.js հավելվածում, ինտելեկտի ոգիները կուլիսներում պտտվում են տվյալների վրա հիմնված վալսի մեջ: Արդյունքները ցուցադրվում են որպես պոտենցիալ համընկնումների գոբելեն՝ տեխնոլոգիայի ուժի տեսողական վկայություն:
from flask import Flask, request, render_template app = Flask(__name__) @app.route("/", methods=["GET", "POST"]) def index(): if request.method == "POST": text = request.form["text"] vector = encode_text(text) # The magical match-making with Pinecone or other vector database # Display the enchanting results return render_template("results.html", matches=matches) return render_template("index.html") if __name__ == "__main__": app.run(debug=True)
Խնդրում ենք նկատի ունենալ, որ վերը նշված օրինակը հարթակի պարզեցված տարբերակն է և չի ներառում բոլոր բարդությունները, ինչպիսիք են օգտատիրոջ նույնականացումը, սխալների կառավարումը և արտադրության տեղակայումը: Նաև Pinecone-ի կամ որևէ այլ վեկտորային տվյալների բազայի օգտագործումը կպահանջի առանձին ինտեգրման ջանք, որը դուրս է գալիս այս օրինակի շրջանակներից:
Արտադրության մակարդակի պլատֆորմի համար դուք պետք է հաշվի առնեք այնպիսի ասպեկտներ, ինչպիսիք են տվյալների անվտանգությունը, մասշտաբը, մոդելի վերապատրաստումը, կողմնակալության մեղմացումը և օգտագործողների կարծիքի հիման վրա շարունակական բարելավումը: Հնարավոր է, որ ձեզ անհրաժեշտ լինի օգտագործել ավելի առաջադեմ NLP տեխնիկա և հնարավոր է օգտագործել ավելի մեծ լեզվական մոդելներ, ինչպիսիք են GPT-4-ը՝ աշխատանքի նկարագրությունների և ռեզյումեների ավելի լավ հասկանալու և համապատասխանելու համար:
Վերջաբան՝ Գրկի՛ր ապագան
Եվ ահա մենք կանգնած ենք, տեխնոլոգիայի և մարդկության խաչմերուկում, դիտելով կախարդանքը: Երբ մենք հրաժեշտ ենք տալիս մեր ճանապարհորդությանը, հիշեք սա. AI-ն պարզապես գործիք չէ. դա վարպետության հարվածն է, որը նկարում է նորարարության կտավը: Մեր հարթակը չի համապատասխանում միայն աշխատանք փնտրողներին և գործատուներին. դա վկայում է այն փայլի մասին, որը բխում է մտքերի և մեքենաների սիներգիայից:
Հարգելի ընթերցող, որոնումն այստեղ չի ավարտվում: AI-ի և տվյալների աշխարհը անսահման հնարավորությունների կալեիդոսկոպ է: Մինչ մենք պարում ենք նորարարության անդունդի վրա, ես հրավիրում եմ ձեզ միանալ ինձ տեխնոլոգիայի վալսում, երբ մենք բացում ենք մեր թվային ապագայի գոբելենը: Ծափահարեք 👏, «բաժանորդագրվեք🔔, և մնացեք լարված📡ավելին իմանալու համար, քանի որ միասին մենք կշարունակենք ապագան նկարել բայթերով և փայլով:
Անանդ Տարալիկան Ծրագրային ինժեներ է, ով գրում է տեխնոլոգիական կյանքի և տեխնոլոգիաների, տվյալների և մեքենայական ուսուցման օգտագործման մասին կիբերանվտանգության, ֆինանսների, առողջապահության և կայուն էներգիայի համար: Ստացեք պատմություններ անմիջապես ձեր մուտքի արկղում, որպեսզի երբեք բաց չթողնեք դրանք: