Xây dựng trải nghiệm kết hợp trong các ứng dụng của Apple bằng các mô hình được lưu trữ trên thiết bị và trên đám mây

Bạn có thể tạo các ứng dụng và tính năng dựa trên AI của Apple bằng suy luận kết hợp thông qua Firebase AI Logic. Suy luận kết hợp cho phép chạy suy luận bằng các mô hình trên thiết bị (cụ thể là khung Mô hình nền tảng của Apple) khi có sẵn và chuyển đổi liền mạch sang các mô hình Google được lưu trữ trên đám mây nếu không (và ngược lại).

Trang này mô tả cách bắt đầu sử dụng SDK ứng dụng, cũng như cho thấy các lựa chọn và chức năng cấu hình bổ sung, chẳng hạn như nhiệt độ.

Xin lưu ý rằng suy luận trên thiết bị thông qua Firebase AI Logic được hỗ trợ cho các ứng dụng của Apple sử dụng Firebase AI Logic SDK phiên bản 12.13.0 trở lên và chạy trên các thiết bị đã bật Apple Intelligence. Nội dung này chịu sự điều chỉnh của Các yêu cầu về Chính sách sử dụng được chấp nhận đối với khung Mô hình cơ sở của Apple.

Các trường hợp sử dụng được đề xuất

  • Việc sử dụng mô hình trên thiết bị để suy luận mang lại:

    • Quyền riêng tư nâng cao
    • Suy luận miễn phí
    • Chức năng ngoại tuyến
  • Sử dụng các chức năng kết hợp mang lại:

    • Cung cấp cho tất cả khách hàng trải nghiệm tương tự trong ứng dụng, bất kể thiết bị của người dùng cuối
    • Cải thiện khả năng sử dụng các tính năng AI tạo sinh, bất kể khả năng kết nối Internet, hạn mức hay chức năng của thiết bị

Các chức năng, API và thiết bị được hỗ trợ

Trước khi triển khai suy luận kết hợp và suy luận trên thiết bị bằng Firebase AI Logic, hãy xem lại phần này để tìm hiểu những gì được hỗ trợ cho các ứng dụng Apple.

Các tính năng và chức năng được hỗ trợ cho hoạt động suy luận trên thiết bị

Suy luận trên thiết bị chỉ hỗ trợ tạo văn bản, cụ thể là các chức năng tạo văn bản sau đây:

Hãy nhớ xem danh sách chi tiết về suy luận kết hợp hoặc suy luận trên thiết bị chưa được hỗ trợ ở cuối trang này.

Các API và thiết bị được hỗ trợ

Bắt đầu

Đảm bảo rằng bạn đã xem xét phần mô tả các chức năng, API và thiết bị được hỗ trợ ở trên.

Các bước bắt đầu này mô tả chế độ thiết lập chung bắt buộc cho mọi yêu cầu về câu lệnh được hỗ trợ mà bạn muốn gửi.

Bước 1: Thiết lập một dự án Firebase và kết nối ứng dụng của bạn với Firebase

  1. Đăng nhập vào bảng điều khiển Firebase, sau đó chọn dự án Firebase của bạn.

  2. Trong bảng điều khiển Firebase, hãy chuyển đến Dịch vụ AI > Logic AI.

  3. Nhấp vào Bắt đầu để chạy một quy trình có hướng dẫn giúp bạn thiết lập các API bắt buộc và tài nguyên cho dự án của mình.

  4. Thiết lập dự án để sử dụng nhà cung cấp "Gemini API".

    Bạn nên bắt đầu bằng cách sử dụng Gemini Developer API. Bất cứ lúc nào, bạn đều có thể thiết lập Vertex AI Gemini API (và yêu cầu về việc thanh toán).

    Đối với Gemini Developer API, bảng điều khiển sẽ bật các API bắt buộc và tạo khoá API Gemini trong dự án của bạn.
    Đừng thêm khoá API Gemini này vào cơ sở mã của ứng dụng. Tìm hiểu thêm.

  5. Nếu được nhắc trong quy trình của bảng điều khiển, hãy làm theo hướng dẫn trên màn hình để đăng ký ứng dụng và kết nối ứng dụng đó với Firebase.

  6. Tiếp tục chuyển sang bước tiếp theo trong hướng dẫn này để thêm SDK vào ứng dụng của bạn.

