Sử dụng Chức năng Firebase JavaScript để chạy Mô hình trong Google Cloud Platform
Giả sử bạn có một dự án Firebase được liên kết với ứng dụng của mình và bạn đã tạo một mô hình máy học trong cùng một dự án trong Google Cloud Platform (GCP). Bây giờ bạn có thể tự hỏi làm thế nào để thực hiện suy luận bằng cách sử dụng mô hình trong GCP, thông qua xác thực Firebase trong ứng dụng. Bạn có thể sử dụng hàm JavaScript Firebase để hoàn thành.
(Điều này đã được thử nghiệm với Ubuntu 18.04 và Node.js 14)
0. Điều kiện tiên quyết
- Dự án Firebase được liên kết với ứng dụng của bạn (ví dụ: id dự án = {PROJECT_ID})
- Một mô hình máy học trong cùng một dự án {PROJECT_ID} trên GCP
- Node.js 14 và npm (Bạn có thể cài đặt chúng bằng nvm )
Mở một thiết bị đầu cuối và thực hiện như sau.
npm install -g firebase-tools
Giả sử thư mục dự án cục bộ là {LOCAL_DIR} tại Desktop. Tạo nó và điều hướng đến nó.
mkdir -p ~/Desktop/{LOCAL_DIR}
cd ~/Desktop/{LOCAL_DIR}
Chạy lần lượt các lệnh sau một cách cẩn thận, đồng thời tham khảo các ghi chú bên dưới chúng như một hướng dẫn về cách điều hướng qua các lời nhắc do chúng tạo ra.
firebase login
firebase init firestore
firebase init functions
- Bạn sẽ được yêu cầu đăng nhập thông qua trình duyệt và xác thực.
- Chọn đúng dự án Firebase ( {PROJECT_ID} ) khi được nhắc.
- Chọn JavaScript (js) làm ngôn ngữ.
- " elsint " là không cần thiết cho việc này.
- Chọn có để cài đặt phụ thuộc.
Chúng tôi sẽ cần gói googleapis .
cd ~/Desktop/{LOCAL_DIR}/functions
npm i googleapis
Mở “ {LOCAL_DIR}/functions/package.json” bằng IDE ưa thích của bạn (ví dụ: Mã VS) và chỉnh sửa phần “ engine ” như sau.
"engines": {
"node": "14"
},
Mở “ {LOCAL_DIR}/functions/index.js” bằng IDE ưa thích của bạn.
Hãy định nghĩa các thuật ngữ sau. Bạn nên thay thế chúng bằng các chi tiết của bạn.
- Tên mẫu = {MODEL_NAME}
- Vùng mô hình = {MODEL_REGION} — (Đảm bảo vùng mô hình giống với vùng chức năng; đặc biệt để có hiệu suất tốt hơn. Mặc định = us-central1 )
- Tên hàm Firebase = {ML_FUNCTION}
- Đầu vào cho hàm = đầu vào cho mô hình = một từ điển như {“key_str”: “val_str”, “key_int”: 2, “key_arr”: [1.25, 0.76, 3.84]}
const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
const googleapis_pack = require("googleapis");
const ml = googleapis_pack.google.ml({version:"v1", rootUrl:"https://{MODEL_REGION}-ml.googleapis.com"});
exports.{ML_FUNCTION} = functions.https.onCall(async(data, context)=>
{
const key_str = data.key_str;
const key_int = data.key_int;
const key_arr = data.key_arr;
const instance = {"key_str":key_str, "key_int":key_int, "key_arr":key_arr};
const model = "{MODEL_NAME}";
const { credential } = await googleapis_pack.google.auth.getApplicationDefault();
const modelName = "projects/{PROJECT_ID}/models/" + model;
const results = await ml.projects.predict({
auth: credential,
name: modelName,
requestBody: instance
});
return results.data;
}
);
Đi đến thiết bị đầu cuối và thực hiện như sau.
cd ~/Desktop/{LOCAL_DIR}
firebase deploy --only functions
tái bút —
Để tìm hiểu cách gọi hàm Firebase từ ứng dụng của bạn (iOS, Android, v.v.), bạn có thể tham khảo tài liệu chính thức này của Google.
Người giới thiệu
- https://firebase.google.com/docs/functions/get-started
- https://github.com/nvm-sh/nvm/blob/master/README.md
- https://firebase.google.com/docs/functions/callable

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































