Cập nhật linh động AI Vertex trong ứng dụng Firebase bằng Cấu hình từ xa Firebase

Khi gọi Gemini API từ ứng dụng bằng SDK Vertex AI in Firebase, yêu cầu của bạn sẽ chứa một số thông số kiểm soát phản hồi AI tạo sinh. Các thông tin này thường bao gồm tên mô hình, cấu hình tạo mô hình (mã thông báo tối đa, nhiệt độ, v.v.), chế độ cài đặt an toàn, hướng dẫn hệ thống và dữ liệu lời nhắc.

Trong hầu hết các trường hợp, bạn nên thay đổi các giá trị này theo yêu cầu hoặc khi cần trong một số trường hợp:

  • Cập nhật mô hình AI tạo sinh mà không cần phát hành ứng dụng mới. Bạn có thể nâng cấp lên các phiên bản mô hình mới hơn, ổn định hơn trước khi các phiên bản cũ ngừng hoạt động, chuyển sang các mô hình có chi phí thấp hơn hoặc hiệu suất cao hơn dựa trên nhu cầu và thuộc tính của người dùng, hoặc triển khai có điều kiện các mô hình mới nhất và tốt nhất cho các phân khúc người dùng cụ thể (chẳng hạn như người kiểm thử beta).
  • Đặt vị trí truy cập vào mô hình để mô hình đó gần với người dùng hơn.
  • Thử nghiệm A/B nhiều hướng dẫn và lời nhắc của hệ thống, sau đó từng bước triển khai các giá trị thử nghiệm hiệu quả nhất cho người dùng.
  • Sử dụng cờ tính năng để nhanh chóng hiển thị hoặc ẩn các tính năng AI tạo sinh trong ứng dụng.

Firebase Remote Config thực hiện tất cả những việc này và nhiều việc khác, cho phép bạn cập nhật các giá trị tham số khi cần và có điều kiện cho các phiên bản ứng dụng khớp với các đặc điểm mà bạn đặt trong bảng điều khiển Firebase, mà không cần phát hành phiên bản mới của ứng dụng.

Hướng dẫn giải pháp này cung cấp các trường hợp sử dụng cụ thể được đề xuất và mô tả cách thêm Remote Config vào ứng dụng AI tạo sinh.

Chuyển đến phần triển khai mã

Tại sao nên sử dụng Firebase Remote Config với ứng dụng của bạn?

Firebase Remote Config cho phép bạn tự động điều chỉnh hành vi của ứng dụng mà không cần cập nhật ứng dụng. Điều này đặc biệt hữu ích đối với các ứng dụng sử dụng AI tạo sinh, trong đó việc lặp lại nhanh chóng và tinh chỉnh là rất quan trọng.

Các trường hợp sử dụng thiết yếu của Remote Config với ứng dụng AI tạo sinh

Bạn nên sử dụng Remote Config với Vertex AI in Firebase cho các trường hợp sử dụng thiết yếu sau:

  • Nâng cấp lên phiên bản mô hình mới nhất mà không cần cập nhật ứng dụng: Sử dụng các tham số Remote Config để thay đổi tên mô hình nếu cần, nhờ đó bạn có thể nâng cấp lên phiên bản mới nhất của mô hình Gemini mà bạn muốn ngay khi có.
  • Cập nhật hướng dẫn hệ thống và chế độ cài đặt an toàn mà không cần cập nhật ứng dụng: Lưu trữ hướng dẫn hệ thống và chế độ cài đặt an toàn bên trong các tham số Remote Config để đảm bảo rằng bạn có thể thay đổi các chế độ cài đặt đó theo yêu cầu nếu phát hiện vấn đề sau khi triển khai.
  • Giảm rủi ro và thực thi tính an toàn của AI: Sử dụng tính năng Phát hành Remote Config để phát hành các thay đổi về AI tạo sinh một cách an toàn và dần dần cho người dùng iOS và Android.

Các trường hợp sử dụng nâng cao và được đề xuất cho Remote Config với các ứng dụng AI tạo sinh

