اشتراک
معماری GraphRAG برای بهبود دقت پرسش و پاسخ با استفاده از پایگاه داده گرافی
معماری GraphRAG برای بهبود دقت پرسش و پاسخ با استفاده از پایگاه داده گرافی
هوش مصنوعی یادگیری ماشین پایگاه داده

افزایش دقت پرسش و پاسخ با GraphRAG با استفاده از PyG و پایگاه‌های داده گرافی

در یک نگاه چکیدهٔ خودکار موتور هوش مصنوعی افق آبی

در این مقاله، به بررسی روشی برای بهبود دقت در پرسش و پاسخ با استفاده از ترکیب GraphRAG، مدل‌های GNN و LLM پرداخته شده است. مدل‌های زبانی بزرگ معمولاً در پاسخ به سوالات تخصصی با مشکلات دقت روبرو می‌شوند. با ترکیب روش GraphRAG و استفاده از PyG، می‌توان دقت پاسخ‌ها را تا دو برابر بهبود داد. این روش می‌تواند به خصوص در حوزه‌های زیست‌پزشکی، مالی و داده‌های حساس به حریم خصوصی مورد استفاده قرار گیرد. رویکرد GraphRAG بر اساس گراف‌های دانش طراحی شده و از روش‌های گرافی برای بازیابی اطلاعات و پردازش عصبی بهره می‌برد. نتایج نشان می‌دهد که این روش بهبودهای قابل توجهی نسبت به پایگاه‌های داده استاندارد دارد و می‌تواند در کم‌تر از یک ثانیه به پرسش‌ها پاسخ دهد. این مقاله مراحل پیاده‌سازی و نتایج این رویکرد را به تفصیل بررسی کرده و نشان می‌دهد چگونه می‌توان از آن در پرسش و پاسخ‌های پیچیده استفاده کرد. همچنین، به آموزش PyG و استفاده از پایگاه داده Neo4j برای ذخیره‌سازی و پردازش گراف‌های دانش اشاره شده است. در نتایج، روش ترکیبی از GraphRAG و GNN عملکرد بهتری نسبت به روش‌های قبلی داشته و توانسته دقت بالاتری در بازیابی و ارائه پاسخ‌های دقیق به دست آورد. این مقاله با ارائه جزئیات فنی، پیاده‌سازی داده‌ها و آموزش مدل‌ها، به محققان و متخصصان فناوری اطلاعات کمک می‌کند تا این روش را در پروژه‌های خود به کار گیرند.

مدل‌های زبانی بزرگ (LLM) اغلب در هنگام پاسخ به سؤالات تخصصی، به ویژه آن‌هایی که نیازمند استدلال چند مرحله‌ای (multi-hop reasoning) یا دسترسی به داده‌های اختصاصی هستند، با مشکل دقت مواجه می‌شوند. اگرچه تولید افزوده با بازیابی (RAG) می‌تواند کمک‌کننده باشد، روش‌های جستجوی برداری سنتی اغلب کافی نیستند.

در این آموزش، به شما نشان می‌دهیم که چگونه GraphRAG (تولید افزوده با بازیابی مبتنی بر گراف) را در ترکیب با مدل‌های تنظیم‌شده GNN+LLM پیاده‌سازی کنید تا به دقتی ۲ برابر بیشتر از خطوط پایه استاندارد دست یابید.

این رویکرد به‌ویژه برای سناریوهای زیر ارزشمند است:

  • دانش تخصصی (کاتالوگ محصولات، زنجیره‌های تأمین)
  • اطلاعات اختصاصی با ارزش بالا (کشف دارو، مدل‌های مالی)
  • داده‌های حساس به حریم خصوصی (تشخیص تقلب، سوابق بیماران)

نحوه عملکرد GraphRAG

این رویکرد خاص تولید افزوده با بازیابی مبتنی بر گراف (GraphRAG) بر اساس معماری G-Retriever بنا شده است. G-Retriever داده‌های پایه را به عنوان یک گراف دانش نشان می‌دهد که بازیابی مبتنی بر گراف را با پردازش عصبی ترکیب می‌کند:

  • ساخت گراف دانش: نمایش دانش دامنه به عنوان ساختار گراف.
  • بازیابی هوشمند: استفاده از کوئری‌های گراف و الگوریتم درخت اشتاینر جمع‌آوری‌کننده جایزه (Prize-Collecting Steiner Tree - PCST) برای یافتن زیرگراف‌های مرتبط.
  • پردازش عصبی: ادغام لایه‌های شبکه عصبی گرافی (GNN) در طول تنظیم دقیق (fine-tuning) مدل زبانی بزرگ (LLM) برای بهینه‌سازی توجه بر روی زمینه بازیابی‌شده.
