Trong mỗi lệnh gọi đến một mô hình, bạn có thể gửi kèm theo cấu hình mô hình để kiểm soát cách mô hình tạo phản hồi. Mỗi mô hình cung cấp các lựa chọn cấu hình khác nhau.
Bạn cũng có thể thử nghiệm với câu lệnh và cấu hình mô hình bằng Google AI Studio.Chuyển đến các lựa chọn cấu hình Gemini Chuyển đến các lựa chọn cấu hình Imagen (Không dùng nữa)
Định cấu hình mô hình Gemini
|
Nhấp vào nhà cung định Gemini API để xem nội dung dành riêng cho nhà cung cấp và mã trên trang này. |
Phần này hướng dẫn cách thiết lập cấu hình để sử dụng với các Gemini mô hình và cung cấp nội dung mô tả về từng tham số.
Thiết lập cấu hình mô hình (Gemini)
Cấu hình cho các trường hợp sử dụng Gemini chung
Cấu hình được duy trì trong suốt thời gian tồn tại của thực thể. Nếu muốn sử dụng một cấu hình khác, hãy tạo một thực thể GenerativeModel mới bằng cấu hình đó.
Swift
Đặt giá trị của các tham số trong a
GenerationConfig
trong quá trình tạo thực thể GenerativeModel.
import FirebaseAILogic
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
let config = GenerationConfig(
candidateCount: 1,
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
Đặt giá trị của các tham số trong a
GenerationConfig
trong quá trình tạo thực thể GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
val config = generationConfig {
candidateCount = 1
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
Đặt giá trị của các tham số trong a
GenerationConfig
trong quá trình tạo thực thể GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
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
Đặt giá trị của các tham số trong a
GenerationConfig
trong quá trình tạo thực thể GenerativeModel.
// ...
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
const generationConfig = {
candidate_count: 1,
maxOutputTokens: 200,
stopSequences: ["red"],
temperature: 0.9,
topP: 0.1,
topK: 16,
};
// Specify the config as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, { model: "GEMINI_MODEL_NAME", generationConfig });
// ...
Dart
Đặt giá trị của các tham số trong a
GenerationConfig
trong quá trình tạo thực thể GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
final generationConfig = GenerationConfig(
candidateCount: 1,
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
Đặt giá trị của các tham số trong a
GenerationConfig
trong quá trình tạo thực thể GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
var generationConfig = new GenerationConfig(
candidateCount: 1,
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
);
Bạn có thể xem nội dung mô tả về từng tham số trong phần tiếp theo của trang này.
Cấu hình cho Gemini Live API
Cấu hình được duy trì trong suốt thời gian tồn tại của thực thể. Nếu muốn sử dụng một cấu hình khác, hãy tạo một thực thể LiveModel mới bằng cấu hình đó.
Swift
Đặt giá trị của các tham số trong
liveGenerationConfig
trong quá trình khởi chạy thực thể LiveModel:
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
let config = LiveGenerationConfig(
temperature: 0.9,
topP: 0.1,
topK: 16,
maxOutputTokens: 200,
responseModalities: [.audio],
speech: SpeechConfig(voiceName: "Fenrir"),
)
// Specify the config as part of creating the `liveModel` instance
let liveModel = FirebaseAI.firebaseAI(backend: .googleAI()).liveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
generationConfig: config
)
// ...
Kotlin
Đặt giá trị của các tham số trong a
LiveGenerationConfig
trong quá trình tạo thực thể LiveModel
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
val config = liveGenerationConfig {
maxOutputTokens = 200
responseModality = ResponseModality.AUDIO
speechConfig = SpeechConfig(voice = Voices.FENRIR)
temperature = 0.9f
topK = 16
topP = 0.1f
}
// Specify the config as part of creating the `LiveModel` instance
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
modelName = "GEMINI_LIVE_MODEL_NAME",
generationConfig = config
)
// ...
Java
Đặt giá trị của các tham số trong a
LiveGenerationConfig
trong quá trình tạo thực thể LiveModel
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
LiveGenerationConfig.Builder configBuilder = new LiveGenerationConfig.Builder();
configBuilder.setMaxOutputTokens(200);
configBuilder.setResponseModality(ResponseModality.AUDIO);
configBuilder.setSpeechConfig(new SpeechConfig(Voices.FENRIR));
configBuilder.setTemperature(0.9f);
configBuilder.setTopK(16);
configBuilder.setTopP(0.1f);
LiveGenerationConfig config = configBuilder.build();
// Specify the config as part of creating the `LiveModel` instance
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.googleAI()).liveModel(
"GEMINI_LIVE_MODEL_NAME",
config
);
// ...
Web
Đặt giá trị của các tham số trong
LiveGenerationConfig
trong quá trình khởi chạy thực thể LiveGenerativeModel:
// ...
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
const liveGenerationConfig = {
maxOutputTokens: 200,
responseModalities: [ResponseModality.AUDIO],
speechConfig: {
voiceConfig: {
prebuiltVoiceConfig: { voiceName: "Fenrir" },
},
},
temperature: 0.9,
topP: 0.1,
topK: 16,
};
// Specify the config as part of creating the `LiveGenerativeModel` instance
const liveModel = getLiveGenerativeModel(ai, {
model: "GEMINI_LIVE_MODEL_NAME",
liveGenerationConfig,
});
// ...
Dart
Đặt giá trị của các tham số trong a
LiveGenerationConfig
trong quá trình tạo thực thể LiveGenerativeModel.
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
final config = LiveGenerationConfig(
maxOutputTokens: 200,
responseModalities: [ResponseModalities.audio],
speechConfig: SpeechConfig(voiceName: 'Fenrir'),
temperature: 0.9,
topP: 0.1,
topK: 16,
);
// Specify the config as part of creating the `liveGenerativeModel` instance
final liveModel = FirebaseAI.googleAI().liveGenerativeModel(
model: 'GEMINI_LIVE_MODEL_NAME',
liveGenerationConfig: config,
);
// ...
Unity
Đặt giá trị của các tham số trong a
LiveGenerationConfig
trong quá trình tạo thực thể LiveModel
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
var config = new LiveGenerationConfig(
maxOutputTokens: 200,
responseModalities: new[] { ResponseModality.Audio },
speechConfig: SpeechConfig.UsePrebuiltVoice("Fenrir"),
temperature: 0.9f,
topK: 16,
topP: 0.1f
);
// Specify the config as part of creating the `LiveModel` instance
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetLiveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
liveGenerationConfig: config
);
// ...
Bạn có thể xem nội dung mô tả về từng tham số trong phần tiếp theo của trang này.
Nội dung mô tả về các tham số (Gemini)
Sau đây là thông tin tổng quan về các tham số hiện có, nếu có. Bạn có thể xem danh sách đầy đủ các tham số và giá trị của các tham số đó trong tài liệu Gemini Developer API.
| Tham số | Nội dung mô tả | Giá trị mặc định |
|---|---|---|
Dấu thời gian âm thanhaudioTimestamp
|
Một giá trị boolean cho phép hiểu dấu thời gian đối với các tệp đầu vào chỉ có âm thanh. Chỉ áp dụng khi sử dụng |
false |
Số lượng ứng cử viêncandidateCount
|
Chỉ định số lượng biến thể phản hồi cần trả về. Đối với mỗi yêu cầu, bạn sẽ bị tính phí cho các mã thông báo đầu ra của tất cả ứng cử viên, nhưng chỉ bị tính phí một lần cho các mã thông báo đầu vào. Các giá trị được hỗ trợ: Chỉ áp dụng khi sử dụng |
1 |
Mức phạt tần suấtfrequencyPenalty
|
Kiểm soát xác suất đưa các mã thông báo xuất hiện lặp đi lặp lại vào
phản hồi được tạo. Các giá trị dương sẽ phạt các mã thông báo xuất hiện lặp đi lặp lại trong nội dung được tạo, làm giảm xác suất lặp lại nội dung. |
--- |
Số mã thông báo đầu ra tối đamaxOutputTokens
|
Chỉ định số lượng mã thông báo tối đa có thể được tạo trong phản hồi. | --- |
Mức phạt hiện diệnpresencePenalty
|
Kiểm soát xác suất đưa các mã thông báo đã xuất hiện vào
phản hồi được tạo. Các giá trị dương sẽ phạt các mã thông báo đã xuất hiện trong nội dung được tạo, làm tăng xác suất tạo ra nội dung đa dạng hơn. |
--- |
Dãy dừngstopSequences
|
Chỉ định danh sách các chuỗi cho biết mô hình sẽ ngừng tạo nội dung nếu gặp phải một trong các chuỗi trong phản hồi. Chỉ áp dụng khi sử dụng cấu hình
|
--- |
Nhiệt độtemperature
|
Kiểm soát mức độ ngẫu nhiên trong phản hồi. Nhiệt độ thấp hơn sẽ tạo ra phản hồi mang tính xác định hơn và nhiệt độ cao hơn sẽ tạo ra phản hồi đa dạng hoặc sáng tạo hơn. |
Tuỳ thuộc vào mô hình |
Top-KtopK
|
Giới hạn số lượng từ có xác suất cao nhất được sử dụng trong nội dung được tạo. Giá trị top-K là 1 có nghĩa là mã thông báo được chọn tiếp theo phải là
mã thông báo có xác suất cao nhất trong số tất cả các mã thông báo trong từ vựng của mô hình,
trong khi giá trị top-K là n có nghĩa là mã thông báo tiếp theo phải
được chọn trong số n mã thông báo có xác suất cao nhất (tất cả đều dựa trên nhiệt độ đã đặt).
|
Tuỳ thuộc vào mô hình |
Top-PtopP
|
Kiểm soát tính đa dạng của nội dung được tạo. Các mã thông báo được chọn từ mã thông báo có xác suất cao nhất (xem top-K ở trên) đến mã thông báo có xác suất thấp nhất cho đến khi tổng xác suất của chúng bằng giá trị top-P. |
Tuỳ thuộc vào mô hình |
Phương thức phản hồiresponseModality
|
Chỉ định loại đầu ra được truyền trực tuyến khi sử dụng Live API hoặc đầu ra đa phương thức gốc của mô hình Gemini, chẳng hạn như văn bản, âm thanh hoặc hình ảnh. Chỉ áp dụng khi sử dụng các mô hình Live API hoặc khi sử dụng mô hình Gemini có khả năng tạo đầu ra đa phương thức. |
--- |
Giọng nóispeechConfig
|
Chỉ định giọng nói được dùng cho đầu ra âm thanh được truyền trực tuyến khi sử dụng Live API. Chỉ áp dụng khi sử dụng các mô hình Live API. |
Puck |
Định cấu hình mô hình Imagen
|
Nhấp vào nhà cung cấp Imagen API của bạn để xem nội dung dành riêng cho nhà cung cấp và mã trên trang này. |
Phần này hướng dẫn cách thiết lập cấu hình để sử dụng với các Imagen mô hình và cung cấp nội dung mô tả về từng tham số.
Thiết lập cấu hình mô hình (Imagen)
Cấu hình được duy trì trong suốt thời gian tồn tại của thực thể. Nếu muốn sử dụng một cấu hình khác, hãy tạo một thực thể ImagenModel mới bằng cấu hình đó.
Swift
Đặt giá trị của các tham số trong một
ImagenGenerationConfig
trong quá trình tạo thực thể ImagenModel.
import FirebaseAILogic
// 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
Đặt giá trị của các tham số trong một
ImagenGenerationConfig
trong quá trình tạo thực thể 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
Đặt giá trị của các tham số trong một
ImagenGenerationConfig
trong quá trình tạo thực thể 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
Đặt giá trị của các tham số trong một
ImagenGenerationConfig
trong quá trình tạo thực thể 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
Đặt giá trị của các tham số trong một
ImagenGenerationConfig
trong quá trình tạo thực thể 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
Đặt giá trị của các tham số trong một
ImagenGenerationConfig
trong quá trình tạo thực thể ImagenModel.
using Firebase.AI;
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
var config = new ImagenGenerationConfig(
numberOfImages: 2,
aspectRatio: ImagenAspectRatio.Landscape16x9,
imageFormat: ImagenImageFormat.Jpeg(100)
);
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
var model = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetImagenModel(
modelName: "imagen-4.0-generate-001",
generationConfig: config
);
// ...
Bạn có thể xem nội dung mô tả về từng tham số trong phần tiếp theo của trang này.
Nội dung mô tả về các tham số (Imagen)
Sau đây là thông tin tổng quan về các tham số hiện có, nếu có. Bạn có thể xem danh sách đầy đủ các tham số và giá trị của các tham số đó trong tài liệu.Google Cloud
| Tham số | Nội dung mô tả | Giá trị mặc định |
|---|---|---|
Câu lệnh phủ định
negativePrompt
|
Nội dung mô tả về những gì bạn muốn bỏ qua trong hình ảnh được tạo
|
--- |
Số kết quả
numberOfImages
|
Số lượng hình ảnh được tạo được trả về cho mỗi yêu cầu | mặc định là một hình ảnh |
Tỷ lệ khung hình
aspectRatio
|
Tỷ lệ chiều rộng và chiều cao của hình ảnh được tạo | mặc định là hình vuông (1:1) |
Định dạng hình ảnh
imageFormat
|
Các lựa chọn đầu ra, chẳng hạn như định dạng hình ảnh (loại MIME) và mức độ nén của hình ảnh được tạo | loại MIME mặc định là PNG mức độ nén mặc định là 75 (nếu loại MIME được đặt thành JPEG) |
Hình mờ
addWatermark
|
Có thêm hình mờ kỹ thuật số không nhìn thấy (gọi là SynthID) vào hình ảnh được tạo hay không | mặc định là true
|
Tạo người
personGeneration
|
Có cho phép mô hình tạo người hay không | mặc định tuỳ thuộc vào mô hình |
Bao gồm các thuộc tính an toàn
includeSafetyAttributes
|
Có bật điểm số AI có trách nhiệm được làm tròn cho danh sách các thuộc tính an toàn
trong phản hồi cho đầu vào và đầu ra không được lọc hay không Danh mục thuộc tính an toàn:
|
mặc định là false |
Các lựa chọn khác để kiểm soát việc tạo nội dung
- Tìm hiểu thêm về thiết kế câu lệnh để bạn có thể tác động đến mô hình nhằm tạo ra đầu ra phù hợp với nhu cầu của mình.
- Sử dụng chế độ cài đặt an toàn để điều chỉnh khả năng nhận được phản hồi có thể bị coi là gây hại, bao gồm cả lời nói hận thù và nội dung khiêu dâm.
- Thiết lập hướng dẫn hệ thống để điều chỉnh hành vi của mô hình. Tính năng này giống như phần mở đầu mà bạn thêm vào trước khi mô hình tiếp xúc với bất kỳ hướng dẫn nào khác từ người dùng cuối.
- Truyền giản đồ phản hồi cùng với câu lệnh để chỉ định một giản đồ đầu ra cụ thể. Tính năng này thường được dùng nhất khi tạo đầu ra JSON, nhưng cũng có thể dùng cho các tác vụ phân loại (như khi bạn muốn mô hình sử dụng nhãn hoặc thẻ cụ thể).