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

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

นอกจากนี้ คุณยัง สร้างเอาต์พุตที่มีโครงสร้าง, ซึ่งรวมถึง 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: ใช้โมเดลที่โฮสต์ในระบบคลาวด์หากมี ไม่เช่นนั้น แสดงข้อยกเว้น

    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
    }
  }
});