Bước 2: Thêm các SDK bắt buộc

Sử dụng Trình quản lý gói Swift (SPM) để cài đặt và quản lý các phần phụ thuộc của Xcode. Tính năng hỗ trợ kết hợp chỉ có khi bạn sử dụng SPM.

Thư viện Firebase AI Logic cung cấp quyền truy cập vào các API để tương tác với mô hình tạo sinh. Thư viện này có trong Firebase SDK dành cho các nền tảng của Apple (firebase-ios-sdk).

Nếu bạn đang sử dụng Firebase, hãy đảm bảo gói Firebase của bạn là phiên bản 12.13.0 trở lên.

  1. Trong Xcode, khi dự án ứng dụng của bạn đang mở, hãy chuyển đến File (Tệp) > Add Package Dependencies (Thêm phần phụ thuộc của gói).

  2. Khi được nhắc, hãy thêm kho lưu trữ SDK của Firebase cho các nền tảng Apple:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Chọn phiên bản SDK mới nhất.

  4. Chọn thư viện FirebaseAILogic.

Khi hoàn tất, Xcode sẽ tự động bắt đầu phân giải và tải các phần phụ thuộc xuống ở chế độ nền.

Bước 3: Khởi chạy dịch vụ và tạo một phiên bản phiên mô hình

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.

Thiết lập những nội dung sau trước khi bạn gửi yêu cầu câu lệnh cho mô hình.

  1. Khởi chạy dịch vụ cho nhà cung cấp Gemini API mà bạn chọn.

  2. Tạo một thực thể GenerativeModelSession bằng HybridModel.

  3. Đặt các mô hình primarysecondary dựa trên lựa chọn ưu tiên của bạn. Bạn có thể đặt thứ tự suy luận được thử:

    • Trước tiên, hãy thử suy luận trên thiết bị, nhưng cho phép dự phòng sang đám mây: đặt primary thành mô hình "hệ thống" và secondary thành mô hình đám mây.

    • Trước tiên, hãy thử suy luận trên đám mây, nhưng cho phép dự phòng trên thiết bị: đặt primary thành một mô hình đám mây và secondary thành một mô hình "hệ thống".

    Xin lưu ý rằng SDK chỉ hỗ trợ việc thiết lập một model duy nhất, tức là SDK chỉ cố gắng suy luận trên thiết bị hoặc trong đám mây. Tuy nhiên, đối với trải nghiệm kết hợp, bạn cần tạo một HybridModel và đặt cả mô hình primarysecondary.

    Tìm hiểu thêm về hành vi của "chế độ suy luận" (thứ tự của suy luận được thử) trong Tuỳ chọn cấu hình.

Ví dụ sau đây cho thấy cách thử suy luận trên thiết bị trước, nhưng cho phép quay lại mô hình được lưu trữ trên đám mây:

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Initialize a cloud model that supports your use case
let cloudModel = ai.geminiModel(name: "GEMINI_MODEL_NAME")
// Initialize an on-device model that supports your use case
let systemModel = FirebaseAI.SystemLanguageModel.default

// Create a Hybrid Model
// Provide your preferred model as `primary` and your fallback model as `secondary`
// In this example, attempt to use on-device model; otherwise, fall back to cloud.
let hybridModel = HybridModel(
  primary: systemModel,
  secondary: cloudModel
)

// Create a GenerativeModelSession with the HybridModel created earlier.
let session = firebaseAI.generativeModelSession(
  model: hybridModel,
)

Bước 4: Gửi yêu cầu cho mô hình

Phần này hướng dẫn bạn cách thực hiện những việc sau:

Tạo văn bản từ dữ liệu đầu vào chỉ có văn bản

