Models

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

الطريقة: models.get

تعرض هذه الدالة معلومات عن Model معيّن، مثل رقم الإصدار وحدود الرموز المميزة والمَعلمات والبيانات الوصفية الأخرى. راجِع دليل نماذج Gemini للحصول على معلومات مفصّلة عن النماذج.

نقطة نهاية

get https://generativelanguage.googleapis.com/v1beta/{name=models/*}

مَعلمات المسار

name string

مطلوب. اسم المورد الخاص بالنموذج.

يجب أن يتطابق هذا الاسم مع اسم نموذج تعرضه الطريقة models.list.

التنسيق: models/{model} يتّخذ الشكل models/{model}.

نص الطلب

يجب أن يكون نص الطلب فارغًا.

مثال على الطلب

Python

from google import genai

client = genai.Client()
model_info = client.models.get(model="gemini-2.0-flash")
print(model_info)

انتقال

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

modelInfo, err := client.Models.Get(ctx, "gemini-2.0-flash", nil)
if err != nil {
	log.Fatal(err)
}

fmt.Println(modelInfo)

محارة

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash?key=$GEMINI_API_KEY

نص الاستجابة

إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال Model.

الطريقة: models.list

تعرض هذه الصفحة Models المتاحة من خلال Gemini API.

نقطة نهاية

get https://generativelanguage.googleapis.com/v1beta/models

مَعلمات طلب البحث

pageSize integer

الحدّ الأقصى لعدد Models المطلوب عرضه (لكل صفحة).

إذا لم يتم تحديدها، سيتم عرض 50 نموذج لكل صفحة. تعرض هذه الطريقة 1, 000 نموذج كحدّ أقصى لكل صفحة، حتى إذا مرّرت قيمة أكبر من pageSize.

pageToken string

رمز مميز للصفحة تم تلقّيه من طلب models.list سابق.

قدِّم الرمز المميّز pageToken الذي تم عرضه في أحد الطلبات كمعلَمة للطلب التالي من أجل استرداد الصفحة التالية.

عند تقسيم النتائج إلى صفحات، يجب أن تتطابق جميع المَعلمات الأخرى المقدَّمة إلى models.list مع الطلب الذي قدّم رمز الصفحة المميز.

نص الطلب

يجب أن يكون نص الطلب فارغًا.

مثال على الطلب

Python

from google import genai

client = genai.Client()

print("List of models that support generateContent:\n")
for m in client.models.list():
    for action in m.supported_actions:
        if action == "generateContent":
            print(m.name)

print("List of models that support embedContent:\n")
for m in client.models.list():
    for action in m.supported_actions:
        if action == "embedContent":
            print(m.name)

انتقال

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}


// Retrieve the list of models.
models, err := client.Models.List(ctx, &genai.ListModelsConfig{})
if err != nil {
	log.Fatal(err)
}

fmt.Println("List of models that support generateContent:")
for _, m := range models.Items {
	for _, action := range m.SupportedActions {
		if action == "generateContent" {
			fmt.Println(m.Name)
			break
		}
	}
}

fmt.Println("\nList of models that support embedContent:")
for _, m := range models.Items {
	for _, action := range m.SupportedActions {
		if action == "embedContent" {
			fmt.Println(m.Name)
			break
		}
	}
}

محارة

curl https://generativelanguage.googleapis.com/v1beta/models?key=$GEMINI_API_KEY

نص الاستجابة

استجابة من ListModel تحتوي على قائمة مقسّمة إلى صفحات من النماذج

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

الحقول
models[] object (Model)

النماذج التي تم إرجاعها

nextPageToken string

رمز مميز يمكن إرساله كـ pageToken لاسترداد الصفحة التالية.

إذا تم حذف هذا الحقل، لن يكون هناك المزيد من الصفحات.

تمثيل JSON
{
  "models": [
    {
      object (Model)
    }
  ],
  "nextPageToken": string
}

مورد REST: ‏models

المرجع: النموذج

معلومات حول نموذج لغوي توليدي

الحقول
name string

مطلوب. اسم المورد الخاص بـ Model. راجِع خيارات النماذج للاطّلاع على جميع القيم المسموح بها.

التنسيق: models/{model} مع اصطلاح تسمية {model} على النحو التالي:

  • "{baseModelId}-{version}"

أمثلة:

  • models/gemini-1.5-flash-001
baseModelId string

مطلوب. اسم النموذج الأساسي، يجب تمرير هذا الاسم إلى طلب الإنشاء.

أمثلة:

  • gemini-1.5-flash
version string

مطلوب. رقم إصدار النموذج.

يمثّل هذا الحقل الإصدار الرئيسي (1.0 أو 1.5)

displayName string

تمثّل هذه السمة اسم الطراز الذي يمكن للمستخدم قراءته. على سبيل المثال، "‫Gemini 1.5 Flash".

يمكن أن يصل طول الاسم إلى 128 حرفًا ويمكن أن يتألف من أي أحرف UTF-8.

description string

تمثّل هذه السمة وصفًا موجزًا للنموذج.

inputTokenLimit integer

الحدّ الأقصى لعدد الرموز المميزة للإدخال المسموح به لهذا النموذج

outputTokenLimit integer

الحدّ الأقصى لعدد الرموز المميزة للناتج المتاح لهذا النموذج

supportedGenerationMethods[] string

طُرق الإنشاء المتوافقة مع النموذج

يتم تحديد أسماء طرق واجهة برمجة التطبيقات المقابلة كسلاسل Pascal case، مثل generateMessage وgenerateContent.

thinking boolean

تُستخدَم لتحديد ما إذا كان النموذج يتيح التفكير.

temperature number

تتحكّم هذه السمة في عشوائية الناتج.

يمكن أن تتراوح القيم على [0.0,maxTemperature]، بما في ذلك. ستؤدي القيمة الأعلى إلى إنشاء ردود أكثر تنوّعًا، بينما ستؤدي القيمة الأقرب إلى 0.0 عادةً إلى إنشاء ردود أقل إثارة للدهشة من النموذج. تحدّد هذه القيمة الإعدادات التلقائية التي سيستخدمها الخلفية عند إجراء طلب إلى النموذج.

maxTemperature number

الحدّ الأقصى لدرجة الحرارة التي يمكن أن يستخدمها هذا النموذج

topP number

بالنسبة إلى أخذ العيّنات من النواة

تأخذ عملية أخذ العيّنات من النواة في الاعتبار أصغر مجموعة من الرموز المميزة التي يكون مجموع احتمالاتها topP على الأقل. تحدّد هذه القيمة الإعدادات التلقائية التي سيستخدمها الخلفية عند إجراء طلب إلى النموذج.

topK integer

بالنسبة إلى أخذ العيّنات من أعلى k.

تأخذ عملية أخذ العيّنات من أعلى k مجموعة الرموز المميزة topK الأكثر احتمالاً في الاعتبار. تحدّد هذه القيمة الإعدادات التلقائية التي سيستخدمها الخلفية عند إجراء طلب إلى النموذج. إذا كانت فارغة، يشير ذلك إلى أنّ النموذج لا يستخدم أخذ عينات من أعلى k، ولا يُسمح باستخدام topK كمعلَمة إنشاء.

تمثيل JSON
{
  "name": string,
  "baseModelId": string,
  "version": string,
  "displayName": string,
  "description": string,
  "inputTokenLimit": integer,
  "outputTokenLimit": integer,
  "supportedGenerationMethods": [
    string
  ],
  "thinking": boolean,
  "temperature": number,
  "maxTemperature": number,
  "topP": number,
  "topK": integer
}