تخطَّ إلى المحتوى الرئيسي
Vantaige
Haystack screenshot
Haystack logo

Haystack

مجاني جزئيًا

Haystack هو إطار عمل Python مفتوح المصدر من deepset لبناء مسارات RAG ووكلاء ذكاء اصطناعي جاهزة للإنتاج. مرخص بموجب Apache 2.0، ويمنح المطورين تحكماً صريحاً في الاسترجاع، وتوجيه السياق، والتوليد من خلال رسوم بيانية للمسارات قابلة للتركيب والتسلسل بتنسيق YAML.

حالات الاستخدام:البرمجة والتطوير
الميزات:APIOpen Source

Haystack هو إطار عمل Python مفتوح المصدر صممته شركة deepset، وهي شركة ذكاء اصطناعي مقرها برلين، لبناء مسارات التوليد المعزز بالاسترجاع (RAG) الجاهزة للإنتاج، ووكلاء الذكاء الاصطناعي، وتطبيقات النماذج اللغوية الكبيرة (LLM) متعددة الوسائط. على عكس المكتبات التغليفية التي تخفي منطق الاسترجاع، يضع Haystack بين يدي المطورين نظام مسارات قائم على الرسوم البيانية حيث يمثل كل مكون - سواء كان مسترجعاً، أو مصنفاً، أو مولداً، أو مخزن ذاكرة، أو منطق توجيه - عقدة صريحة بمدخلات ومخرجات محددة. الإصدار المستقر الحالي هو v2.28.0، ويتم توزيعه باسم haystack-ai على PyPI بموجب ترخيص Apache 2.0. وقد اعتمدت مؤسسات كبرى مثل NVIDIA و Airbus و Apple و Netflix عليه لبناء أنظمة الإنتاج الخاصة بها.

تشمل الميزات الأساسية لإطار العمل مكونات مسار معيارية قابلة للتسلسل بتنسيق YAML للتحكم في الإصدارات، ودعماً أصلياً للرسوم البيانية الدورية التي تتيح حلقات الوكلاء، وتتبعاً مدمجاً عبر OpenTelemetry و Datadog، وتكاملات مع أكثر من 100 قاعدة بيانات متجهة ومزود LLM، بالإضافة إلى خطافات تقييم لأدوات مثل Ragas و DeepEval. تتصل المسارات بـ OpenAI و Anthropic و Mistral و Hugging Face و Weaviate و Pinecone و Elasticsearch وعشرات غيرها دون التقيد بمورد معين. وللفرق التي تحتاج إلى بنية تحتية مُدارة، تقدم deepset منصة Enterprise Platform مع تصميم مرئي للمسارات، وعناصر تحكم في الوصول، وخيارات نشر سحابية أو محلية.

ما الذي يفعله Haystack فعلياً في مايو 2026

في جوهره، يُعد Haystack إطار عمل لتنسيق المسارات لتطبيقات النماذج اللغوية الكبيرة (LLM). المسار عبارة عن رسم بياني موجه من المكونات. يأخذ كل مكون مدخلات محددة النوع ويعيد مخرجات محددة النوع. تقوم بربطها معاً، وتسلسل الرسم البياني الناتج إلى YAML، ويصبح هذا الملف هو قطعة النشر الخاصة بك. هذا هو الرهان المعماري الرئيسي الذي قامت به deepset: يجب أن تكون المسارات قابلة للفحص وإعادة الإنتاج، وليست سلاسل استدعاء ضمنية تعيش فقط في ذاكرة وقت التشغيل.

كان الإصدار 2.0، الذي تم إصداره في 11 مارس 2024 بعد نسخة تجريبية في ديسمبر 2023، بمثابة إعادة كتابة كاملة لإطار العمل. كانت قاعدة التعليمات البرمجية القديمة 1.x تحت farm-haystack تدعم فقط الرسوم البيانية غير الدورية، مما يعني أن حلقات الوكلاء الحقيقية ذات فروع القرار وإعادة المحاولة كانت تتطلب تنسيقاً خارجياً. غيّر دعم المسار الدوري في Haystack 2.0 ذلك: يمكن للمكون توجيه مخرجاته مرة أخرى إلى عقدة سابقة، مما يتيح حلقات التصحيح الذاتي، والاسترجاع متعدد القفزات، وسير عمل الوكلاء الذي يتكرر حتى يتم استيفاء شرط التوقف.