Trước khi thử mẫu này, hãy đảm bảo bạn đã hoàn tất phần Bắt đầu của hướng dẫn này.

Để tạo văn bản từ một câu lệnh có chứa văn bản, hãy sử dụng respond(to:) như sau:

// Imports + initialization of Gemini API backend service + creation of model session

// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."

// To generate text output, call `respond(to:)` with the text input
let response = try await session.respond(to: prompt)
print(response.content)

Phát trực tiếp văn bản từ nội dung đầu vào chỉ có văn bản

Trước khi thử mẫu này, hãy đảm bảo bạn đã hoàn tất phần Bắt đầu của hướng dẫn này.

Bạn có thể đạt được các lượt tương tác nhanh hơn bằng cách không đợi toàn bộ kết quả từ quá trình tạo mô hình mà thay vào đó, hãy sử dụng tính năng truyền phát trực tiếp để xử lý kết quả một phần. Để truyền trực tuyến văn bản được tạo từ một câu lệnh có chứa văn bản, hãy sử dụng streamResponse(to:) như sau:

// Imports + initialization of Gemini API backend service + creation of model session

// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."

// To stream generated text output, call `streamResponse(to:)` with the text input
let stream = session.streamResponse(to: prompt)
for try await snapshot in stream {
  print(snapshot.content)
}

Bạn có thể làm gì khác?

Bạn có thể sử dụng nhiều lựa chọn và khả năng cấu hình bổ sung cho trải nghiệm kết hợp của mình:

Các tính năng chưa được hỗ trợ cho suy luận kết hợp hoặc suy luận trên thiết bị

Vì là bản phát hành thử nghiệm, nên không phải mọi chức năng của Firebase AI Logic hoặc các mô hình được lưu trữ trên đám mây đều được hỗ trợ.

  • Sau đây là những tính năng không được hỗ trợ cho các hoạt động triển khai kết hợp hoặc trên thiết bị: Các mô hình Imagen, Gemini Live API và mẫu câu lệnh. Ngoài ra, bạn không nên dựa vào số lượng mã thông báo vì số lượng này sẽ khác nhau giữa các mô hình được lưu trữ trên đám mây và trên thiết bị, nên không có phương án dự phòng trực quan.

  • Các tính năng sau chưa được hỗ trợ cho suy luận trên thiết bị. Nếu muốn sử dụng bất kỳ tính năng nào trong số này, bạn chỉ nên sử dụng một mô hình được lưu trữ trên đám mây để có trải nghiệm nhất quán hơn.

    • Tạo văn bản từ dữ liệu đầu vào đa phương thức, chẳng hạn như hình ảnh, âm thanh, video và tài liệu (tệp PDF)

    • Tạo nội dung nghe nhìn, chẳng hạn như hình ảnh, âm thanh hoặc video

    • Gửi yêu cầu vượt quá 4096 mã thông báo (hoặc khoảng 3000 từ tiếng Anh).

    • Cung cấp cho mô hình trên thiết bị các công cụ tích hợp sẵn để giúp mô hình này tạo câu trả lời (chẳng hạn như thực thi mã, ngữ cảnh URL và Nền tảng với Google Tìm kiếm)

  • Tính năng giám sát bằng AI trong bảng điều khiển Firebase không hiển thị bất kỳ dữ liệu nào cho suy luận trên thiết bị (bao gồm cả nhật ký trên thiết bị). Tuy nhiên, mọi suy luận sử dụng mô hình được lưu trữ trên đám mây đều có thể được giám sát giống như các suy luận khác thông qua Firebase AI Logic.

Các hạn chế khác

Ngoài những hạn chế nêu trên, tính năng suy luận trên thiết bị còn có những hạn chế sau:

  • Người dùng cuối của ứng dụng phải đang sử dụng thiết bị đã bật Apple Intelligence.

  • Ứng dụng của bạn chỉ có thể chạy suy luận trên thiết bị khi ứng dụng đang ở nền trước.


Gửi ý kiến phản hồi về trải nghiệm của bạn với Firebase AI Logic