گردش کار کامل G-Retriever شامل بازیابی گره‌ها و یال‌های مشابه معنایی، ایجاد زیرگراف و ارائه آن به GNN و LLM.
شکل ۱. معماری G-Retriever (منبع: G-Retriever: تولید افزوده با بازیابی برای درک گراف متنی و پرسش و پاسخ)

این فرآیند با سه‌گانه‌های داده آموزشی {(Qi, Ai, Gi)} کار می‌کند:

  • Qi: سوال چند مرحله‌ای به زبان طبیعی
  • Ai: مجموعه‌ای از گره‌های پاسخ
  • Gi = (Vi, Ei): زیرگراف مرتبط (که قبلاً با روشی به دست آمده است)

پایپ‌لاین مراحل زیر را دنبال می‌کند:

  1. یافتن گره‌های Vj ⊆ Vi و یال‌های Ej ⊆ Ei که از نظر معنایی به سوال Qi شبیه هستند.
  2. اختصاص جوایز بالا به این گره‌ها و یال‌های منطبق.
  3. اجرای یک نوع از الگوریتم PCST برای یافتن زیرگراف بهینه Gi* ⊆ Gi که جایزه را حداکثر و اندازه را حداقل می‌کند.
  4. تنظیم دقیق مدل ترکیبی GNN+LLM بر روی جفت‌های {(Qi, Gi*)} برای پیش‌بینی {Ai}.

کتابخانه PyG (PyTorch Geometric) یک تنظیم ماژولار برای G-Retriever ارائه می‌دهد. مخزن کد ما این را با یک پایگاه داده گرافی برای ذخیره‌سازی گراف‌های بزرگ و یک شاخص برداری و همچنین ارائه قالب‌های کوئری بازیابی، ادغام می‌کند.

مثال واقعی: پرسش و پاسخ زیست‌پزشکی

به مجموعه داده زیست‌پزشکی STaRK-Prime نگاه کنید. این سوال را در نظر بگیرید: «کدام داروها آنزیم CYP3A4 را هدف قرار می‌دهند و برای درمان استرونژیلوئیدیازیس استفاده می‌شوند؟»

پاسخ صحیح (ایورمکتین) نیازمند درک موارد زیر است:

  • روابط مستقیم (ارتباط دارو-آنزیم، دارو-بیماری)
  • ویژگی‌های گره (توضیحات و طبقه‌بندی داروها)
نمونه‌ای از کوئری سایفر (Cypher) که زیرگرافی نشان‌دهنده همسایگی مشترک دو گره را بازیابی می‌کند.
شکل ۲. نمونه کوئری گراف دانش

این مجموعه داده به دلیل عوامل زیر به‌طور خاص چالش‌برانگیز است:

  • انواع گره و رابطه ناهمگن
  • ویژگی‌های متنی با طول متغیر
  • درجه متوسط بالای گره که باعث انفجار همسایگی می‌شود
  • الزامات استدلال چند مرحله‌ای پیچیده
توصیف شمای گراف stark-prime شامل مفاهیم زیست‌پزشکی مانند دارو، ژن و پروتئین با یال‌هایی مانند حامل و تعامل با، همراه با توضیحات متنی غنی استخراج شده از پایگاه‌های داده مختلف زیست‌پزشکی.
شکل ۳. نمایش بصری پیچیدگی گراف

برای دنبال کردن این آموزش، توصیه می‌کنیم با موارد زیر آشنا باشید:

  • پایگاه‌های داده گرافی: دانش عملی در مورد Neo4j و کوئری‌های سایفر (Cypher)
  • شبکه‌های عصبی گرافی (GNN): استفاده اولیه از PyTorch Geometric (PyG)
  • مدل‌های زبانی بزرگ (LLM): تجربه با تنظیم دقیق (fine-tuning) مدل
  • جستجوی برداری: درک تعبیه‌ها (embeddings) و جستجوی شباهت
اشتراک:
این گزارش ترجمه و بازنویسی خبری با موتور هوش مصنوعی افق آبی است و برای خوانندهٔ فارسی‌زبان بازتنظیم شده. منبع اصلی: nvidia developer blog