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 cùng một 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 nhiều tuỳ chọn cấu hình.

Bạn cũng có thể thử nghiệm với các câu lệnh và cấu hình mô hình bằng cách sử dụng Google AI Studio.

Chuyển đến các tuỳ chọn cấu hình Gemini Chuyển đến các tuỳ chọn cấu hình Imagen



Định cấu hình mô hình Gemini

Nhấp vào nhà cung cấp Gemini API để xem nội dung và mã dành riêng cho nhà cung cấp trên trang này.

Phần này cho bạn biết cách thiết lập cấu hình để sử dụng với các mô hình Gemini và cung cấp nội dung mô tả về từng thông 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 chung

Cấu hình được duy trì trong suốt thời gian hoạt động của thực thể. Nếu bạn 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 GenerationConfig trong quá trình tạo thực thể 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

Đặt giá trị của các tham số trong GenerationConfig trong quá trình tạo một thực thể 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

Đặt giá trị của các tham số trong GenerationConfig trong quá trình tạo một thực thể 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

Đặt giá trị của các tham số trong 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` (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

Đặt giá trị của các tham số trong GenerationConfig trong quá trình tạo một thực thể 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

Đặt giá trị của các tham số trong GenerationConfig trong quá trình tạo thực thể 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
);

Bạn có thể tìm thấy 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

Nội dung mô tả về các thông số (Gemini)

Dưới đây là thông tin tổng quan cấp cao về các thông số có sẵn (nếu có). Bạn có thể tìm thấy danh sách đầy đủ các tham số và giá trị của các tham số đó trong tài liệu về Gemini Developer API.

Thông số Mô tả Giá trị mặc định
Dấu thời gian âm thanh
audioTimestamp

Một boolean cho phép hiểu dấu thời gian cho các tệp đầu vào chỉ âm thanh.

Chỉ áp dụng khi sử dụng lệnh gọi generateContent hoặc generateContentStream và loại dữ liệu đầu vào là tệp chỉ âm thanh.

false
Hình phạt về tần suất
frequencyPenalty
Kiểm soát xác suất đưa vào các mã thông báo xuất hiện nhiều lần trong phản hồi được tạo.
Giá trị dương sẽ phạt các mã thông báo xuất hiện 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ố lượng 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. ---
Trường hợp bị phạt do không có mặt
presencePenalty
Kiểm soát xác suất đưa vào các mã thông báo đã xuất hiện trong phản hồi đã tạo.
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, tăng khả năng tạo nội dung đa dạng hơn.
---
Dừng trình tự
stopSequences

Chỉ định danh sách các chuỗi yêu cầu mô hình ngừng tạo nội dung nếu gặp 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 câu trả lời.
Nhiệt độ thấp hơn sẽ dẫn đến các phản hồi có tính quyết định hơn, còn nhiệt độ cao hơn sẽ dẫn đến các phản hồi đa dạng hoặc sáng tạo hơn.
Tuỳ thuộc vào mẫu
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à có nhiều khả năng nhất trong số tất 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ó nhiều khả năng nhất (tất cả đều dựa trên nhiệt độ đã đặt).
Tuỳ thuộc vào mẫu
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ừ xác suất cao nhất (xem top-K ở trên) đến xác suất thấp nhất cho đến khi tổng xác suất của các mã thông báo bằng giá trị top-P.
Tuỳ thuộc vào mẫu
Phương thức phản hồi
responseModality

Chỉ định loại đầu ra truyền trực tuyến khi sử dụng Live API, ví dụ: văn bản hoặc âm thanh.

Chỉ áp dụng khi sử dụng Live API và cấu hình LiveModel.

---
Giọng nói (tiếng nói)
speechConfig

Chỉ định giọng nói dùng cho đầu ra âm thanh phát trực tuyến khi sử dụng Live API.

Chỉ áp dụng khi sử dụng Live API và cấu hình LiveModel.

Puck



Định cấu hình mô hình Imagen

Nhấp vào nhà cung cấp Imagen API để xem nội dung và mã dành riêng cho nhà cung cấp trên trang này.

Phần này cho bạn biết cách thiết lập cấu hình để sử dụng với các mô hình Imagen và cung cấp nội dung mô tả về từng thông 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 hoạt động của thực thể. Nếu bạn 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 ImagenGenerationConfig trong quá trình tạo thực thể 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

Đặt giá trị của các tham số trong 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 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 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 ImagenGenerationConfig trong quá trình tạo một 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

Việc sử dụng Imagen hiện chưa được hỗ trợ cho Unity, nhưng hãy sớm kiểm tra lại!

Bạn có thể tìm thấy 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 thông số (Imagen)

Dưới đây là thông tin tổng quan cấp cao về các thông số có sẵn (nếu có). Bạn có thể tìm thấy danh sách đầy đủ các tham số và giá trị của các tham số đó trong tài liệu về Google Cloud.

Thông số Mô tả Giá trị mặc định
Câu lệnh phủ định
negativePrompt
Nội dung mô tả những gì bạn muốn bỏ qua trong hình ảnh được tạo

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

---
Số kết quả
numberOfImages
Số lượng hình ảnh được tạo trả về cho mỗi yêu cầu mặc định là một hình ảnh cho các mô hình Imagen 3
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 tuỳ 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
tỷ lệ nén mặc định là 75 (nếu loại MIME được đặt thành JPEG)
Hình mờ
addWatermark
Liệu có thêm hình mờ kỹ thuật số không nhìn thấy được (gọi là SynthID) vào hình ảnh được tạo hay không mặc định là true đối với các mô hình Imagen 3
Tạo người
personGeneration
Cho phép tạo người theo mô hình hay không mặc định tuỳ thuộc vào mô hình



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 để có thể tác động đến mô hình nhằm tạo ra kết quả phù hợp với nhu cầu của bạn.
  • Sử dụng chế độ cài đặt an toàn để điều chỉnh khả năng nhận được những câu trả lời có thể được 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.
  • Đặt hướng dẫn hệ thống để điều hướng hành vi của mô hình. Tính năng này giống như một lời mở đầu mà bạn thêm vào trước khi mô hình hiển thị 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 lời nhắc để 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 nhiệm vụ phân loại (chẳng hạn như khi bạn muốn mô hình sử dụng các nhãn hoặc thẻ cụ thể).