وكيل بحث متقدم PaperQA2 مدعوم بـ Gemini من جوجل لتحليل الأبحاث العلمية

هذا البرنامج التعليمي يرشدك خطوة بخطوة لبناء وكيل ذكاء اصطناعي متقدم PaperQA2، مدعومًا بنموذج Gemini من جوجل، مصمم خصيصًا لتحليل الأبحاث العلمية. سنقوم بإعداد البيئة في Google Colab/Notebook، وتكوين واجهة برمجة تطبيقات Gemini، ودمجها بسلاسة مع PaperQA2 لمعالجة واستعلام العديد من الأوراق البحثية. في نهاية الإعداد، سيكون لدينا وكيل ذكي قادر على الإجابة على الأسئلة المعقدة، وإجراء تحليلات متعددة الأسئلة، وإجراء أبحاث مقارنة عبر الأوراق، مع توفير إجابات واضحة مدعومة بأدلة من الوثائق المصدر.

1. إعداد البيئة وتثبيت المكتبات

نبدأ بتثبيت المكتبات المطلوبة، بما في ذلك PaperQA2 وواجهة برمجة تطبيقات جوجل للذكاء الاصطناعي التوليدي (Generative AI SDK)، ثم نستورد الوحدات اللازمة لمشروعنا. نقوم بتعيين مفتاح واجهة برمجة تطبيقات Gemini كمتغير بيئة وتكوينه، لضمان جاهزية التكامل للاستخدام.

pip install paper-qa>=5 google-generativeai requests pypdf2 -q
import os
import asyncio
import tempfile
import requests
from pathlib import Path
from paperqa import Settings, ask, agent_query
from paperqa.settings import AgentSettings
import google.generativeai as genai

GEMINI_API_KEY = "استخدم مفتاح واجهة برمجة التطبيقات الخاص بك هنا"
os.environ["GEMINI_API_KEY"] = GEMINI_API_KEY
genai.configure(api_key=GEMINI_API_KEY)
print("تم تكوين مفتاح واجهة برمجة تطبيقات Gemini بنجاح!")

2. تنزيل الأوراق البحثية

نقوم بتنزيل مجموعة من الأوراق البحثية المعروفة في مجال الذكاء الاصطناعي وتعلم الآلة لتحليلنا، ونخزنها في مجلد مخصص.

def download_sample_papers():
    """تنزيل نماذج من الأوراق البحثية في مجال الذكاء الاصطناعي/تعلم الآلة للتحقق"""
    papers = {
        "attention_is_all_you_need.pdf": "https://arxiv.org/pdf/1706.03762.pdf",
        "bert_paper.pdf": "https://arxiv.org/pdf/1810.04805.pdf",
        "gpt3_paper.pdf": "https://arxiv.org/pdf/2005.14165.pdf"
    }
    papers_dir = Path("sample_papers")
    papers_dir.mkdir(exist_ok=True)
    print("جارٍ تنزيل الأوراق البحثية...")
    # ... (باقي الكود كما هو)

3. تكوين إعدادات PaperQA2 مع Gemini

نقوم بإنشاء إعدادات مُحسّنة لـ PaperQA2 مُكوّنة لاستخدام Gemini لجميع مهام LLM وembedding، مع ضبط المعلمات مثل عدد عمليات البحث، واسترجاع الأدلة، والتحليل لمعالجة الأدبيات بكفاءة ودقة.

def create_gemini_settings(paper_dir: str, temperature: float = 0.1):
    """إنشاء إعدادات مُحسّنة لـ PaperQA2 مع نماذج Gemini"""
    return Settings(
        llm="gemini/gemini-1.5-flash",
        summary_llm="gemini/gemini-1.5-flash",
        agent=AgentSettings(
            agent_llm="gemini/gemini-1.5-flash",
            search_count=6,
            timeout=300.0,
        ),
        embedding="gemini/text-embedding-004",
        temperature=temperature,
        paper_directory=paper_dir,
        # ... (باقي الكود كما هو)
    )

4. إنشاء وكيل PaperQAAgent

نقوم بتعريف PaperQAAgent الذي يستخدم إعدادات PaperQA2 المُحسّنة بـ Gemini للبحث في الأوراق، والإجابة على الأسئلة، واستشهاد المصادر مع مساعدات عرض نظيفة.

class PaperQAAgent:
    # ... (الكود كما هو)

5. عروض تجريبية (Demos)

نقوم بتشغيل عروض تجريبية أساسية، ومتقدمة متعددة الأسئلة، ومقارنة، حتى نتمكن من استجواب الأدبيات بشكل شامل وتلخيص النتائج بكفاءة. (الكود كما هو في النص الأصلي، ولكن يمكن إعادة صياغته بشكل أنيق باستخدام Markdown).

6. إنشاء وكيل تفاعلي

نقوم بإنشاء مساعد استعلام تفاعلي يسمح لنا بطرح أسئلة مخصصة عند الطلب، وعرض المصادر المُستشهد بها اختياريًا.

def create_interactive_agent():
    # ... (الكود كما هو)

7. نصائح الاستخدام

نقوم بطباعة نصائح مفيدة حول استخدام PaperQA2 مع Gemini.

def print_usage_tips():
    # ... (الكود كما هو)

8. حفظ نتائج التحليل

نقوم بإضافة وظيفة لحفظ نتائج التحليل في ملف.

def save_analysis_results(results: dict, filename: str = "paperqa_analysis.txt"):
    # ... (الكود كما هو)

الخلاصة

لقد قمنا بنجاح بإنشاء مساعد بحث ذكاء اصطناعي وظيفي بالكامل يستخدم سرعة وتنوع Gemini مع قدرات معالجة الأوراق القوية لـ PaperQA2. يمكننا الآن استكشاف الأوراق العلمية تفاعليًا، وتشغيل استعلامات مُستهدفة، وحتى إجراء تحليلات مقارنة متعمقة بأقل جهد. يعزز هذا الإعداد قدرتنا على استيعاب الأبحاث المعقدة، كما يُسرّع عملية مراجعة الأدبيات بأكملها، مما يسمح لنا بالتركيز على الأفكار بدلاً من البحث اليدوي.

المصدر: MarkTechPost