Sau khi đo lường ứng dụng bằng Remote ConfigGoogle Analytics, bạn có thể khám phá các trường hợp sử dụng nâng cao:

  • Đặt vị trí dựa trên vị trí của ứng dụng: Sử dụng các điều kiện Remote Config để đặt vị trí của mô hình dựa trên vị trí được phát hiện của ứng dụng.
  • Thử nghiệm với nhiều mô hình: Thử nghiệm và chuyển đổi nhanh chóng giữa nhiều mô hình AI tạo sinh, hoặc thậm chí triển khai nhiều mô hình cho nhiều phân khúc người dùng để tìm ra mô hình phù hợp nhất với trường hợp sử dụng cụ thể của bạn.
  • Tối ưu hoá hiệu suất mô hình: Điều chỉnh các tham số mô hình, chẳng hạn như lời nhắc của hệ thống, mã thông báo đầu ra tối đa, nhiệt độ và các chế độ cài đặt khác.
  • Sử dụng nhiều hướng dẫn, lời nhắc và cấu hình mô hình hệ thống dựa trên các thuộc tính của ứng dụng: Khi sử dụng Remote Config với Google Analytics, bạn có thể tạo các điều kiện dựa trên các thuộc tính của ứng dụng hoặc đối tượng tuỳ chỉnh và đặt nhiều thông số dựa trên các thuộc tính này.

    Ví dụ: nếu đang sử dụng AI tạo sinh để hỗ trợ kỹ thuật trong ứng dụng, bạn nên đặt hướng dẫn hệ thống dành riêng cho nền tảng ứng dụng để đảm bảo cung cấp hướng dẫn chính xác cho người dùng nền tảng Android, iOS và web.

  • Cá nhân hoá trải nghiệm cho từng người dùng: Sử dụng tính năng cá nhân hoá Remote Config để tự động xác định chế độ cài đặt AI tạo sinh tối ưu cho từng người dùng.

  • Kiểm soát chi phí: Điều chỉnh từ xa mô hình AI tạo sinh nào được gọi, tần suất sử dụng các mô hình đó và linh động định cấu hình giá trị mã thông báo đầu ra tối đa dựa trên đối tượng người dùng để giảm chi phí không cần thiết.

  • Tối ưu hoá trải nghiệm và kết quả của ứng dụng: Sử dụng A/B Testing với Remote Config cho ứng dụng iOS, Android và Flutter để kiểm thử các thay đổi đối với các tham số AI tạo sinh trên nhiều phân khúc người dùng nhằm xem những thay đổi đó ảnh hưởng như thế nào đến các chỉ số chính như tỷ lệ giữ chân và doanh thu.

Bằng cách đo lường ứng dụng AI tạo sinh bằng Firebase Remote Config, bạn có thể tạo các ứng dụng dựa trên AI linh hoạt, an toàn và tiết kiệm chi phí, đồng thời tạo trải nghiệm thú vị cho người dùng.

Thêm Firebase Remote Config vào ứng dụng

Trong hướng dẫn giải pháp này, bạn sẽ sử dụng Firebase Remote Config để cập nhật động các tham số trong ứng dụng Android sử dụng SDK Vertex AI in Firebase. Bạn sẽ tìm hiểu cách:

  • Tìm nạp và kích hoạt các tham số như tên mô hình và hướng dẫn hệ thống từ Firebase Remote Config.
  • Cập nhật lệnh gọi Gemini API để sử dụng các thông số được truy xuất động, cho phép bạn chuyển đổi giữa các mô hình hoặc sửa đổi hướng dẫn hệ thống mà không cần cập nhật ứng dụng.
  • Điều khiển các thông số từ xa, điều chỉnh hành vi và chức năng của mô hình nếu cần.

Điều kiện tiên quyết

Hướng dẫn này giả định rằng bạn đã quen thuộc với việc sử dụng JavaScript để phát triển ứng dụng web. Hướng dẫn này không phụ thuộc vào khung. Trước khi bắt đầu, hãy đảm bảo rằng bạn đã làm theo các bước sau:

  • Xem hết Hướng dẫn bắt đầu sử dụng SDK Vertex AI in Firebase. Hãy đảm bảo rằng bạn đã làm tất cả những việc sau:

    1. Thiết lập một dự án Firebase mới hoặc hiện có, bao gồm cả việc sử dụng gói giá linh hoạt và bật các API bắt buộc.
    2. Kết nối ứng dụng của bạn với Firebase, bao gồm cả việc đăng ký ứng dụng và thêm cấu hình Firebase vào ứng dụng.
    3. Thêm SDK và khởi chạy dịch vụ Vertex AI cũng như mô hình tạo sinh trong ứng dụng.
  • Bật Google Analytics trong dự án và thêm SDK của dịch vụ này vào ứng dụng (bắt buộc đối với tính năng nhắm mục tiêu có điều kiện, chẳng hạn như đặt vị trí của dịch vụ và mô hình dựa trên vị trí của thiết bị khách).

Bước 1: Đặt giá trị thông số trong bảng điều khiển Firebase

Tạo mẫu Remote Config của ứng dụng và định cấu hình các tham số và giá trị để tìm nạp và sử dụng trong ứng dụng.

  1. Mở bảng điều khiển Firebase, rồi trong trình đơn điều hướng, hãy mở rộng Run (Chạy) và chọn Remote Config.
  2. Đảm bảo rằng bạn đã chọn Client (Ứng dụng) trong bộ chọn Client/Server (Ứng dụng/Máy chủ) ở đầu trang Remote Config.
    • Nếu đây là lần đầu tiên bạn sử dụng mẫu ứng dụng Remote Config, hãy nhấp vào Tạo cấu hình. Ngăn Tạo tham số đầu tiên sẽ xuất hiện.
    • Nếu đây không phải là lần đầu tiên bạn sử dụng mẫu Remote Config, hãy nhấp vào Thêm thông số.
  3. Xác định các tham số Remote Config sau:

    Tên tham số Nội dung mô tả Loại Giá trị mặc định
    model_name Tên mô hình. Để biết danh sách tên mô hình mới nhất để sử dụng trong mã, hãy xem phần Tên mô hình hiện có. Chuỗi gemini-1.5-flash
    system_instructions Hướng dẫn hệ thống 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 của người dùng cuối để ảnh hưởng đến hành vi của mô hình, dựa trên các nhu cầu và trường hợp sử dụng cụ thể. Chuỗi You are a helpful assistant who knows everything there is to know about Firebase!
    prompt Lời nhắc mặc định để sử dụng với tính năng AI tạo sinh. Chuỗi I am a developer who wants to know more about Firebase!
    vertex_location Có thể kiểm soát vị trí để chạy dịch vụ Vertex AI và truy cập vào một mô hình. Bạn có thể đặt điều kiện để định cấu hình tuỳ chọn này dựa trên vị trí của ứng dụng do Google Analytics phát hiện. Chuỗi us-central1
  4. Khi bạn thêm xong thông số, hãy nhấp vào Xuất bản thay đổi. Nếu đây không phải là mẫu Remote Config mới, hãy xem lại các thay đổi rồi nhấp lại vào Xuất bản thay đổi.

