中文版文档
تعمل تقنية توليد تعزيز الاسترجاع (RAG) على تعزيز تكامل تطبيقات المجال مع نماذج اللغات الكبيرة. ومع ذلك، يواجه RAG مشاكل مثل الفجوة الكبيرة بين تشابه المتجهات وارتباط تفكير المعرفة، وعدم الحساسية لمنطق المعرفة (مثل القيم العددية، والعلاقات الزمنية، وقواعد الخبراء، وما إلى ذلك)، مما يعيق تنفيذ خدمات المعرفة المهنية.
في 24 أكتوبر 2024، أصدر OpenSPG الإصدار 0.5، ليطلق رسميًا إطار خدمة المعرفة بالمجال الاحترافي لتوليد المعرفة المعززة (KAG). تهدف KAG إلى الاستفادة الكاملة من مزايا الرسم البياني المعرفي واسترجاع المتجهات، وتعزيز نماذج اللغة الكبيرة والرسوم البيانية المعرفية بشكل ثنائي من خلال أربعة جوانب لحل تحديات RAG: (1) تمثيل المعرفة الصديق لماجستير اللغة الإنجليزية، (2) الرسم البياني المعرفي و النص الأصلي الفهرس المتبادل بين الأجزاء، (3) محرك تفكير هجين يسترشد بالأشكال المنطقية، (4) محاذاة المعرفة مع التفكير الدلالي.
KAG أفضل بكثير من NaiveRAG وHippoRAG وغيرها من الأساليب في مهام الأسئلة والأجوبة متعددة القفزات. تمت زيادة درجة F1 على hotpotQA نسبيًا بنسبة 19.6%، وزادت درجة F1 على 2wiki نسبيًا بنسبة 33.5%. لقد نجحنا في تطبيق KAG على مهمتي الأسئلة والأجوبة المتعلقة بالمعرفة المهنية لمجموعة Ant Group، بما في ذلك سؤال وجواب الحكومة الإلكترونية وسؤال وجواب الصحة الإلكترونية، وقد تم تحسين الاحترافية بشكل ملحوظ مقارنة بطريقة RAG.
يتضمن إطار عمل KAG ثلاثة أجزاء: منشئ كجم، وحل كجم، ونموذج كاج. يتضمن هذا الإصدار الجزأين الأولين فقط، وسيكون إصدار kag-model مفتوح المصدر تدريجيًا في المستقبل.
يطبق برنامجkg-builder تمثيلًا معرفيًا ملائمًا لنماذج اللغة واسعة النطاق (LLM). استنادًا إلى الهيكل الهرمي لـ DIKW (البيانات والمعلومات والمعرفة والحكمة)، تقوم تكنولوجيا المعلومات بترقية قدرة تمثيل المعرفة لـ SPG، وتتوافق مع استخراج المعلومات دون قيود المخطط وبناء المعرفة المهنية مع قيود المخطط على نفس نوع المعرفة (مثل نوع الكيان ونوع الحدث)، كما أنه يدعم تمثيل الفهرس المتبادل بين بنية الرسم البياني وكتلة النص الأصلية، مما يدعم الاسترجاع الفعال لمرحلة السؤال والإجابة المنطقية.
يستخدم برنامجkg-solver محرك حل واستدلال هجين موجه بالرموز المنطقية يتضمن ثلاثة أنواع من العوامل: التخطيط والاستدلال والاسترجاع، لتحويل مشاكل اللغة الطبيعية إلى عملية حل المشكلات التي تجمع بين اللغة والرموز. في هذه العملية، يمكن لكل خطوة استخدام عوامل تشغيل مختلفة، مثل استرجاع المطابقة التامة، أو استرجاع النص، أو الحساب العددي أو المنطق الدلالي، وذلك لتحقيق التكامل بين أربع عمليات مختلفة لحل المشكلات: الاسترجاع، واستدلال الرسم البياني المعرفي، والاستدلال اللغوي، والحساب العددي. .
في سياق قواعد المعرفة الخاصة، غالبًا ما تتعايش البيانات غير المنظمة والمعلومات المنظمة وخبرة خبراء الأعمال. تشير KAG إلى التسلسل الهرمي DIKW لترقية SPG إلى إصدار مناسب لـ LLMs. بالنسبة للبيانات غير المنظمة مثل الأخبار والأحداث والسجلات والكتب، بالإضافة إلى البيانات المنظمة مثل المعاملات والإحصاءات والموافقات، إلى جانب الخبرة التجارية وقواعد معرفة المجال، تستخدم KAG تقنيات مثل تحليل التخطيط، واستخراج المعرفة، وتطبيع الممتلكات، والمواءمة الدلالية لدمج بيانات الأعمال الأولية وقواعد الخبراء في رسم بياني موحد للمعرفة التجارية.
وهذا يجعله متوافقًا مع استخراج المعلومات الخالية من المخططات وبناء الخبرة المقيدة بالمخططات على نفس نوع المعرفة (على سبيل المثال، نوع الكيان، ونوع الحدث)، ويدعم التمثيل عبر الفهرس بين بنية الرسم البياني وكتلة النص الأصلية . يعد تمثيل الفهرس المتبادل مفيدًا في بناء فهرس مقلوب استنادًا إلى بنية الرسم البياني، ويعزز التمثيل الموحد والتفكير المنطقي للأشكال المنطقية.
تقترح KAG حلاً هجينًا موجهًا بشكل منطقي ومحرك استدلال. يتضمن المحرك ثلاثة أنواع من العوامل: التخطيط والاستدلال والاسترجاع، والتي تحول مشاكل اللغة الطبيعية إلى عمليات حل المشكلات التي تجمع بين اللغة والتدوين. في هذه العملية، يمكن لكل خطوة استخدام عوامل تشغيل مختلفة، مثل استرجاع المطابقة التامة، أو استرجاع النص، أو الحساب العددي أو المنطق الدلالي، وذلك لتحقيق التكامل بين أربع عمليات مختلفة لحل المشكلات: الاسترجاع، واستدلال الرسم البياني المعرفي، والاستدلال اللغوي، والحساب العددي. .
بعد التحسين، لم نتحقق فقط من قدرة KAG على التكيف في الحقول الرأسية، بل قمنا أيضًا بمقارنتها بطريقة RAG الحالية في الأسئلة والأجوبة متعددة القفزات لمجموعات البيانات العامة. لقد وجدنا أنها أفضل بشكل واضح من طريقة SOTA، مع زيادة F1 بنسبة 33.5% على 2wiki و19.6% على hotpotQA. نحن مستمرون في تحسين هذا الإطار وأثبتنا فعاليته من خلال التجارب الشاملة ومقاييس تجربة الاجتثاث. نحن نثبت صحة هذا الإطار من خلال الاستدلال القائم على الرمز المنطقي والمواءمة المفاهيمية.
تعريف قواعد تعريف "تطبيق المقامرة".
تحديد قاعدة RiskAppTaxo
Define (s:App)-[p:belongTo]->(o:`TaxOfRiskApp`/`GamblingApp`) {
Structure {
(s)
}
Constraint {
R1("risk label marked as gambling") s.riskMark like "%Gambling%"
}
}
تحديد قواعد تعريف "مطور التطبيقات".
تحديد قاعدة مطور التطبيق
Define (s:Person)-[p:developed]->(o:App) {
Structure {
(s)-[:hasDevice]->(d:Device)-[:install]->(o)
}
Constraint {
deviceNum = group(s,o).count(d)
R1("device installed same app"): deviceNum > 5
}
}
تحديد قواعد تحديد "مطوري تطبيقات المقامرة"
تحديد قاعدة تطبيق RiskUser للمقامرة
Define (s:Person)-[p:belongTo]->(o:`TaxOfRiskUser`/`DeveloperOfGamblingApp`) {
Structure {
(s)-[:developed]->(app:`TaxOfRiskApp`/`GamblingApp`)
}
Constraint {
}
}
الخطوات الرئيسية في عملية التفكير هي كما يلي.
تحويل مشاكل اللغة الطبيعية إلى تعبيرات منطقية قابلة للتنفيذ، والتي تعتمد على النمذجة المفاهيمية في إطار المشروع، والإشارة إلى وثيقة تعدين المنتج الأسود.
قم بإرسال التعبير المنطقي المحول إلى مُسبب OpenSPG للتنفيذ للحصول على نتيجة تصنيف المستخدم.
توليد إجابات لنتائج تصنيف المستخدم.
بالاشتراك مع نمذجة مفهوم OpenSPG، يمكن لـ KAG تقليل صعوبة استعلام الرسم البياني لتحويل اللغة الطبيعية، وتغيير التحويل الموجه نحو البيانات إلى التحويل الموجه نحو مفهوم التصنيف، وتحقيق التطبيق الميداني لسؤال اللغة الطبيعية وإجابته بسرعة في مشروع OpenSPG الأصلي.
يوصي إصدار النظام:
macOS User:macOS Monterey 12.6 or later
Linux User:CentOS 7 / Ubuntu 20.04 or later
Windows User:Windows 10 LTSC 2021 or later
متطلبات البرمجيات:
macOS / Linux User:Docker,Docker Compose
Windows User:WSL 2 / Hyper-V,Docker,Docker Compose
استخدم الأوامر التالية لتنزيل ملف docker-compose.yml وتشغيل الخدمات باستخدام Docker Compose.
# قم بتعيين متغير البيئة HOME (يحتاج مستخدمو Windows فقط إلى تنفيذ هذا الأمر) # set HOME=%USERPROFILE%curl -sSL https://raw.githubusercontent.com/OpenSPG/openspg/refs/heads/master/dev/release/ docker-compose.yml -o docker-compose.yml عامل الإرساء يؤلف -f docker-compose.yml يصل -d
انتقل إلى عنوان URL الافتراضي لمنتج KAG باستخدام متصفحك: http://127.0.0.1:8887
راجع دليل المنتج للحصول على مقدمة مفصلة.
ارجع إلى القسم 3.1 لإكمال تثبيت المحرك والصورة التابعة.
مطورو نظام التشغيل MacOS / Linux
# Create conda env: conda create -n kag-demo python=3.10 && conda activate kag-demo
# Clone code: git clone https://github.com/OpenSPG/KAG.git
# Install KAG: cd KAG && pip install -e .
مطوري ويندوز
# Install the official Python 3.8.10 or later, install Git.
# Create and activate Python venv: py -m venv kag-demo && kag-demoScriptsactivate
# Clone code: git clone https://github.com/OpenSPG/KAG.git
# Install KAG: cd KAG && pip install -e .
يرجى الرجوع إلى دليل البدء السريع للحصول على مقدمة تفصيلية لمجموعة الأدوات. وبعد ذلك، يمكنك استخدام المكونات المضمنة لإعادة إنتاج نتائج أداء مجموعات البيانات المضمنة، وتطبيق تلك المكونات على سيناريوهات الأعمال الجديدة.
إذا كانت المكونات المضمنة التي توفرها KAG لا تلبي متطلباتك، فيمكنك توسيع تطبيق kag-builder وkag-solver بنفسك. يرجى الرجوع إلى ملحق KAG-Builder وملحق KAG-Solver.
تستخدم KAG BuilderChain لربط المكونات مثل القارئ والمقسم ورسم الخرائط والمستخرج والمصفف والمتجه. يمكن للمطورين استخدام BuilderChain المحدد مسبقًا بواسطة kag لإكمال إنشاء الرسم البياني، أو تجميع المكونات المحددة مسبقًا والحصول على BuilderChain.
وفي الوقت نفسه، يمكن للمطورين تخصيص المكونات في المنشئ وتضمينها في BuilderChain للتنفيذ.
kag
├──interface
│ ├── builder
│ │ ├── aligner_abc.py
│ │ ├── extractor_abc.py
│ │ ├── mapping_abc.py
│ │ ├── reader_abc.py
│ │ ├── splitter_abc.py
│ │ ├── vectorizer_abc.py
│ │ └── writer_abc.py
ينفذ kag-solver خطوط أنابيب حل تتكون من مكونات المسبب والمولد والعاكس. توفر KAG المسبب الافتراضي والمولد والعاكس. يمكن للمطورين أيضًا توفير تطبيقات مخصصة بناءً على واجهات برمجة التطبيقات التالية:
kag
├── solver
│ ├── logic
│ │ └── solver_pipeline.py
├── interface
├── retriever
│ ├── chunk_retriever_abc.py
│ └── kg_retriever_abc.py
└── solver
├── kag_generator_abc.py
├── kag_memory_abc.py
├── kag_reasoner_abc.py
├── kag_reflector_abc.py
└── lf_planner_abc.py
تدعم KAG الإرساء باستخدام واجهات برمجة تطبيقات MaaS المتوافقة مع خدمات OpenAI مثل Qwen / DeepSeek / GPT، كما تدعم أيضًا الإرساء مع النماذج المحلية المنشورة بواسطة vLLM / Ollama. يمكن للمطورين إضافة دعم لخدمات النماذج المخصصة بناءً على واجهة llm_client.
kag
├── common
├── llm
├── client
│ ├── llm_client.py
│ ├── ollama_client.py
│ ├── openai_client.py
│ ├── vllm_client.py
تدعم KAG استدعاء نماذج OpenAI التمثيلية وما شابه ذلك، بما في ذلك خدمات تضمين OpenAI، ونموذج bge-m3 الذي تنشره Ollama. كما أنه يدعم تحميل واستخدام نماذج التضمين المحلية.
kag
├── common
├── vectorizer
│ ├── vectorizer.py
│ ├── openai_vectorizer.py
│ ├── local_bge_m3_vectorizer.py
│ ├── local_bge_vectorizer.py
عند دمجها مع أطر عمل أخرى، يمكن استخدام بيانات الأعمال الخارجية ومعرفة الخبراء كمدخلات لاستدعاء خط أنابيب kag-builder لإكمال إنشاء الرسم البياني المعرفي. يمكنك أيضًا الاتصال بـ kag-solver لإكمال عملية الاستدلال للأسئلة والأجوبة، ويتم الكشف عن نتيجة الاستدلال والعملية الوسيطة لنظام الأعمال.
يمكن وصف الطريقة التي تدمج بها الأطر الأخرى kag ببساطة على النحو التالي:
حقن المعرفة بالمجال لتحقيق دمج الرسم البياني لمفهوم المجال والرسم البياني للكيان
تحسين نموذج kag لتحسين كفاءة بناء رياض الأطفال والأسئلة والأجوبة
الهلوسة تثبيط القيود المنطقية المعرفة
إذا كنت تستخدم هذا البرنامج، يرجى ذكره على النحو التالي:
KAG: تعزيز ماجستير إدارة الأعمال في المجالات المهنية من خلال توليد المعرفة المعززة
KGFabric: مستودع الرسم البياني المعرفي القابل للتطوير للتوصيل البيني لبيانات المؤسسة
@article{liang2024kag, title={KAG: تعزيز ماجستير إدارة الأعمال في المجالات المهنية عبر توليد المعرفة المعززة}، المؤلف={Liang, Lei and Sun, Mengshu and Gui, Zhengke and Zhu, Zhongshu and Jiang, Zhouyu and Zhong, Ling and Qu, Yuan and Zhao, Peilong and Bo, Zhongpu and Yang, Jin and others}, Journal={arXiv preprint arXiv:2409.13731}, year={2024}}@article{yikgfabric, title={KGFabric: مستودع الرسم البياني المعرفي القابل للتطوير للمؤسسات ربط البيانات}، المؤلف={Yi, Peng and Liang, Lei and Da Zhang, Yong Chen and Zhu, Jinye and Liu, Xiangyu and Tang, Kun and Chen, Jialin and Lin, Hao and Qiu, Leijie and Zhou, Jun}}
ترخيص أباتشي 2.0