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 ra phản hồi. Mỗi mô hình đều có 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á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 Gemini các lựa chọn cấu hình Chuyển đến Imagen các lựa chọn cấu hình



Định cấu hình các mẫu 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 hướng dẫn 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 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 chung

Cấu hình được duy trì trong suốt thời gian hoạt động của phiên bản. Nếu bạn muốn sử dụng một cấu hình khác, hãy tạo một phiên bản 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 một 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 một 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 một 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ể 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

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

Sau đâ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ể 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.

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

false
Mức phạt tần suất
frequencyPenalty
Kiểm soát xác suất bao gồm các mã thông báo xuất hiện nhiều lần trong phản hồi được tạo.
Các giá trị dương sẽ phạt những mã thông báo xuất hiện nhiều lần trong nội dung được tạo, làm giảm xác suất nội dung trùng lặp.
---
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. ---
Hình phạt do không có mặt
presencePenalty
Kiểm soát xác suất bao gồm các mã thông báo đã xuất hiện trong phản hồi được tạo.
Các giá trị dương sẽ phạt những 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ừng chuỗi
stopSequences

Chỉ định một danh sách các chuỗi để yêu cầu mô hình dừng tạo nội dung nếu một trong các chuỗi đó xuất hiện trong câu trả lờ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ẽ tạo ra các câu trả lời có tính xác định cao hơn, còn nhiệt độ cao hơn sẽ tạo ra các câu trả lờ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 dùng trong nội dung được tạo.
Giá trị K hàng đầu 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ó khả năng xuất hiện 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ị K hàng đầu 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ó khả năng xuất hiện cao nhất (tất cả đều dựa trên nhiệt độ được đặ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ó khả năng xảy ra cao nhất (xem K hàng đầu ở trên) đến mã thông báo có khả năng xảy ra thấp nhất cho đến khi tổng xác suất của các mã thông báo này bằng giá trị P hàng đầu.
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 Live API và cấu hình LiveModel hoặc khi sử dụng mô hình Gemini có khả năng đưa ra đầu ra đa phương thức.

---
Lời nói (giọng nói)
speechConfig

Chỉ định giọng nói được dùng cho đầu ra âm thanh truyền 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 các mẫu 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 hướng dẫn 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 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 hoạt động của phiên bản. Nếu bạn muốn sử dụng một cấu hình khác, hãy tạo một phiên bản 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 một 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 một 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 một 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 một 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

Unity hiện chưa hỗ trợ việc sử dụng Imagen. Hãy sớm kiểm tra lại!

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 cấp cao về các thông số có sẵn (nếu có). Bạn có thể xem danh sách đầy đủ các thông số và giá trị của các thông số đó trong tài liệu Google Cloud.

Thông số 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 loại bỏ trong hình ảnh được tạo

imagen-3.0-generate-002 hiện chưa hỗ trợ thông 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ẫu 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 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 được (gọi là SynthID) vào hình ảnh được tạo hay không mặc định là true cho các mô hình Imagen 3
Tạo người
personGeneration
Có cho phép mô hình tạo ra hình ảnh con người 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ề cách thiết kế câu lệnh để bạn 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 mình.
  • 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ể 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.
  • Đặt chỉ dẫn hệ thống để định hướng hành vi của mô hình. Tính năng này giống như một phần mở đầu mà bạn thêm trước khi mô hình tiếp xúc với bất kỳ hướng dẫn nào khác của 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 (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ể).