Sử dụng cấu hình mô hình để kiểm soát phản hồi

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 thanh
audioTimestamp

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 generateContent hoặc generateContentStream lệnh gọi và loại đầu vào là tệp chỉ có âm thanh.

false
Số lượng ứng cử viên
candidateCount

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ợ: 18 (bao gồm cả 2 giá trị này)

Chỉ áp dụng khi sử dụng generateContent và các mô hình Gemini mới nhất. Các mô hình Live APIgenerateContentStream không được hỗ trợ.

1
Mức phạt tần suất
frequencyPenalty
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 đa
maxOutputTokens
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ện
presencePenalty
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ừng
stopSequences

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 GenerativeModel

---
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-K
topK
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-P
topP
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ồi
responseModality

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ói
speechConfig

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

imagen-3.0-generate-002 hiện chưa hỗ trợ tham số này.

---
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: "Death, Harm & Tragedy", "Firearms & Weapons", "Hate", "Health", "Illicit Drugs", "Politics", "Porn", "Religion & Belief", "Toxic", "Violence", "Vulgarity", "War & Conflict".

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ể).