تغطي مكتبة المكونات حزمة RAG بالكامل: معالجات المستندات المسبقة ومقسماتها، والمسترجعات المتفرقة (BM25)، والمسترجعات الكثيفة (القائمة على التضمين)، والمسترجعات الهجينة التي تجمع بينهما، ومعيدي التصنيف المدعومين بـ LLM عبر مكون LLMRanker الذي تم تقديمه في الإصدار v2.26.0، ومنشئي المطالبات مع قوالب Jinja2، وخلفيات مولدات متعددة لأي مزود LLM. يدير مكون Agent استدعاءات الأدوات وسجل المحادثة، ويدعم التفاعلات متعددة الأدوار حيث يقرر النموذج الأدوات التي يجب استدعاؤها تالياً. وللنشر، يغلف تكامل Hayhooks أي مسار في واجهة برمجة تطبيقات REST دون الحاجة إلى تعليمات برمجية إضافية.

تُعد قابلية المراقبة في بيئة الإنتاج من الأولويات القصوى. يأتي إطار العمل مزوداً بتسجيل منظم، وأدوات OpenTelemetry، وتكامل تتبع Datadog. يمكن للفرق مراقبة خطوات الاسترجاع التي تعاني من ضعف الأداء، وتتبع زمن الوصول عبر المسارات متعددة الخطوات، وتشغيل مجموعات التقييم الآلي في كل عملية نشر باستخدام خطافات إطار عمل التقييم المدمجة.

"يُعد Haystack إطار عمل مفتوح المصدر ممتازاً لبناء تطبيقات النماذج اللغوية الكبيرة. نهج 'الصريح بدلاً من الضمني' يعني أنه من الأسهل بكثير تصحيح أخطاء مسارك وتحديثه وصيانته.". مارتن هيلر، InfoWorld، سبتمبر 2024

موقع Haystack مقارنة بـ LangChain و LlamaIndex

تحتل أطر عمل Python الثلاثة المهيمنة لتطبيقات النماذج اللغوية الكبيرة (LLM) مواقع مختلفة بشكل كبير، وتلعب الاختلافات الميكانيكية دوراً مهماً عند اختيار أحدها لبيئة الإنتاج.

يُعد LangChain إطار العمل الأكثر شيوعاً بفارق كبير، حيث يمتلك حوالي 125,000 نجمة على GitHub مقابل 25,100 لـ Haystack. يستخدم تصميماً قابلاً للتركيب يعتمد على السلاسل (LCEL، لغة تعبير LangChain) وهو موجه للوكلاء في المقام الأول، مع مئات التكاملات المبنية مسبقاً للأدوات وواجهات برمجة التطبيقات ومصادر البيانات. اتساع نطاقه هو نقطة قوته: إذا كان هناك مزود، فمن المحتمل أن يكون لدى LangChain تكامل معه. المقايضة هنا هي الغموض. وجدت مقارنات الأداء أن LangChain يستهلك حوالي 2.40 ألف رمز مميز لكل استعلام RAG مقابل 1.57 ألف لـ Haystack للمهام المكافئة، وزمن وصول يبلغ حوالي 10 مللي ثانية مقابل 5.9 مللي ثانية لـ Haystack. تجعل طبقات التجريد في LangChain النمذجة الأولية سريعة ولكن تصحيح أخطاء السلاسل المعقدة أمراً صعباً. لا يوجد تسلسل على مستوى المسار: سير عمل LangChain الخاص بك موجود فقط ككود Python. تميل الفرق التي تحتاج إلى تعريفات مسار صريحة وقابلة للمراجعة إلى إيجاد Haystack أكثر قابلية للصيانة على نطاق واسع. لمقارنة عملية، راجع قائمة LangChain.

يتعامل LlamaIndex (حوالي 40,000 نجمة على GitHub) مع RAG كقدرة أصلية. تم تصميم محركات الاستعلام وأدوات الاسترجاع وموصلات البيانات الخاصة به خصيصاً لاستيعاب المستندات وسير عمل الإجابة على الأسئلة. يستخدم التنسيق القائم على الأحداث في LlamaIndex وظائف Python المزخرفة بدلاً من عقد الرسوم البيانية، مما يوفر تكراراً أسرع أثناء النمذجة. يحتوي على أكثر من 300 تكامل عبر LlamaHub، وهو قوي بشكل خاص في موصلات البيانات، ودعم أصلي لـ Human-in-the-Loop من خلال التوقفات المؤقتة القائمة على الأحداث. تبلغ التنزيلات الشهرية حوالي 5 ملايين مقابل 363 ألفاً لـ Haystack، مما يشير إلى أنه يجذب جمهوراً أوسع من المطورين الأقل توجهاً نحو البنية التحتية. الفجوة مقارنة بـ Haystack: لا تحتوي مسارات عمل LlamaIndex على تسلسل YAML (فهي موجودة فقط ككود Python)، وتتطلب ضمانات الإنتاج مثل حدود الخطوات ومعالجة الأخطاء تنفيذاً يدوياً أكبر. راجع قائمة LlamaIndex لإلقاء نظرة أعمق.

