ในการเรียกใช้โมเดลแต่ละครั้ง คุณสามารถส่งการกำหนดค่าโมเดลเพื่อควบคุมวิธีที่โมเดลสร้างคำตอบได้ แต่ละรุ่นมีตัวเลือกการกำหนดค่าที่แตกต่างกัน
นอกจากนี้ คุณยังทดลองใช้พรอมต์และการกำหนดค่าโมเดลได้โดยใช้ Google AI StudioGemini ตัวเลือกการกำหนดค่า ไปที่Imagen ตัวเลือกการกำหนดค่า ไปที่
กำหนดค่าโมเดล Gemini
คลิกผู้ให้บริการ Gemini API เพื่อดูเนื้อหาและโค้ดของผู้ให้บริการนั้นๆ ในหน้านี้ |
ส่วนนี้จะแสดงวิธีตั้งค่าการกำหนดค่าเพื่อใช้กับโมเดล Gemini และอธิบายพารามิเตอร์แต่ละรายการ
ตั้งค่าโมเดล (Gemini)
กำหนดค่าสำหรับกรณีการใช้งานทั่วไป
ระบบจะรักษาการกำหนดค่าไว้ตลอดอายุการใช้งานของอินสแตนซ์ หากต้องการใช้การกำหนดค่าอื่น ให้สร้างอินสแตนซ์ GenerativeModel
ใหม่ด้วยการกำหนดค่านั้น
Swift
ตั้งค่าพารามิเตอร์ใน
GenerationConfig
เป็นส่วนหนึ่งของการสร้างอินสแตนซ์ GenerativeModel
import FirebaseAI
// Set parameter values in a `GenerationConfig` (example values shown here)
let config = GenerationConfig(
temperature: 0.9,
topP: 0.1,
topK: 16,
maxOutputTokens: 200,
stopSequences: ["red"]
)
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
modelName: "GEMINI_MODEL_NAME",
generationConfig: config
)
// ...
Kotlin
ตั้งค่าพารามิเตอร์ใน
GenerationConfig
เป็นส่วนหนึ่งของการสร้างอินสแตนซ์ GenerativeModel
// ...
// Set parameter values in a `GenerationConfig` (example values shown here)
val config = generationConfig {
maxOutputTokens = 200
stopSequences = listOf("red")
temperature = 0.9f
topK = 16
topP = 0.1f
}
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
modelName = "GEMINI_MODEL_NAME",
generationConfig = config
)
// ...
Java
ตั้งค่าพารามิเตอร์ใน
GenerationConfig
เป็นส่วนหนึ่งของการสร้างอินสแตนซ์ GenerativeModel
// ...
// Set parameter values in a `GenerationConfig` (example values shown here)
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;
GenerationConfig config = configBuilder.build();
// Specify the config as part of creating the `GenerativeModel` instance
GenerativeModelFutures model = GenerativeModelFutures.from(
FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
"GEMINI_MODEL_NAME",
config
);
);
// ...
Web
ตั้งค่าพารามิเตอร์ใน
GenerationConfig
เป็นส่วนหนึ่งของการสร้างอินสแตนซ์ GenerativeModel
// ...
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Set parameter values in a `GenerationConfig` (example values shown here)
const generationConfig = {
max_output_tokens: 200,
stop_sequences: ["red"],
temperature: 0.9,
top_p: 0.1,
top_k: 16,
};
// Specify the config as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, { model: "GEMINI_MODEL_NAME", generationConfig });
// ...
Dart
ตั้งค่าพารามิเตอร์ใน
GenerationConfig
ซึ่งเป็นส่วนหนึ่งของการสร้างอินสแตนซ์ GenerativeModel
// ...
// Set parameter values in a `GenerationConfig` (example values shown here)
final generationConfig = GenerationConfig(
maxOutputTokens: 200,
stopSequences: ["red"],
temperature: 0.9,
topP: 0.1,
topK: 16,
);
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
final model = FirebaseAI.googleAI().generativeModel(
model: 'GEMINI_MODEL_NAME',
config: generationConfig,
);
// ...
Unity
ตั้งค่าพารามิเตอร์ใน
GenerationConfig
เป็นส่วนหนึ่งของการสร้างอินสแตนซ์ GenerativeModel
// ...
// Set parameter values in a `GenerationConfig` (example values shown here)
var generationConfig = new GenerationConfig(
maxOutputTokens: 200,
stopSequences: new string[] { "red" },
temperature: 0.9f,
topK: 16,
topP: 0.1f
);
// Specify the config as part of creating the `GenerativeModel` instance
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
var model = ai.GetGenerativeModel(
modelName: "GEMINI_MODEL_NAME",
generationConfig: generationConfig
);
คุณดูคำอธิบายของแต่ละพารามิเตอร์ได้ ในส่วนถัดไปของหน้านี้
การกำหนดค่าสำหรับ Gemini Live API
คำอธิบายพารามิเตอร์ (Gemini)
ภาพรวมระดับสูงของพารามิเตอร์ที่ใช้ได้มีดังนี้ คุณดูรายการพารามิเตอร์และค่าของพารามิเตอร์ทั้งหมด ได้ในเอกสารประกอบของ Gemini Developer API
พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
---|---|---|
การประทับเวลาของเสียง
audioTimestamp
|
บูลีนที่ช่วยให้ระบบเข้าใจการประทับเวลาสำหรับไฟล์อินพุตเสียงเท่านั้น ใช้ได้เฉพาะเมื่อใช้การโทร |
false |
การลงโทษตามความถี่
frequencyPenalty
|
ควบคุมความน่าจะเป็นของการรวมโทเค็นที่ปรากฏซ้ำๆ ใน
คำตอบที่สร้างขึ้น ค่าบวกจะลงโทษโทเค็นที่ปรากฏซ้ำๆ ในเนื้อหาที่สร้างขึ้น ซึ่งจะลดความน่าจะเป็นของการทำเนื้อหาซ้ำ |
--- |
โทเค็นเอาต์พุตสูงสุด
maxOutputTokens
|
ระบุจำนวนโทเค็นสูงสุดที่สร้างได้ใน การตอบกลับ | --- |
การทำผิดกติกาเกี่ยวกับการปรากฏ
presencePenalty
|
ควบคุมความน่าจะเป็นของการรวมโทเค็นที่ปรากฏใน
คำตอบที่สร้างขึ้นแล้ว ค่าบวกจะลงโทษโทเค็นที่ปรากฏในเนื้อหาที่สร้างขึ้นแล้ว ซึ่งจะเพิ่มโอกาสในการสร้างเนื้อหาที่หลากหลายมากขึ้น |
--- |
หยุดลำดับ
stopSequences
|
ระบุรายการสตริงที่บอกให้โมเดลหยุดสร้างเนื้อหาหากพบสตริงใดสตริงหนึ่งในคำตอบ ใช้ได้เฉพาะเมื่อใช้การกำหนดค่า |
--- |
อุณหภูมิ
temperature
|
ควบคุมระดับความสุ่มในคำตอบ อุณหภูมิที่ต่ำลงจะทำให้ได้คำตอบที่แน่นอนมากขึ้น และอุณหภูมิที่สูงขึ้น จะทำให้ได้คำตอบที่หลากหลายหรือสร้างสรรค์มากขึ้น |
ขึ้นอยู่กับรุ่น |
Top-K
topK
|
จำกัดจำนวนคำที่มีความเป็นไปได้สูงสุดที่ใช้ใน
เนื้อหาที่สร้างขึ้น ค่า Top-K ที่ 1 หมายความว่าโทเค็นถัดไปที่เลือกควรเป็น
โทเค็นที่มีแนวโน้มมากที่สุดในบรรดาโทเค็นทั้งหมดในคำศัพท์ของโมเดล
ขณะที่ค่า Top-K ที่ n หมายความว่าโทเค็นถัดไปควร
เลือกจากโทเค็นที่มีแนวโน้มมากที่สุด
(ทั้งหมดขึ้นอยู่กับอุณหภูมิที่ตั้งไว้)
|
ขึ้นอยู่กับรุ่น |
Top-P
topP
|
ควบคุมความหลากหลายของเนื้อหาที่สร้างขึ้น ระบบจะเลือกโทเค็นจากโทเค็นที่มีแนวโน้มมากที่สุด (ดูที่ top-K ด้านบน) ไปจนถึงโทเค็นที่มี แนวโน้มน้อยที่สุดจนกว่าผลรวมของความน่าจะเป็นจะเท่ากับค่า top-P |
ขึ้นอยู่กับรุ่น |
รูปแบบการตอบกลับ
responseModality
|
ระบุประเภทเอาต์พุตที่สตรีมเมื่อใช้ Live API หรือเอาต์พุตหลายรูปแบบดั้งเดิมโดยโมเดล Gemini เช่น ข้อความ เสียง หรือรูปภาพ ใช้ได้เฉพาะเมื่อใช้ Live API และการกำหนดค่า |
--- |
คำพูด (เสียง)
speechConfig
|
ระบุเสียงที่ใช้สำหรับเอาต์พุตเสียงที่สตรีมเมื่อใช้ Live API ใช้ได้เฉพาะเมื่อใช้การกำหนดค่า Live API และ |
Puck |
กำหนดค่าโมเดล Imagen
คลิกผู้ให้บริการ Imagen API เพื่อดูเนื้อหาและโค้ดของผู้ให้บริการนั้นๆ ในหน้านี้ |
ส่วนนี้จะแสดงวิธีตั้งค่าการกำหนดค่าเพื่อใช้กับโมเดล Imagen และอธิบายพารามิเตอร์แต่ละรายการ
ตั้งค่าโมเดล (Imagen)
ระบบจะรักษาการกำหนดค่าไว้ตลอดอายุการใช้งานของอินสแตนซ์ หากต้องการใช้การกำหนดค่าอื่น ให้สร้างอินสแตนซ์ ImagenModel
ใหม่ด้วยการกำหนดค่านั้น
Swift
ตั้งค่าพารามิเตอร์ใน
ImagenGenerationConfig
เป็นส่วนหนึ่งของการสร้างอินสแตนซ์ ImagenModel
import FirebaseAI
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
let config = ImagenGenerationConfig(
negativePrompt: "frogs",
numberOfImages: 2,
aspectRatio: .landscape16x9,
imageFormat: .jpeg(compressionQuality: 100),
addWatermark: false
)
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).imagenModel(
modelName: "IMAGEN_MODEL_NAME",
generationConfig: config
)
// ...
Kotlin
ตั้งค่าพารามิเตอร์ใน
ImagenGenerationConfig
เป็นส่วนหนึ่งของการสร้างอินสแตนซ์ ImagenModel
// ...
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
val config = ImagenGenerationConfig {
negativePrompt = "frogs",
numberOfImages = 2,
aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
addWatermark = false
}
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
modelName = "IMAGEN_MODEL_NAME",
generationConfig = config
)
// ...
Java
ตั้งค่าพารามิเตอร์ใน
ImagenGenerationConfig
เป็นส่วนหนึ่งของการสร้างอินสแตนซ์ ImagenModel
// ...
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
.setNegativePrompt("frogs")
.setNumberOfImages(2)
.setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
.setImageFormat(ImagenImageFormat.jpeg(100))
.setAddWatermark(false)
.build();
// Specify the config as part of creating the `ImagenModel` instance
ImagenModelFutures model = ImagenModelFutures.from(
FirebaseAI.getInstance(GenerativeBackend.googleAI())
.imagenModel(
"IMAGEN_MODEL_NAME",
config
);
);
// ...
Web
ตั้งค่าพารามิเตอร์ใน
ImagenGenerationConfig
เป็นส่วนหนึ่งของการสร้างอินสแตนซ์ ImagenModel
// ...
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
const generationConfig = {
negativePrompt: "frogs",
numberOfImages: 2,
aspectRatio: ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat: ImagenImageFormat.jpeg(100),
addWatermark: false
};
// Specify the config as part of creating the `ImagenModel` instance
const model = getImagenModel(ai, { model: "IMAGEN_MODEL_NAME", generationConfig });
// ...
Dart
ตั้งค่าพารามิเตอร์ใน
ImagenGenerationConfig
ซึ่งเป็นส่วนหนึ่งของการสร้างอินสแตนซ์ ImagenModel
// ...
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
final generationConfig = ImagenGenerationConfig(
negativePrompt: 'frogs',
numberOfImages: 2,
aspectRatio: ImagenAspectRatio.landscape16x9,
imageFormat: ImagenImageFormat.jpeg(compressionQuality: 100)
addWatermark: false
);
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
final model = FirebaseAI.googleAI().imagenModel(
model: 'IMAGEN_MODEL_NAME',
config: generationConfig,
);
// ...
Unity
Imagen ยังไม่รองรับ Unity แต่โปรดกลับมาตรวจสอบอีกครั้งในเร็วๆ นี้
คุณดูคำอธิบายของแต่ละพารามิเตอร์ได้ ในส่วนถัดไปของหน้านี้
คำอธิบายพารามิเตอร์ (Imagen)
ภาพรวมระดับสูงของพารามิเตอร์ที่ใช้ได้มีดังนี้ ดูรายการพารามิเตอร์และค่าของพารามิเตอร์ทั้งหมดได้ในเอกสารประกอบของ Google Cloud
พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
---|---|---|
พรอมต์เชิงลบ
negativePrompt
|
คำอธิบายของสิ่งที่คุณต้องการละเว้นในรูปภาพที่สร้างขึ้น
|
--- |
จำนวนผลลัพธ์
numberOfImages
|
จำนวนรูปภาพที่สร้างขึ้นซึ่งแสดงผลสำหรับแต่ละคำขอ | ค่าเริ่มต้นคือรูปภาพ 1 รูปสำหรับโมเดล Imagen 3 |
สัดส่วนภาพ
aspectRatio
|
อัตราส่วนความกว้างต่อความสูงของรูปภาพที่สร้างขึ้น | ค่าเริ่มต้นคือสี่เหลี่ยมจัตุรัส (1:1) |
รูปแบบรูปภาพ
imageFormat
|
ตัวเลือกเอาต์พุต เช่น รูปแบบรูปภาพ (ประเภท MIME) และระดับ การบีบอัดของรูปภาพที่สร้างขึ้น | ประเภท MIME เริ่มต้นคือ PNG การบีบอัดเริ่มต้นคือ 75 (หากตั้งค่าประเภท MIME เป็น JPEG) |
ลายน้ำ
addWatermark
|
เลือกว่าจะเพิ่มลายน้ำดิจิทัลที่มองไม่เห็น (เรียกว่า SynthID) ลงในรูปภาพที่สร้างขึ้นหรือไม่ | ค่าเริ่มต้นคือ true สำหรับโมเดล Imagen 3
|
การสร้างบุคคล
personGeneration
|
จะอนุญาตให้โมเดลสร้างรูปภาพบุคคลหรือไม่ | ค่าเริ่มต้นขึ้นอยู่กับรุ่น |
ตัวเลือกอื่นๆ ในการควบคุมการสร้างเนื้อหา
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบพรอมต์ เพื่อให้คุณมีอิทธิพลต่อโมเดลในการสร้างเอาต์พุตที่เฉพาะเจาะจงตามความต้องการของคุณ
- ใช้การตั้งค่าความปลอดภัย เพื่อปรับความน่าจะเป็นที่จะได้รับคำตอบที่อาจถือว่า เป็นอันตราย ซึ่งรวมถึงวาจาสร้างความเกลียดชังและเนื้อหาเกี่ยวกับเรื่องเพศอย่างโจ่งแจ้ง
- ตั้งคำสั่งของระบบ เพื่อกำหนดลักษณะการทำงานของโมเดล ฟีเจอร์นี้เป็นเหมือนคำนำที่คุณ เพิ่มก่อนที่โมเดลจะได้รับคำสั่งเพิ่มเติมจากผู้ใช้ปลายทาง
- ส่งสคีมาการตอบกลับ พร้อมกับพรอมต์เพื่อระบุสคีมาเอาต์พุตที่เฉพาะเจาะจง โดยส่วนใหญ่จะใช้ฟีเจอร์นี้เมื่อสร้างเอาต์พุต JSON แต่ก็ใช้กับงานการจัดประเภทได้เช่นกัน (เช่น เมื่อต้องการให้โมเดลใช้ป้ายกำกับหรือแท็กที่เฉพาะเจาะจง)