ตัวเลือกการกำหนดค่าสำหรับประสบการณ์การใช้งานแบบไฮบริดในเว็บแอป


หน้านี้จะอธิบายตัวเลือกการกำหนดค่าต่อไปนี้

นอกจากนี้ คุณยังสร้างเอาต์พุตที่มีโครงสร้างได้ด้วย ซึ่งรวมถึง JSON และ Enum

ก่อนเริ่มต้น

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

ตั้งค่าโหมดการอนุมาน

ตัวอย่างในคู่มือการเริ่มต้นใช้งานใช้โหมด PREFER_ON_DEVICE แต่ นี่เป็นเพียง 1 ใน 4 ของโหมดการอนุมานที่มี

  • PREFER_ON_DEVICE: ใช้โมเดลในอุปกรณ์หากมี มิฉะนั้น ให้กลับไปใช้โมเดลที่โฮสต์ในระบบคลาวด์

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_ON_DEVICE });
    
  • ONLY_ON_DEVICE: ใช้โมเดลในอุปกรณ์หากมี มิฉะนั้นให้ส่งข้อยกเว้น

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_ON_DEVICE });
    
  • PREFER_IN_CLOUD: ใช้โมเดลที่โฮสต์ในระบบคลาวด์หากมี มิฉะนั้น ให้กลับไปใช้โมเดลในอุปกรณ์

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_IN_CLOUD });
    
  • ONLY_IN_CLOUD: ใช้โมเดลที่โฮสต์ในระบบคลาวด์หากมี มิฉะนั้น throw an exception

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_IN_CLOUD });
    

พิจารณาว่าใช้การอนุมานบนอุปกรณ์หรือในระบบคลาวด์

หากคุณใช้โหมดการอนุมาน PREFER_ON_DEVICE หรือ PREFER_IN_CLOUD คุณอาจต้องทราบว่าใช้โหมดใดสำหรับคำขอที่กำหนด inferenceSourceพร็อพเพอร์ตี้ของการตอบกลับแต่ละรายการ (พร้อมใช้งานตั้งแต่ JS SDK v12.5.0) จะให้ข้อมูลนี้

เมื่อเข้าถึงพร็อพเพอร์ตี้นี้ ค่าที่แสดงผลจะเป็น ON_DEVICE หรือ IN_CLOUD

// ...

console.log('You used: ' + result.response.inferenceSource);

console.log(result.response.text());

ลบล้างโมเดลสำรองเริ่มต้น

โมเดลที่โฮสต์ในระบบคลาวด์เริ่มต้นคือ gemini-2.5-flash-lite (เริ่มจาก JS SDK v12.8.0)

โมเดลนี้เป็นโมเดลสำรองที่โฮสต์บนระบบคลาวด์เมื่อคุณใช้โหมด PREFER_ON_DEVICE นอกจากนี้ยังเป็นโมเดลเริ่มต้นเมื่อคุณใช้โหมด ONLY_IN_CLOUD หรือโหมด PREFER_IN_CLOUD

คุณสามารถใช้ตัวเลือกการกำหนดค่า inCloudParams เพื่อระบุโมเดลเริ่มต้นอื่นที่โฮสต์ในระบบคลาวด์ได้

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "GEMINI_MODEL_NAME"
  }
});

ค้นหาชื่อโมเดลสำหรับ โมเดล Gemini ที่รองรับทั้งหมด

ใช้การกำหนดค่าโมเดลเพื่อควบคุมคำตอบ

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

ระบบจะรักษาการกำหนดค่าไว้ตลอดอายุการใช้งานของอินสแตนซ์ หากต้องการใช้การกำหนดค่าอื่น ให้สร้างอินสแตนซ์ GenerativeModel ใหม่ด้วยการกำหนดค่านั้น

กำหนดค่าโมเดลที่โฮสต์บนระบบคลาวด์

ใช้ตัวเลือก inCloudParams เพื่อกำหนดค่าโมเดล Gemini ที่โฮสต์บนระบบคลาวด์ ดูข้อมูลเกี่ยวกับ พารามิเตอร์ที่ใช้ได้

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "GEMINI_MODEL_NAME"
    temperature: 0.8,
    topK: 10
  }
});

กำหนดค่าโมเดลในอุปกรณ์

โปรดทราบว่าการอนุมานโดยใช้โมเดลในอุปกรณ์จะใช้ Prompt API จาก Chrome

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

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  onDeviceParams: {
    createOptions: {
      temperature: 0.8,
      topK: 8
    }
  }
});