ناسا با گراف و LLM شبکهٔ مهارت کارمنداشو ساخت
خلاصهٔ کاملتر
تو گزارش Memgraph از جلسهٔ community با تیم People Analytics ناسا اومده که این تیم یه People Knowledge Graph ساخته: یه گراف که کارمند، مهارت، پروژه، مرکز و رشتهٔ تحصیلی رو به هم وصل میکنه. به گفتهٔ اونها دادههای آدمها تو دیتابیسهای رابطهای پر از join و بههمریخته بود و جواب سوالهایی مثل «کی تو چند مرکز مختلف روی پروژههای AI مشابه کار کرده؟» ازش درنمیاومد.
کل سیستم روی کلاود داخلی و امن AWS ناسا بالا اومده. Memgraph داخل Docker روی EC2 اجرا میشه و یه سرور LLM محلی با Ollama هم روی EC2 هست که هم مهارتها رو از رزومهها بیرون میکشه هم جواب چتبات رو تولید میکنه. دادههای خام تو باکتهای S3 میمونه و با GQLAlchemy و کوئریهای Cypher وارد گراف میشه. لایسنس enterprise هم بهشون اجازه داده دادهها رو بین چند دیتابیس جدا کنن تا اطلاعات هویتی (PII) ایزوله بمونه.
مهارتها بدون دیتاست دستی برچسبخورده استخراج میشن؛ Ollama رزومه رو میخونه و مهارتها بهشکل نود به کارمند وصل میشن. برای پروژهها هم شباهت کسینوسی (یعنی مقایسهٔ عددی بردار توضیحات دو پروژه) حساب شده و اگه از یه آستانه بیشتر بشه، بینشون رابطه ساخته میشه. embeddingها مستقیم بهعنوان property تو Memgraph ذخیره شدن و روشون ایندکس vector search خورده. یعنی جستوجوی فازی و پیدا کردن نودهای شبیه هم داخل خود دیتابیس انجام میشه.
چتبات با GraphRAG کار میکنه: اول LLM اطلاعات کلیدی سوال رو درمیاره، بعد برای هر تیکه جداگانه جستوجو میشه و از نودهای پیداشده چند hop جلو میره تا «context triplet» بسازه، یعنی نود شروع، نود پایان و رابطهٔ بینشون. همینها بههمراه خود سوال به Ollama داده میشه. نویسنده میگه پروژه هنوز در حال پخته شدنه و کار بعدی یکی کردن اسمهای تکراری مثل JS و JavaScript، خودکار کردن پایپلاین و بهتر کردن دقت تولید Cypher با MCPه.
نکات کلیدی:
- گراف فعلی حدود ۲۷٬۰۰۰ نود و ۲۳۰٬۰۰۰ یال داره که حدود ۱۸٬۰۰۰ تاش نود کارمنده
- هدف بعدی رسیدن به بیش از ۵۰۰٬۰۰۰ نود و میلیونها رابطهست
- Memgraph جای Neo4j انتخاب شد چون هزینهش کمتر بود و همون Cypher و کلاینت Python رو داشت
- استخراج مهارت با LLM جای مدلهای NER سفارشی spaCy رو گرفت که برچسبزنی دستی میخواستن
- همهٔ نودها برچسب Entity دارن تا vector index و GraphRAG روشون کار کنه




