Models

ปลายทางโมเดลช่วยให้คุณแสดงรายการโมเดลที่พร้อมใช้งานแบบเป็นโปรแกรม และดึงข้อมูลเมตาเพิ่มเติม เช่น ฟังก์ชันการทำงานที่รองรับและขนาดหน้าต่างบริบท อ่านข้อมูลเพิ่มเติมได้ในคู่มือโมเดล

เมธอด: models.get

รับข้อมูลเกี่ยวกับ Model ที่เฉพาะเจาะจง เช่น หมายเลขเวอร์ชัน ขีดจำกัดโทเค็น พารามิเตอร์ และข้อมูลเมตาอื่นๆ ดูข้อมูลโมเดลโดยละเอียดได้ที่คู่มือโมเดล Gemini

ปลายทาง

รับ 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-3.8-flash")
print(model_info)

Go

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-3.8-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_KEYpan>.sh

เมธอด: models.list

แสดงรายการ Model ที่พร้อมใช้งานผ่าน Gemini API

ปลายทาง

รับ 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)

Go

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_KEYpan>.sh

เนื้อหาการตอบกลับ

การตอบกลับจาก ListModel ที่มีรายการโมเดลที่แบ่งหน้า

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ฟิลด์

โมเดลที่แสดงผล

nextPageToken string

โทเค็นซึ่งสามารถส่งเป็น pageToken เพื่อดึงข้อมูลหน้าถัดไป

หากไม่มีช่องนี้ แสดงว่าไม่มีหน้าอีกแล้ว

การแสดง JSON
{
  "models": [
    {
      object (Model)
    }
  ],
  "nextPageToken": string
}

ทรัพยากร REST: models

แหล่งข้อมูล: โมเดล

ข้อมูลเกี่ยวกับโมเดลภาษา Generative

ฟิลด์
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

วิธีการสร้างที่โมเดลรองรับ

ชื่อเมธอด API ที่เกี่ยวข้องจะกำหนดเป็นสตริง Pascal Case เช่น generateMessage และ generateContent

thinking boolean

ระบุว่าโมเดลรองรับการคิดหรือไม่

temperature number

ควบคุมความสุ่มของเอาต์พุต

ค่าอาจมีได้ตั้งแต่ [0.0,maxTemperature] ขึ้นไป ค่าที่สูงขึ้นจะสร้างคำตอบที่หลากหลายมากขึ้น ส่วนค่าที่ใกล้เคียงกับ 0.0 มักจะส่งผลให้โมเดลสร้างคำตอบที่คาดเดาได้ง่ายกว่า ค่านี้ระบุค่าเริ่มต้นที่แบ็กเอนด์จะใช้ขณะเรียกใช้โมเดล

maxTemperature number

อุณหภูมิสูงสุดที่โมเดลนี้ใช้ได้

topP number

สำหรับการสุ่มตัวอย่างแบบนิวเคลียส

การสุ่มตัวอย่างแบบนิวเคลียสจะพิจารณาชุดโทเค็นที่เล็กที่สุดซึ่งมีผลรวมความน่าจะเป็นอย่างน้อย topP ค่านี้ระบุค่าเริ่มต้นที่แบ็กเอนด์จะใช้ขณะเรียกใช้โมเดล

topK integer

สำหรับการสุ่มตัวอย่าง Top-k

การสุ่มตัวอย่าง Top-k จะพิจารณาชุดโทเค็นที่มีแนวโน้มมากที่สุด topK รายการ ค่านี้ระบุค่าเริ่มต้นที่แบ็กเอนด์จะใช้ขณะเรียกใช้โมเดล หากว่างเปล่า แสดงว่าโมเดลไม่ได้ใช้การสุ่มตัวอย่างแบบ Top-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
}

เมธอด: models.predict

ส่งคำขอการคาดการณ์

ปลายทาง

โพสต์ https://generativelanguage.googleapis.com/v1beta/{model=models/*}:predict

พารามิเตอร์เส้นทาง

model string

ต้องระบุ ชื่อของโมเดลสำหรับการคาดการณ์ รูปแบบ: name=models/{model} ซึ่งจะอยู่ในรูปแบบ models/{model}