اختصار مفيد: LlamaIndex لمشاريع RAG أولاً حيث يكون استيعاب المستندات معقداً، و LangChain لسير عمل الوكلاء الواسع مع العديد من تكاملات الأدوات، و Haystack لأنظمة الإنتاج حيث تكون قابلية إعادة إنتاج المسار، وقابلية المراقبة، والبنية الصريحة أكثر أهمية من اتساع النظام البيئي.

"تتميز البنية القائمة على المسارات في Haystack بأنها مرئية ومنظمة وقابلة لتصحيح الأخطاء. يستخدم LlamaIndex تنسيقاً قائماً على الأحداث يركز على التعليمات البرمجية، مما يوفر المرونة والسرعة للنمذجة ولكنه يتطلب من المطورين التعامل مع المزيد من حواجز الحماية يدوياً.". مدونة ZenML، 2025

أداتان أخريان تستحقان النظر في حالات الاستخدام المجاورة: يقدم RAGFlow منشئ مسارات مرئياً بدون تعليمات برمجية للفرق التي تريد RAG بواجهة مستخدم رسومية (GUI) أولاً بدون Python، ويوفر Dify منصة أوسع لبناء التطبيقات تقع فوق طبقة إطار العمل بالكامل. يُعد AnythingLLM خياراً آخر للفرق التي ترغب في واجهة RAG مُدارة ومستضافة ذاتياً دون كتابة مسارات من الصفر.

كيف يبدو واقع سير عمل المسار

يبدأ مشروع Haystack النموذجي للإنتاج بتعريف مسار في Python، وربط مثيلات المكونات بالاسم، ثم استدعاء pipeline.to_dict() لتصدير الرسم البياني إلى YAML. يذهب ملف YAML هذا إلى نظام التحكم في الإصدارات. يمكن لزميل قراءته، ومقارنته بإصدار سابق، ومراجعة التغييرات في طلب سحب (PR)، ونشره بثقة أن النظام هو بالضبط ما يصفه ملف YAML.

بالنسبة لنظام الأسئلة والأجوبة للمستندات، النمط الشائع هو: مسار معالجة مسبقة يقوم بتقسيم المستندات وتضمينها في مخزن متجهات عند الاستيعاب، ومسار استعلام يأخذ سؤالاً، ويسترجع الأجزاء المرشحة عبر البحث الهجين (BM25 بالإضافة إلى التضمينات)، ويمررها عبر LLMRanker لإعادة ترتيبها حسب الصلة الدلالية، ثم يغذي أفضل الأجزاء (top-k) إلى مولد باستخدام قالب مطالبة منظم. تعمل السلسلة بأكملها في أقل من 200 مللي ثانية لمعظم الاستعلامات.

سير عمل الوكلاء أكثر تعقيداً. يدير مكون Agent حالة المحادثة ويقرر الأدوات التي يجب استدعاؤها في كل دور. قد يمتلك وكيل البحث أدوات للبحث في الويب، وتنفيذ التعليمات البرمجية، واسترجاع المستندات. يعني دعم الرسم البياني الدوري أن المسار يمكن أن يدور في حلقة: يستدعي الوكيل أداة، ويحصل على النتائج، ويقرر أنه يحتاج إلى مزيد من المعلومات، ويستدعي أداة أخرى، وهكذا حتى يحصل على سياق كافٍ للإجابة. كان هذا يتطلب تنسيقاً خارجياً في Haystack 1.x؛ أما في الإصدار 2.0 فهو مدمج في الرسم البياني للمسار نفسه.

التقييم مدمج وليس مجرد إضافة. توفر deepset إطار عمل للتقييم يتصل بـ Ragas و DeepEval، مما يتيح للفرق قياس دقة الاسترجاع، والاستدعاء، وموثوقية الإجابة تلقائياً. تميل الفرق التي تأخذ التقييم على محمل الجد إلى إيجاد هذا قيماً؛ إنها إحدى المجالات التي يكون فيها Haystack أكثر تحديداً من LangChain، والذي يترك التقييم إلى حد كبير للمطور.

لمن تم بناء Haystack

