تحديد المصدر من خلال "بحث Google"

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

تساعدك ميزة تحديد المصدر في إنشاء تطبيقات يمكنها إجراء ما يلي:

  • زيادة الدقة الوقائعية: تقليل حالات الهلوسة في النموذج من خلال استناد الردود إلى معلومات واقعية.
  • الوصول إلى المعلومات في الوقت الفعلي: الإجابة عن الأسئلة حول الأحداث والمواضيع الحديثة.
  • تقديم الاقتباسات: تعزيز ثقة المستخدمين من خلال عرض مصادر ادعاءات النموذج.

Python

# This will only work for SDK newer than 2.0.0
from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input="Who won the euro 2024?",
    tools=[{"type": "google_search"}]
)

# Print the model's text response
for step in interaction.steps:
    if step.type == "model_output":
        for content_block in step.content:
            if content_block.type == "text":
                print(content_block.text)

JavaScript

// This will only work for SDK newer than 2.0.0
import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: "Who won the euro 2024?",
    tools: [{ type: "google_search" }]
});

const modelStep = interaction.steps.find(s => s.type === 'model_output');
if (modelStep) {
  for (const contentBlock of modelStep.content) {
    if (contentBlock.type === 'text') console.log(contentBlock.text);
  }
}

REST

# Specifies the API revision to avoid breaking changes when they become default
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Api-Revision: 2026-05-20" \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "Who won the euro 2024?",
    "tools": [{"type": "google_search"}]
  }'

طريقة عمل ميزة تحديد المصدر من خلال "بحث Google"

عند تفعيل أداة google_search، يتولّى النموذج سير العمل بالكامل المتمثل في البحث عن المعلومات ومعالجتها والاستشهاد بها تلقائيًا.

grounding-overview

  1. طلب المستخدم: يرسل تطبيقك طلبًا من المستخدم إلى Gemini API مع تفعيل أداة google_search.
  2. تحليل الطلب: يحلّل النموذج الطلب ويحدّد ما إذا كان بإمكان "بحث Google" تحسين الإجابة.
  3. بحث Google: إذا لزم الأمر، ينشئ النموذج تلقائيًا طلب بحث واحدًا أو أكثر وينفّذها.
  4. معالجة نتائج البحث: يعالج النموذج نتائج البحث ويجمع المعلومات ويصوغ ردًا.
  5. الرد المستند إلى المصدر: تعرض واجهة برمجة التطبيقات ردًا نهائيًا سهل الاستخدام يستند إلى نتائج البحث. يتضمّن هذا الردّ الإجابة النصية للنموذج مع annotations مضمّنة تحتوي على الاقتباسات، بالإضافة إلى الخطوتَين google_search_call وgoogle_search_result اللتين تتضمّنان طلبات البحث والاقتراحات.

فهم الرد المستند إلى المصدر

عندما يستند الردّ إلى المصدر بنجاح، يتضمّن الناتج النصي للنموذج annotations مضمّنة مباشرةً في كتلة المحتوى النصي. تقدّم هذه التعليقات التوضيحية معلومات عن الاقتباسات تربط أجزاء من الردّ بمصادرها.

{
  "steps": [
    {
      "type": "thought",
      "summary": [
        {
          "type": "text",
          "text": "The user is asking for the winner of Euro 2024. I need to search for the result of the Euro 2024 final."
        }
      ],
      "signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0..."
    },
    {
      "type": "google_search_call",
      "arguments": {
        "queries": ["UEFA Euro 2024 winner"]
      }
    },
    {
      "type": "google_search_result",
      "call_id": "search_001",
      "result": [
        {
          "search_suggestions": "<!-- HTML and CSS for the search widget -->"
        }
      ]
    },
    {
      "type": "model_output",
      "content": [
        {
          "type": "text",
          "text": "Spain won Euro 2024, defeating England 2-1 in the final. This victory marks Spain's record fourth European Championship title.",
          "annotations": [
            {
              "type": "url_citation",
              "url": "https://www.aljazeera.com/sports/euro-2024-final",
              "title": "aljazeera.com",
              "start_index": 0,
              "end_index": 56
            },
            {
              "type": "url_citation",
              "url": "https://www.uefa.com/euro2024/news/spain-wins-euro-2024",
              "title": "uefa.com",
              "start_index": 57,
              "end_index": 124
            }
          ]
        }
      ]
    }
  ]
}

الحقول الرئيسية في الردّ:

  • google_search_call : يحتوي على queries البحث التي نفّذها النموذج.
  • google_search_result : يحتوي على search_suggestions، وهي مقتطف HTML لعرض اقتراحات البحث في واجهة المستخدم. يتم تفصيل متطلبات الاستخدام الكاملة في بنود الخدمة.
  • text مع annotations : الإجابة التي تم تجميعها من النموذج مع الاقتباسات المضمّنة. يربط كل تعليق توضيحي url_citation جزءًا من النص (محدّدًا بواسطة start_index وend_index) بعنوان URL للمصدر. هذا هو المفتاح لإنشاء اقتباسات مضمّنة.

