...
/مُحسِّن طلبات التوظيف مع LlamaIndex
مُحسِّن طلبات التوظيف مع LlamaIndex
تعرف على كيفية استخراج المعلومات المنظمة من السيرة الذاتية واستخدام LLMs لإنشاء تعليقات مخصصة بناءً على أوصاف الوظائف.
سنغطي ما يلي...
في هذا الدرس، بناء مساعدًا مدعمًا بالذكاء الاصطناعي لمساعدة المرشحين على تصميم سيرهم الذاتية بما يتناسب مع طلبات التوظيف المحددة. سيستخرج النظام معلومات مُهيكلة من السيرة الذاتية، مثل الخبرة العملية والتعليم والمهارات، ويستخدم هذه البيانات لتقييم مدى توافقها مع وصف الوظيفة المُحدد.
بناءً على هذا التحليل، سيُقدّم المساعد اقتراحات مُخصّصة لتحسين السيرة الذاتية. قد يشمل ذلك إبراز الخبرات ذات الصلة، أو تحديد الكلمات المفتاحية الناقصة، أو التوصية بتصنيف أوضح للمهارات.
يعد هذا النوع من التطبيقات مفيدًا للباحثين عن عمل، أو مدربي التوظيف، أو المنصات التي توفر ميزات فحص السيرة الذاتية وتحسينها.
ملاحظة: يستخدم هذا النظام استخراج البيانات المنظمة لتحليل السير الذاتية وأوصاف الوظائف، والذاكرة للحفاظ على السياق عبر الأدوار، والإنشاء الفوري لتوليد محتوى تطبيق مخصص.
لتنفيذ هذا التطبيق، سنستخدم الوحدات والمكتبات التالية:
Modules and Libraries
Library/Module | Purpose |
LlamaIndex | Structured data extraction and LLM interaction |
Streamlit | Front-end interface for user input and result display |
Groq | LLM backend to generate feedback and improvement suggestions |
Pydantic | Define and enforce schema for structured resume fields |
إعداد واجهة Streamlit
سنستخدم Streamlit لإنشاء واجهة بسيطة تقبل مدخلين من المستخدم:
ملف السيرة الذاتية بصيغة PDF: سيتم تحليله وتحويله إلى حقول منظمة باستخدام مخطط محدد مسبقًا.
وصف الوظيفة: يمكن لصقه كنص حر.
سنضيف أيضًا زر لبدء عملية التحليل، والتي ستستخرج البيانات المنظمة من السيرة الذاتية وتولد اقتراحات للتحسين باستخدام نموذج لغوي.
نقوم بناء واجهة المستخدم بالكود التالي:
import streamlit as st# Page config and titlest.set_page_config(page_title="Job Application Optimizer")st.title("🎯 Job Application Optimizer")st.markdown("Upload your resume and paste a job description to get personalized feedback.")# File uploader for resumeuploaded_resume = st.file_uploader("📄 Upload your resume (PDF)", type=["pdf"])# Text area for job descriptionjob_description = st.text_area("📝 Paste the job description")# Action button to trigger analysisanalyze_clicked = st.button("Analyze Resume")
بعد ذلك، سنقوم بتحديد المخطط المنظم لاستخراج المعلومات مفتاح من السيرة الذاتية.
تحديد مخطط السيرة الذاتية
لمساعدة نموذج اللغة على فهم السيرة الذاتية، نُحوّل أولاً محتوى PDF غير المُهيكل إلى صيغة مُهيكلة. يتضمن ذلك تحديد مُخطط يُلخص الحقول مفتاح الموجودة عادةً في السيرة الذاتية. ...