Bước 2: Thêm và khởi chạy SDK Remote Config

Thêm và khởi chạy SDK Remote Config:

  1. Mở mã của bạn trong trình soạn thảo văn bản và nhập Remote Config:

    import { getRemoteConfig } from 'firebase/remote-config';
    
  2. Bên trong hàm chính và sau khi ứng dụng Firebase được khởi chạy cho SDK Vertex AI in Firebase, hãy khởi chạy Remote Config:

      // Initialize Remote Config and get a reference to the service
      const remoteConfig = getRemoteConfig(app);
    
  3. Đặt khoảng thời gian tìm nạp tối thiểu. Trong ví dụ này, khoảng thời gian tìm nạp mặc định là 3600 giây, nhưng bạn nên đặt khoảng thời gian tìm nạp tối thiểu tương đối thấp trong mã của mình trong quá trình phát triển.

    remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
    

Bước 3: Đặt giá trị thông số trong ứng dụng

Bạn nên đặt giá trị tham số mặc định trong ứng dụng trong đối tượng Remote Config để ứng dụng của bạn hoạt động trước khi kết nối với phần phụ trợ Remote Config, nếu quyền truy cập mạng của ứng dụng bị gián đoạn và/hoặc nếu không có giá trị nào được định cấu hình trên phần phụ trợ.

Trong ví dụ này, bạn đặt giá trị mặc định theo cách thủ công cho tên mô hình, hướng dẫn hệ thống, lời nhắc người dùng và vị trí Vertex AI:

// Set default Remote Config parameter values
remoteConfig.defaultConfig = {
  model_name: 'gemini-1.5-flash',
  system_instructions:
    'You are a helpful assistant who knows everything there is to know about Firebase!',
  prompt: 'I am a developer who wants to know more about Firebase!',
  vertex_location: 'us-central1',
};

Bước 4: Tìm nạp và kích hoạt các giá trị

  1. Thêm getValuefetchAndActivate vào các lệnh nhập:

    import { getValue, fetchAndActivate } from 'firebase/remote-config';
    
  2. Sau khi bạn thêm mã để định cấu hình các giá trị Remote Config mặc định, hãy tìm nạp và kích hoạt cấu hình, sau đó gán giá trị cho các hằng số modelName, systemInstructions, promptvertexLocation.

    // Fetch and activate Remote Config.
    try {
      await fetchAndActivate(remoteConfig);
    } catch(err) {
      console.error('Remote Config fetch failed', err);
    }
    
    console.log('Remote Config fetched.');
    
    // Assign Remote Config values.
    const modelName = getValue(remoteConfig, 'model_name').asString();
    const systemInstructions = getValue(remoteConfig, 'system_instructions').asString();
    const prompt = getValue(remoteConfig, 'prompt').asString();
    const vertexLocation = getValue(remoteConfig, 'vertex_location').asString();
    

Bước 5: Cập nhật lệnh gọi Vertex AI để sử dụng các giá trị Remote Config

Giờ đây, khi Remote Config đã được định cấu hình đầy đủ, hãy cập nhật mã của bạn để thay thế các giá trị được mã hoá cứng bằng các giá trị lấy từ Remote Config. Ví dụ: nếu đang sử dụng ví dụ được dùng trong phần Bắt đầu sử dụng API Gemini bằng Vertex AI trong SDK Firebase, bạn sẽ cập nhật ví dụ đó như sau:

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Vertex AI service
// Optionally specify a location in which to run the service and access the model
const vertexAI = getVertexAI(firebaseApp, { location: vertexLocation });

// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
const model = getGenerativeModel(vertexAI, {
  model: modelName,
  systemInstruction: systemInstruction
});

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const userPrompt = prompt;

  // To generate text output, call generateContent with the text input
  const result = await model.generateContent(userPrompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

Bước 6: Chạy ứng dụng

Chạy ứng dụng và xác minh ứng dụng có hoạt động hay không. Thực hiện thay đổi đối với cấu hình của bạn từ trang Remote Config trong bảng điều khiển Firebase, phát hành các thay đổi và xác minh kết quả.

Các bước tiếp theo