دليل برمجي شامل: دمج SerpAPI مع نموذج جوجل Gemini-1.5-Flash لتحليلات متقدمة

هذا الدليل يوضح كيفية الجمع بين قدرات البحث في جوجل من خلال SerpAPI وقوة نموذج جوجل Gemini-1.5-Flash لإنشاء سير عمل متكامل ومتطور للبحث والتحليل داخل دفتر جوجل Colab. من خلال تعريف فئة AdvancedSerpAPI في بايثون، يحصل المستخدمون على إمكانية الوصول إلى طرق بحث محسّنة تشمل نتائج الويب العامة، والمقالات الإخبارية، والصور، مع الاستفادة من Gemini لإجراء تحليلات متعمقة لتلك النتائج. يوفر الكود أدوات مساعدة متخصصة لاستهداف دروس Marktechpost، وتجميع المحتوى عبر فئات مثل LangChain وChatGPT وMLOps، ثم توليد رؤى عملية باستخدام مطالبة مُصممة بعناية.

1. تثبيت الحزم المطلوبة وتكوين مفاتيح API

نقوم أولاً بتثبيت الحزم اللازمة في بايثون للبحث باستخدام SerpAPI، وأدوات LangChain، وواجهة برمجة التطبيقات (SDK) الخاصة بـ Gemini من جوجل:

pip install google-search-results langchain-community langchain-core google-generativeai -q

ثم نقوم باستيراد الوحدات القياسية اللازمة لإدارة بيئة العمل، ومعالجة بيانات JSON، والتواريخ، بالإضافة إلى فئة GoogleSearch من SerpAPI لإجراء مكالمات API، وgenai للتفاعل مع نموذج Gemini:

import os
import json
from serpapi import GoogleSearch
import google.generativeai as genai
from datetime import datetime

بعد ذلك، نُعين قيمًا مؤقتة لمفاتيح API الخاصة بـ SerpAPI وGemini، ونُعيّن مفتاح SerpAPI كمتغير بيئي (حتى تتم عملية المصادقة تلقائيًا)، ونُهيئ عميل Gemini بمفتاح API الخاص به:

SERPAPI_API_KEY = "Use Your API Key Here"  # استبدل هذا بمفتاح API الخاص بك
GEMINI_API_KEY = "Use Your API Key Here"  # استبدل هذا بمفتاح API الخاص بك
os.environ["SERPAPI_API_KEY"] = SERPAPI_API_KEY
genai.configure(api_key=GEMINI_API_KEY)

2. فئة AdvancedSerpAPI: البحث والتحليل

تُعرف الفئة AdvancedSerpAPI طرق البحث القائمة على SerpAPI (الويب، الأخبار، والصور) ووظائف مساعدة لتنظيف بيانات JSON الناتجة. كما أنها تدمج نموذج Gemini-1.5-Flash، من خلال وظيفة analyze_with_gemini، لإنشاء ملخص مدعوم بالذكاء الاصطناعي لأي بيانات بحث مُجمعة. تتضمن الأدوات المساعدة الإضافية عمليات بحث مُتخصصة في دروس Marktechpost، وروتين “الحصول على المحتوى الأكثر شيوعًا” عبر الفئات، وسير عمل بحث ذكي مُدمج يجمع بين الدروس ونتائج الويب والأخبار وتحليل Gemini.

class AdvancedSerpAPI:
    # ... (كود الفئة كما هو موجود في النص الأصلي) ...

شرح لبعض وظائف الفئة:

  • search_google: بحث مُحسّن في جوجل مع العديد من المعلمات.
  • search_news: بحث عن مقالات إخبارية حديثة.
  • search_images: بحث عن الصور مع بيانات وصفية.
  • analyze_with_gemini: استخدام Gemini Flash لتحليل نتائج البحث.
  • search_marktechpost_tutorials: بحث مُتخصص عن دروس Marktechpost.
  • get_trending_marktechpost_content: الحصول على المحتوى الأكثر شيوعًا من Marktechpost عبر فئات مختلفة.
  • smart_research: بحث ذكي يجمع بين أنواع البحث المُتعددة مع التركيز على Marktechpost.

3. أمثلة عملية:

يوضح هذا القسم أمثلة عملية لاستخدام فئة AdvancedSerpAPI:

  • demo_marktechpost_tutorials(): يُركز هذا المثال على دروس Marktechpost، ويعرض كيفية البحث عن الدروس الأكثر شيوعًا حسب الفئة، وإجراء بحث مُعمق حول موضوع محدد، والحصول على أحدث المقالات المتعلقة بالذكاء الاصطناعي.

  • demo_advanced_serpapi(): يُركز هذا المثال على سير عمل أوسع نطاقًا، ويعرض كيفية إجراء بحث ذكي، والبحث عن الأخبار، والبحث عن الصور.

4. وظائف إضافية:

يحتوي هذا القسم على وظيفتين إضافيتين مفيدتين:

  • compare_search_engines: مقارنة نتائج البحث عبر محركات بحث مختلفة (جوجل، بينج، داك داك جو).
  • trending_searches: الحصول على عمليات البحث الأكثر شيوعًا.

5. الخاتمة:

باستخدام هذا الدليل، يمكن للمستخدمين إنشاء فئة بايثون قابلة لإعادة الاستخدام والمرونة، والتي تُسهل عملية البحث والتحليل على الويب، بدءًا من إجراء عمليات بحث قائمة على الكلمات الرئيسية وحتى تلخيص النتائج تلقائيًا باستخدام الذكاء الاصطناعي من Gemini. يُمكن دمج SerpAPI مع فهم اللغة الطبيعية من Gemini لإنشاء سير عمل سلس “من البحث إلى الرؤى”، وهو مثالي لمنشئي المحتوى، والمطورين، والفرق التقنية الذين يحتاجون إلى مواكبة أحدث الدروس والاتجاهات في الصناعة.

المصدر: MarkTechPost