เนื้อความของคำขอ

เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ฟิลด์
instances[] value (Value format)

ต้องระบุ อินสแตนซ์ที่เป็นอินพุตสำหรับการเรียกใช้การคาดการณ์

parameters value (Value format)

ไม่บังคับ พารามิเตอร์ที่ควบคุมการเรียกใช้การคาดการณ์

labels map (key: string, value: string)

ไม่บังคับ ป้ายกำกับที่มีข้อมูลเมตาที่ผู้ใช้กำหนดสำหรับคำขอ

ไม่บังคับ ป้ายกำกับต้องเป็นไปตามข้อกำหนดของป้ายกำกับ Cloud แบบรวมมาตรฐาน ดังนี้ - คีย์ป้ายกำกับต้องขึ้นต้นด้วยตัวอักษร - คีย์และค่าของป้ายกำกับต้องมีความยาวไม่เกิน 63 อักขระ (จุดโค้ด Unicode) โดยต้องมีเฉพาะตัวอักษรพิมพ์เล็ก ตัวเลข ขีดล่าง และขีดกลางเท่านั้น - อนุญาตให้ใช้อักขระสากล

การใช้งาน: - ตัวระบุความปลอดภัยจากผู้รวบรวมข้อมูล: ใช้คีย์ safety_identifier (เช่น {"safety_identifier": "user_session_123"})

ออบเจ็กต์ที่มีรายการคู่ "key": value เช่น { "name": "wrench", "mass": "1.3kg", "count": "3" }

เนื้อหาการตอบกลับ

ข้อความตอบกลับสำหรับ [PredictionService.Predict]

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ฟิลด์
predictions[] value (Value format)

เอาต์พุตของการเรียกใช้การคาดการณ์

การแสดง JSON
{
  "predictions": [
    value
  ]
}

เมธอด: models.predictLongRunning

เหมือนกับ models.predict แต่แสดงผล LRO

ปลายทาง

โพสต์ https://generativelanguage.googleapis.com/v1beta/{model=models/*}:predictLongRunning

พารามิเตอร์เส้นทาง

model string

ต้องระบุ ชื่อของโมเดลสำหรับการคาดการณ์ รูปแบบ: name=models/{model}

เนื้อความของคำขอ

เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ฟิลด์
instances[] value (Value format)

ต้องระบุ อินสแตนซ์ที่เป็นอินพุตสำหรับการเรียกใช้การคาดการณ์

parameters value (Value format)

ไม่บังคับ พารามิเตอร์ที่ควบคุมการเรียกใช้การคาดการณ์

webhookConfig.uris[] string

ไม่บังคับ หากตั้งค่าไว้ ระบบจะใช้ URI ของเว็บฮุคเหล่านี้สำหรับเหตุการณ์เว็บฮุคแทนเว็บฮุคที่ลงทะเบียนไว้

labels map (key: string, value: string)

ไม่บังคับ ป้ายกำกับที่มีข้อมูลเมตาที่ผู้ใช้กำหนดสำหรับคำขอ

ไม่บังคับ ป้ายกำกับต้องเป็นไปตามข้อกำหนดของป้ายกำกับ Cloud แบบรวมมาตรฐาน ดังนี้ - คีย์ป้ายกำกับต้องขึ้นต้นด้วยตัวอักษร - คีย์และค่าของป้ายกำกับต้องมีความยาวไม่เกิน 63 อักขระ (จุดโค้ด Unicode) โดยต้องมีเฉพาะตัวอักษรพิมพ์เล็ก ตัวเลข ขีดล่าง และขีดกลางเท่านั้น - อนุญาตให้ใช้อักขระสากล

การใช้งาน: - ตัวระบุความปลอดภัยจากผู้รวบรวมข้อมูล: ใช้คีย์ safety_identifier (เช่น {"safety_identifier": "user_session_123"})

ออบเจ็กต์ที่มีรายการคู่ "key": value เช่น { "name": "wrench", "mass": "1.3kg", "count": "3" }

เนื้อหาการตอบกลับ

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ Operation