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

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

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

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

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

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

ตัวอย่างในคู่มือเริ่มต้นใช้งานใช้โหมด PREFER_ON_DEVICE แต่โหมดนี้เป็นเพียงหนึ่งในโหมดการอนุมาน 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-3.5-flash-lite (เริ่มต้นด้วย JS SDK v13.0.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",
    generationConfig: {
      maxOutputTokens: 200,
      stopSequences: ["red"]
    }
  }
});

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

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

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

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  onDeviceParams: {
    createOptions: {
      expectedInputs: [{ type: "text", languages: ["en"] }],
      expectedOutputs: [{ type: "text", languages: ["en"] }],
      initialPrompts: [
        { role: "system", content: [{ type: "text", value: "You are a helpful and concise assistant." }] }
      ]
    }
  }
});


แสดงความคิดเห็นเกี่ยวกับประสบการณ์การใช้งาน Firebase AI Logic