يُعد Haystack الخيار الصحيح لمهندسي الذكاء الاصطناعي المتمرسين في Python الذين يبنون أنظمة سيقومون بصيانتها وتطويرها على مدار أشهر أو سنوات، وليس عروضاً توضيحية سيطلقونها وينسونها. يكافئ إطار العمل الاستثمار: فكلما زاد تعقيد المسار، زادت فائدة التصميم الصريح للرسم البياني وتسلسل YAML.

تتناسب فرق المؤسسات ذات متطلبات الامتثال والحوكمة بشكل جيد. تعريفات المسار هي قطع قابلة للتدقيق. يسجل التتبع كل خطوة. تضيف منصة Enterprise Platform عناصر تحكم في الوصول والقدرة على التشغيل محلياً حيث لا يمكن للبيانات مغادرة البنية التحتية للمؤسسة. تعكس قائمة عملاء deepset (NVIDIA، Airbus، المفوضية الأوروبية، Netflix) هذا التركيز على المؤسسات.

تستفيد فرق البحث التي تبني أنظمة استرجاع متقدمة من مكتبة المكونات الكاملة. تضمينات المستندات الافتراضية (HyDE)، وإعادة التصنيف عبر المشفر المتقاطع، والاسترجاع الهجين (BM25 بالإضافة إلى التضمين)، وحلقات التصحيح الذاتي: كل هذه مكونات من الدرجة الأولى، وليست تجارب عليك ربطها معاً بنفسك.

ما لا يمثله Haystack

ليس Haystack أداة للبدء السريع. يتطلب نموذج المسار القائم على الرسوم البيانية فهم واجهة المكونات وتوصيل المسار قبل كتابة استعلامك الأول. سيجد المطورون المعتادون على سطر chain.invoke() الواحد في LangChain أن تصميم Haystack الصريح مطول في البداية. إذا كان هدفك هو نموذج أولي يعمل في فترة ما بعد الظهيرة، فإن LlamaIndex أو LangChain سيوصلانك إلى هناك بشكل أسرع.

إنه ليس إطار عمل متعدد اللغات. Haystack متاح لـ Python فقط. يجب على الفرق التي تبني باستخدام JavaScript أو TypeScript أو Java أو Go الجسر إلى خلفية Haystack عبر REST (باستخدام Hayhooks) أو اختيار أداة مختلفة. هذا قيد صارم لا يوجد حل بديل له على مستوى إطار العمل.

إنه ليس أداة مرئية أو بدون تعليمات برمجية. يوجد محرر مسارات مرئي في منصة Enterprise Platform، لكن إطار العمل الأساسي يعتمد على التعليمات البرمجية أولاً. يجب على الفرق التي ترغب في بناء مسارات RAG بالسحب والإفلات تقييم RAGFlow أو Dify بدلاً من ذلك.

إنه ليس قصة انتقال مكتملة من الإصدار الأول (v1). إذا كان لدى فريقك مسارات حالية في farm-haystack 1.x (نهاية العمر الافتراضي في 11 مارس 2025)، فإن إعادة كتابتها إلى واجهة مكونات 2.0 يمثل استثماراً هندسياً كبيراً. لا يوجد مسار ترحيل آلي.

أخيراً، ليس Haystack إطار العمل الأسرع حركة من حيث زخم المجتمع. مع حوالي 25,100 نجمة على GitHub مقابل أكثر من 125,000 لـ LangChain، فإنه يمتلك مجموعة أصغر من البرامج التعليمية التابعة لجهات خارجية، ومنشورات المدونات، وإجابات Stack Overflow. عندما تواجه حالة استثنائية غير عادية، قد تجد نفسك تقرأ الكود المصدري بدلاً من العثور على إجابة مكتوبة مسبقاً. مجتمع Discord الخاص بـ deepset نشط ولوحة مناقشات GitHub سريعة الاستجابة، لكن اتساع المعرفة المجتمعية لا يضاهي ما يقدمه LangChain. هذه المقايضة مقبولة للفرق التي تبني أنظمة إنتاج مع وقت هندسي مخصص؛ لكنها تهم أكثر المطورين المستقلين أو الفرق الصغيرة التي لا تملك الوقت الكافي للتحقيق في المشكلات بشكل مستقل.

تقييمات المستخدمين

لا توجد تقييمات بعد. كن أول من يشارك تجربته!

سجّل الدخول لكتابة تقييم.

ظهرت في مجموعات

قوائم منتقاة تتضمّن Haystack.

مقالات ذات صلة

أدلة ومقالات ذات صلة بـ Haystack.