Các lựa chọn cấu hình cho trải nghiệm kết hợp trong ứng dụng Android


Trang này mô tả các tuỳ chọn cấu hình sau đây cho trải nghiệm kết hợp:

Hãy đảm bảo bạn đã hoàn tất hướng dẫn bắt đầu xây dựng trải nghiệm kết hợp.

Đặt chế độ suy luận

Các ví dụ trong hướng dẫn bắt đầu sử dụng chế độ PREFER_ON_DEVICE, nhưng đây chỉ là một trong 4 chế độ suy luận hiện có.

Dưới đây là các chế độ suy luận hiện có:

  • PREFER_ON_DEVICE: Thử sử dụng mô hình trên thiết bị nếu mô hình đó có sẵn và hỗ trợ loại yêu cầu. Nếu không, hãy ghi lại lỗi trên thiết bị rồi tự động quay lại mô hình được lưu trữ trên đám mây.

    Kotlin

    val config = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)
    

    Java

    InferenceMode mode = InferenceMode.PREFER_ON_DEVICE;
    OnDeviceConfig config = new OnDeviceConfig(mode);
    
  • ONLY_ON_DEVICE: Thử sử dụng mô hình trên thiết bị nếu mô hình đó có sẵn và hỗ trợ loại yêu cầu. Nếu không, hãy gửi một ngoại lệ.

    Kotlin

    val config = OnDeviceConfig(mode = InferenceMode.ONLY_ON_DEVICE)
    

    Java

    InferenceMode mode = InferenceMode.ONLY_ON_DEVICE;
    OnDeviceConfig config = new OnDeviceConfig(mode);
    
  • PREFER_IN_CLOUD: Thử sử dụng mô hình được lưu trữ trên đám mây nếu thiết bị trực tuyến và mô hình đó có sẵn. Nếu thiết bị không kết nối mạng, hãy quay lại mô hình trên thiết bị. Trong tất cả các trường hợp lỗi khác, hãy gửi một ngoại lệ.

    Kotlin

    val config = OnDeviceConfig(mode = InferenceMode.PREFER_IN_CLOUD)
    

    Java

    InferenceMode mode = InferenceMode.PREFER_IN_CLOUD;
    OnDeviceConfig config = new OnDeviceConfig(mode);
    
  • ONLY_IN_CLOUD: Thử sử dụng mô hình được lưu trữ trên đám mây nếu thiết bị trực tuyến và mô hình đó có sẵn. Nếu không, hãy gửi một ngoại lệ.

    Kotlin

    val config = OnDeviceConfig(mode = InferenceMode.ONLY_IN_CLOUD)
    

    Java

    InferenceMode mode = InferenceMode.ONLY_IN_CLOUD;
    OnDeviceConfig config = new OnDeviceConfig(mode);
    

Xác định xem bạn đã sử dụng tính năng suy luận trên thiết bị hay trong đám mây

Nếu bạn sử dụng chế độ suy luận PREFER_ON_DEVICE hoặc PREFER_IN_CLOUD, thì bạn có thể cần biết chế độ nào đã được sử dụng cho các yêu cầu nhất định. Thông tin này do thuộc tính inferenceSource của mỗi phản hồi cung cấp.

Khi bạn truy cập vào thuộc tính này, giá trị trả về sẽ là ON_DEVICE hoặc IN_CLOUD.

Kotlin

// ...

print("You used: ${result.response.inferenceSource}")

print(result.response.text)

Java

// ...

System.out.println("You used: " + result.getResponse().getInferenceSource());

System.out.println(result.getResponse().getText());

Chỉ định một mô hình được lưu trữ trên đám mây để sử dụng

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.

Nếu tính năng suy luận chính hoặc dự phòng có thể được thực hiện bằng một mô hình được lưu trữ trên đám mây, thì bạn cần chỉ định rõ ràng một mô hình đám mây để sử dụng khi tạo thực thể generativeModel.

Kotlin

val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel(
        modelName = "MODEL_NAME",
        onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)
    )

Java

GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .generativeModel(
        "MODEL_NAME",
        new OnDeviceConfig(InferenceMode.PREFER_ON_DEVICE)
    );

GenerativeModelFutures model = GenerativeModelFutures.from(ai);

Tìm tên mô hình cho tất cả các mô hình Gemini được hỗ trợ.

Sử dụng cấu hình mô hình để kiểm soát câu trả lời

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.

Trong mỗi yêu cầu 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 câu trả lời. Mô hình được lưu trữ trên đám mây và mô hình trên thiết bị cung cấp các tuỳ chọn cấu hình khác nhau (tham số trên đám mây so với tham số trên thiết bị ).

Đối với các mô hình được lưu trữ trên đám mây, hãy đặt cấu hình trực tiếp trong cấu hình của mô hình. Tuy nhiên, đối với các mô hình trên thiết bị, hãy đặt cấu hình trong an onDeviceConfig.

Cấu hình được duy trì trong suốt vòng đời 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 đó.

Sau đây là ví dụ về cách đặt cấu hình cho các mô hình được lưu trữ trên đám mây và mô hình trên thiết bị có thể được sử dụng nếu bạn đặt chế độ suy luận PREFER_ON_DEVICE:

Kotlin

val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel("MODEL_NAME",
        // Config for cloud-hosted model
        generationConfig = generationConfig {
          temperature = 0.8f,
          topK = 10
        },
        // Config for on-device model
        onDeviceConfig = onDeviceConfig {
          mode = InferenceMode.PREFER_ON_DEVICE,
          temperature = 0.8f,
          topK = 5
        })

Java

// Config for cloud-hosted model
GenerationConfig generationConfig = new GenerationConfig.Builder()
    .setTemperature(0.8f)
    .setTopK(10)
    .build();

// Config for on-device model
OnDeviceConfig onDeviceConfig = new OnDeviceConfig.Builder()
    .setMode(InferenceMode.PREFER_ON_DEVICE)
    .setTemperature(0.8f)
    .setTopK(5)
    .build();

GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .generativeModel(
        "MODEL_NAME",
        generationConfig,
        onDeviceConfig
    );

GenerativeModelFutures model = GenerativeModelFutures.from(ai);