مشروع GPT Researcher: نظرة عامة مفصلة
نظرة عامة على المشروع
GPT Researcher هو وكيل بحث مفتوح المصدر ومتعمق، مصمم لإجراء أبحاث عبر الإنترنت ومحلية حول أي مهمة معينة. يهدف المشروع إلى إنشاء تقارير بحثية مفصلة وموضوعية وغير متحيزة، مع توفير معلومات مرجعية كاملة. يوفر مجموعة كاملة من خيارات التخصيص لإنشاء وكلاء بحث مخصصين ومحددين للمجال.
الميزات الأساسية
الوظائف الرئيسية
- 📝 إنشاء تقارير بحثية مفصلة باستخدام الويب والمستندات المحلية
- 🖼️ وظيفة ذكية لالتقاط الصور وتصفيتها
- 📜 إنشاء تقارير مفصلة تتجاوز 2000 كلمة
- 🌐 تجميع أكثر من 20 مصدر معلومات للوصول إلى استنتاجات موضوعية
- 🖥️ توفير إصدارات خفيفة الوزن (HTML/CSS/JS) وجاهزة للإنتاج (NextJS + Tailwind) للواجهة الأمامية
- 🔍 دعم جافا سكريبت في استخراج صفحات الويب
- 📂 الحفاظ على الذاكرة والسياق طوال عملية البحث
- 📄 دعم تصدير التقارير بتنسيقات PDF و Word وغيرها
ميزة البحث العميق (Deep Research)
يتضمن GPT Researcher الآن Deep Research - سير عمل بحثي متقدم ومتكرر، قادر على استكشاف الموضوعات بعمق واتساع الوكيل. تستخدم هذه الميزة نمط استكشاف شجري، وتتعمق في الموضوعات الفرعية مع الحفاظ على رؤية شاملة لموضوع البحث.
ميزات البحث العميق:
- 🌳 استكشاف شجري بعمق واتساع قابلين للتكوين
- ⚡️ معالجة متزامنة للحصول على نتائج أسرع
- 🤝 إدارة سياق ذكية عبر فروع البحث
- ⏱️ يستغرق كل بحث عميق حوالي 5 دقائق
- 💰 تكلفة كل بحث حوالي 0.4 دولار (باستخدام "جهد استدلال عالي" لـ o3-mini)
البنية التقنية
الفكرة الأساسية
الفكرة الأساسية للمشروع هي استخدام وكلاء "المخطط" و "المنفذ". يقوم المخطط بإنشاء أسئلة البحث، بينما يقوم وكيل التنفيذ بجمع المعلومات ذات الصلة. ثم يقوم الناشر بتجميع جميع النتائج في تقرير شامل.
سير العمل
- إنشاء وكيل خاص بالمهمة بناءً على استعلام البحث
- إنشاء مجموعة من الأسئلة التي يمكن أن تشكل وجهة نظر موضوعية للمهمة
- استخدام وكلاء الزحف لجمع المعلومات لكل سؤال
- تلخيص كل مصدر وتتبع المصادر
- تصفية وتجميع الملخصات في تقرير البحث النهائي
المشاكل التي تم حلها
يهدف GPT Researcher إلى حل تحديات البحث التالية:
- التكلفة الزمنية: قد يستغرق البحث اليدوي للوصول إلى استنتاجات موضوعية أسابيع، ويتطلب موارد كبيرة
- المعلومات القديمة: قد تنتج نماذج اللغة الكبيرة (LLM) المدربة على معلومات قديمة هلوسات غير ذات صلة بمهمة البحث الحالية
- حدود الرموز المميزة: حدود الرموز المميزة الحالية في نماذج اللغة الكبيرة غير كافية لإنشاء تقارير بحثية طويلة
- مصادر المعلومات المحدودة: تؤدي مصادر الويب المحدودة في الخدمات الحالية إلى معلومات مضللة ونتائج سطحية
- مشكلة التحيز: قد يؤدي اختيار مصادر الويب الانتقائية إلى إدخال تحيز في مهمة البحث
التثبيت والاستخدام
بداية سريعة
متطلبات البيئة:
- تثبيت Python 3.11 أو إصدار أحدث
الخطوات:
- استنساخ المشروع والانتقال إلى الدليل:
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher
- إعداد مفاتيح API:
export OPENAI_API_KEY={Your OpenAI API Key here}
export TAVILY_API_KEY={Your Tavily API Key here}
- تثبيت التبعيات وتشغيل الخادم:
pip install -r requirements.txt
python -m uvicorn main:app --reload
- قم بزيارة http://localhost:8000 للبدء في الاستخدام
تثبيت حزمة PIP
pip install gpt-researcher
مثال على الكود:
from gpt_researcher import GPTResearcher
query = "why is Nvidia stock going up?"
researcher = GPTResearcher(query=query, report_type="research_report")
# إجراء بحث حول استعلام معين
research_result = await researcher.conduct_research()
# كتابة التقرير
report = await researcher.write_report()
نشر Docker
- تثبيت Docker
- استنساخ ملف '.env.example' وإضافة مفاتيح API وحفظه باسم '.env'
- قم بالتعليق على الخدمات التي لا تريد تشغيلها في ملف docker-compose
- تشغيل:
docker-compose up --build
بشكل افتراضي، سيتم تشغيل عمليتين:
- خادم Python يعمل على localhost:8000
- تطبيق React يعمل على localhost:3000
البحث في المستندات المحلية
يدعم GPT Researcher مهام البحث بناءً على المستندات المحلية. تتضمن تنسيقات الملفات المدعومة حاليًا: PDF، والنص العادي، و CSV، و Excel، و Markdown، و PowerPoint، ومستندات Word.
خطوات الإعداد:
- إضافة متغير البيئة
DOC_PATH
ليشير إلى المجلد الذي توجد به المستندات:
export DOC_PATH="./my-docs"
- في تطبيق الواجهة الأمامية، حدد "مستنداتي" من خيار القائمة المنسدلة "مصدر التقرير"، أو قم بتعيين معلمة
report_source
على "local" عند استخدام حزمة PIP.
نظام متعدد الوكلاء
مع تطور الذكاء الاصطناعي من هندسة المطالبات و RAG إلى أنظمة متعددة الوكلاء، يقدم GPT Researcher مساعدًا جديدًا متعدد الوكلاء يعتمد على LangGraph.
باستخدام LangGraph، يمكن تحسين عملية البحث بشكل كبير من حيث العمق والجودة من خلال الاستفادة من وكلاء متعددين يتمتعون بمهارات متخصصة. مستوحى من ورقة STORM الأخيرة، يوضح هذا المشروع كيف يمكن لفريق من وكلاء الذكاء الاصطناعي التعاون في البحث في موضوع معين، من التخطيط إلى النشر.
يتم تشغيل متوسط لإنشاء تقارير بحثية من 5 إلى 6 صفحات، مع دعم تنسيقات متعددة مثل PDF و Docx و Markdown.
الواجهة الأمامية
يحتوي GPT Researcher الآن على واجهة أمامية محسّنة لتحسين تجربة المستخدم وتبسيط عملية البحث. توفر الواجهة الأمامية:
- واجهة سهلة الاستخدام لإدخال استعلامات البحث
- تتبع التقدم في الوقت الفعلي لمهام البحث
- عرض تفاعلي لنتائج البحث
- إعدادات قابلة للتخصيص للحصول على تجربة بحث مخصصة
يتم توفير خيارين للنشر:
- واجهة أمامية ثابتة خفيفة الوزن يتم تقديمها بواسطة FastAPI
- تطبيق NextJS غني بالميزات مع وظائف متقدمة
الخصائص التقنية
التحكم في التحيز
- تقليل الحقائق الخاطئة والمتحيزة عن طريق الزحف إلى مواقع ويب متعددة
- تقليل احتمالية أن تكون جميع المعلومات خاطئة عن طريق اختيار المعلومات الأكثر تكرارًا
- لا يهدف إلى القضاء على التحيز، بل إلى تقليله قدر الإمكان
- الزحف إلى وجهات نظر متعددة، وشرح وجهات النظر المتنوعة بالتساوي
تحسين الأداء
- توفير أداء مستقر وزيادة السرعة عن طريق موازاة عمل الوكيل
- تعمل المعالجة غير المتزامنة على تحسين الكفاءة مقارنة بالعمليات المتزامنة
- تضمن إدارة السياق الذكية تماسك البحث
تنويه
GPT Researcher هو تطبيق تجريبي يتم توفيره "كما هو" دون أي ضمانات صريحة أو ضمنية. تتم مشاركة الكود للأغراض الأكاديمية بموجب ترخيص Apache 2. المحتوى هنا ليس نصيحة أكاديمية ولا يوصى باستخدامه في الأوراق الأكاديمية أو البحثية.