يمكن أيضًا استخدام ميزة تحديد المصدر من خلال "بحث Google" مع أداة سياق عنوان URL لتحديد المصادر في كلّ من بيانات الويب العامة وعناوين URL المحدّدة التي تقدّمها.

إسناد المصادر من خلال الاقتباسات المضمّنة

تعرض واجهة برمجة التطبيقات تعليقات توضيحية url_citation مضمّنة في كتلة المحتوى النصي، ما يمنحك تحكمًا كاملاً في طريقة عرض المصادر في واجهة المستخدم. يتضمّن كل تعليق توضيحي start_index وend_index لتحديد جزء النص الذي يستشهد به. إليك كيفية استخراجها وعرضها.

Python

for step in interaction.steps:
    if step.type == "model_output":
        for content_block in step.content:
            if content_block.type == "text":
                print(content_block.text)
                if content_block.annotations:
                    print("\nCitations:")
                    for annotation in content_block.annotations:
                        if annotation.type == "url_citation":
                            cited_text = content_block.text[annotation.start_index:annotation.end_index]
                            print(f"  [{annotation.title}]({annotation.url})")
                            print(f"    Cited text: \"{cited_text}\"")

JavaScript

for (const step of interaction.steps) {
  if (step.type === 'model_output') {
    for (const contentBlock of step.content) {
      if (contentBlock.type === 'text') {
        console.log(contentBlock.text);
        if (contentBlock.annotations) {
          console.log("\nCitations:");
          for (const annotation of contentBlock.annotations) {
            if (annotation.type === 'url_citation') {
              const citedText = contentBlock.text.slice(annotation.startIndex, annotation.endIndex);
              console.log(`  [${annotation.title}](${annotation.url})`);
              console.log(`    Cited text: "${citedText}"`);
            }
          }
        }
      }
    }
  }
}

ستعرض النتائج النص متبوعًا بالاقتباسات:

Spain won Euro 2024, defeating England 2-1 in the final. This victory marks Spain's record fourth European Championship title.

Citations:
  [aljazeera.com](https://www.aljazeera.com/sports/euro-2024-final)
    Cited text: "Spain won Euro 2024, defeating England 2-1 in the final."
  [uefa.com](https://www.uefa.com/euro2024/news/spain-wins-euro-2024)
    Cited text: "This victory marks Spain's record fourth European Championship title."

الأسعار

عند استخدام ميزة تحديد المصدر من خلال "بحث Google" مع Gemini 3، يتم تحصيل رسوم من مشروعك مقابل كل طلب بحث يقرّر النموذج تنفيذه. إذا قرّر النموذج تنفيذ طلبات بحث متعددة للردّ على طلب واحد (على سبيل المثال، البحث عن "UEFA Euro 2024 winner" و"Spain vs England Euro 2024 final score" ضمن طلب بيانات من واجهة برمجة التطبيقات نفسه)، يتم احتساب ذلك كاستخدامَين قابلَين للفوترة للأداة لهذا الطلب. لأغراض الفوترة، نتجاهل طلبات البحث الفارغة على الويب عند احتساب طلبات البحث الفريدة. لا ينطبق نموذج الفوترة هذا إلا على نماذج Gemini 3. عند استخدام ميزة تحديد المصدر من خلال البحث مع Gemini 2.5 أو النماذج الأقدم، يتم تحصيل رسوم من مشروعك لكل طلب.

للحصول على معلومات مفصّلة عن الأسعار، يُرجى الاطّلاع على صفحة أسعار Gemini API.

النماذج المتوافقة

يمكنك الاطّلاع على الإمكانات الكاملة في صفحة النظرة العامة على النموذج.

الطراز تحديد المصدر من خلال "بحث Google"
معاينة صورة Gemini 3.1 Flash ✔️
معاينة Gemini 3.1 Pro ✔️
معاينة صورة Gemini 3 Pro ✔️
معاينة Gemini 3 Flash ✔️
Gemini 2.5 Pro ✔️
Gemini 2.5 Flash ✔️
Gemini 2.5 Flash-Lite ✔️
Gemini 2.0 Flash ✔️

مجموعات الأدوات المتوافقة

يمكنك استخدام ميزة تحديد المصدر من خلال "بحث Google" مع أدوات أخرى، مثل تنفيذ التعليمات البرمجية و سياق عنوان URL لتعزيز حالات الاستخدام الأكثر تعقيدًا.

تتيح نماذج Gemini 3 الجمع بين الأدوات المضمّنة (مثل تحديد المصدر من خلال "بحث Google") والأدوات المخصّصة (استدعاء الدوال). مزيد من المعلومات في صفحة مجموعات الأدوات.

الخطوات التالية

  • مزيد من المعلومات حول الأدوات الأخرى المتاحة، مثل استدعاء الدوال.
  • كيفية زيادة الطلبات باستخدام عناوين URL محدّدة باستخدام أداة سياق عنوان URL .