1. Tổng quan
Quản lý dữ liệu chính là gì?
Giải pháp Quản lý dữ liệu chính (MDM) là hoạt động tạo ra một nguồn đáng tin cậy và duy nhất cho những dữ liệu quan trọng nhất của tổ chức bạn. Hãy tưởng tượng một thư viện được sắp xếp tỉ mỉ, trong đó mọi cuốn sách (điểm dữ liệu) đều được gắn nhãn chính xác, mới nhất và dễ tìm.
Dữ liệu chính đại diện cho các thực thể kinh doanh cốt lõi, cơ bản, thiết yếu đối với hoạt động của công ty. Dưới đây là các phần tử chính của dữ liệu chính:
- Pháp nhân doanh nghiệp: những thực thể như khách hàng, sản phẩm, nhà cung cấp, địa điểm và nhân viên, là những danh từ mà doanh nghiệp của bạn xoay quanh
- Giá trị nhận dạng: giá trị nhận dạng duy nhất đảm bảo mỗi thực thể đều khác biệt và có thể truy vết được trên các hệ thống
- Thuộc tính: đặc điểm mô tả từng thực thể, ví dụ như địa chỉ của khách hàng, giá sản phẩm, v.v.
Để giúp bạn hiểu rõ hơn dữ liệu chính, hãy so sánh dữ liệu đó với dữ liệu giao dịch. Dữ liệu giao dịch ghi lại các sự kiện riêng lẻ (mua hàng, giao hàng, v.v.). Trong khi đó, dữ liệu chính cung cấp ngữ cảnh cho những sự kiện đó bằng cách xác định các thực thể có liên quan. Ví dụ: giao dịch bán hàng liên kết với dữ liệu chính về khách hàng, sản phẩm và nhân viên bán hàng.
Mặc dù việc triển khai giải pháp MDM mạnh mẽ là điều cần thiết cho việc đưa ra các quyết định mang tính chiến lược, nhưng việc này có thể phức tạp và tốn nhiều tài nguyên. Đây là nơi sức mạnh biến đổi của AI tạo sinh, đặc biệt là các mô hình như Gemini 1.0 Pro, Gemini 1.0 Pro Vision, Gemini 1.5 Pro, phát huy tác dụng.
2. Mục tiêu
Trong lớp học lập trình này, bạn sẽ minh hoạ cách Gemini 1.0 Pro đơn giản hoá các ứng dụng quản lý dữ liệu chính như làm phong phú và loại bỏ trùng lặp đối với dữ liệu citibike_stations có trong tập dữ liệu công khai của BigQuery.
Ứng dụng bạn sẽ sử dụng
- Tập dữ liệu công khai của BigQuery
bigquery-public-data.new_york_citibike
. - Chức năng gọi hàm Gemini (Một hàm đám mây Java nhận thông tin địa chỉ bằng cách sử dụng API mã hoá địa lý ngược cho các toạ độ có trong dữ liệu citibike_stations).
- Vertex AI Embedded API và Vector Search trong BigQuery để xác định nội dung trùng lặp.
Sản phẩm bạn sẽ tạo ra
- Bạn sẽ tạo một tập dữ liệu BigQuery cho trường hợp sử dụng này. Trong tập dữ liệu này, bạn sẽ tạo một bảng đích chứa dữ liệu từ bảng tập dữ liệu công khai
bigquery-public-data.new_york_citibike.citibike_stations
. - Bạn sẽ triển khai Chức năng đám mây, trong đó có chức năng Gọi điện bằng chức năng Gemini để tiêu chuẩn hoá địa chỉ.
- Bạn sẽ lưu trữ dữ liệu địa chỉ được bổ sung chi tiết trong bảng đích (từ hai nguồn được cung cấp cho bản minh hoạ này).
- Bạn sẽ gọi Vertex AI Nhúng API từ BigQuery trên dữ liệu địa chỉ.
- Bạn sẽ dùng tính năng BigQuery Vector Search để xác định các bản ghi trùng lặp.
Sơ đồ dưới đây thể hiện luồng dữ liệu và các bước trong quá trình triển khai.
3. Yêu cầu
4. Trước khi bắt đầu
- Trong Google Cloud Console, trên trang bộ chọn dự án, hãy chọn hoặc tạo một dự án trên Google Cloud.
- Đảm bảo rằng bạn đã bật tính năng thanh toán cho dự án trên Google Cloud. Tìm hiểu cách kiểm tra xem tính năng thanh toán có được bật trên một dự án hay không .
- Bạn sẽ sử dụng Cloud Shell, một môi trường dòng lệnh chạy trong Google Cloud được tải trước bằng bq. Nhấp vào Kích hoạt Cloud Shell ở đầu bảng điều khiển Google Cloud.
- Sau khi kết nối với Cloud Shell, bạn cần kiểm tra để chắc chắn rằng mình đã được xác thực và dự án được đặt thành mã dự án bằng lệnh sau đây:
gcloud auth list
- Chạy lệnh sau trong Cloud Shell để xác nhận rằng lệnh gcloud biết về dự án của bạn.
gcloud config list project
- Nếu dự án của bạn chưa được thiết lập, hãy sử dụng lệnh sau để thiết lập dự án:
gcloud config set project <YOUR_PROJECT_ID>
- Chuyển đến Gemini cho Google Cloud Marketplace để bật API này. Bạn cũng có thể sử dụng lệnh sau trong cửa sổ dòng lệnh Cloud Shell:
gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID
- Đảm bảo rằng bạn đã bật các API BigQuery, BigQuery Connection, Cloud Function, Cloud Run, Vertex AI và Cloud Build. Lựa chọn thay thế cho lệnh gcloud là thông qua bảng điều khiển bằng cách sử dụng đường liên kết này.
Hãy tham khảo tài liệu để biết các lệnh gcloud và cách sử dụng.
5. Tạo tập dữ liệu BigQuery và kết nối bên ngoài
Hãy bắt đầu bằng cách tạo một tập dữ liệu và kết nối tài nguyên trên đám mây.
Tập dữ liệu trong BigQuery là một vùng chứa tất cả các bảng và đối tượng cho ứng dụng của bạn.
Để tạo một tập dữ liệu, hãy làm như sau:
- Chuyển đến trang BigQuery trong bảng điều khiển Google Cloud.
- Trong bảng điều khiển Explorer, hãy chọn dự án mà bạn muốn tạo tập dữ liệu.
- Mở rộng tuỳ chọn Hành động (biểu tượng dấu ba chấm dọc) rồi nhấp vào Tạo tập dữ liệu.
- Nhập
mdm_gemini
vào trường Mã tập dữ liệu. - Đặt loại vị trí của bạn là
Multi-region
và chấp nhận giá trị mặc định làUS(multiple regions in United States.
- Nhấp vào Tạo tập dữ liệu.
- Kiểm tra để đảm bảo tập dữ liệu được tạo và liệt kê trong mã dự án trong ngăn Explorer.
Bạn cần có kết nối BigQuery để tương tác với Chức năng đám mây của mình. Để tạo hàm từ xa, bạn phải tạo kết nối BigQuery. Trong lớp học lập trình này, chúng ta sẽ sử dụng kết nối BigLake để truy cập vào mô hình này từ BigQuery thông qua Hàm đám mây. Các mối kết nối với BigLake giúp kết nối nguồn dữ liệu bên ngoài mà vẫn duy trì tính bảo mật và kiểm soát quyền truy cập chi tiết vào BigQuery, trong trường hợp của chúng ta là Vertex AI Gemini Pro API.
Để tạo kết nối với BigLake, hãy làm như sau:
- Nhấp vào Thêm trên ngăn Trình khám phá của trang BigQuery.
- Nhấp vào Kết nối với nguồn dữ liệu bên ngoài.
- Trong danh sách Loại kết nối, hãy chọn Mô hình điều khiển từ xa Vertex AI, chức năng từ xa và BigLake (Tài nguyên đám mây).
- Trong trường Mã kết nối, hãy nhập tên kết nối là
gemini-bq-conn
. - Đặt loại vị trí của bạn là
Multi-region
và chấp nhận giá trị mặc định làUS(multiple regions in United States.
- Nhấp vào Tạo mối kết nối.
- Nhấp vào Go to connection (Chuyển đến kết nối), rồi sao chép mã tài khoản dịch vụ trong ngăn Connection info (Thông tin kết nối).
- Truy cập vào IAM và Quản trị, rồi nhấp vào Cấp quyền truy cập.
- Dán mã tài khoản dịch vụ vào trường Nguyên tắc mới.
- Chọn vai trò
Vertex AI user
trong danh sách vai trò rồi nhấp vào Lưu.
Bạn hiện đã tạo thành công tập dữ liệu và kết nối BigQuery.
6. Triển khai việc gọi hàm Gemini (Hàm đám mây Java)
Làm theo các bước sau để triển khai Hàm đám mây Java, trong đó có chức năng Gọi hàm Gemini.
- Sao chép kho lưu trữ github từ thiết bị đầu cuối Cloud Shell của bạn bằng lệnh sau:
git clone https://github.com/AbiramiSukumaran/GeminiFunctionCalling
- Thay thế các phần giữ chỗ
YOUR_API_KEY
vàYOUR_PROJECT_ID
bằng các giá trị của bạn.
Nếu bạn đọc blog tại đây, bạn sẽ biết rằng việc triển khai lệnh gọi hàm sử dụng API mã hoá địa lý đảo ngược. Bạn có thể tạo API_KEY của riêng mình theo hướng dẫn tại đây.
- Trong thiết bị đầu cuối Cloud Shell, hãy chuyển đến thư mục dự án mới được sao chép GeminiFunctionCalling rồi chạy câu lệnh sau để xây dựng và triển khai Hàm đám mây:
gcloud functions deploy gemini-fn-calling --gen2 --region=us-central1 --runtime=java11 --source=. --entry-point=cloudcode.helloworld.HelloWorld --trigger-http
Nói "y" khi bạn được nhắc "Cho phép lời gọi chưa được xác thực" câu hỏi. Tốt nhất là bạn nên thiết lập phương thức xác thực cho các ứng dụng doanh nghiệp của mình theo đề xuất. Tuy nhiên, vì đây là ứng dụng minh hoạ nên chúng tôi sẽ tiếp tục sử dụng ứng dụng mà không được xác thực.
Dữ liệu đầu ra là URL REST ở định dạng sau:
https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/gemini-fn-calling
- Kiểm tra hàm đám mây này bằng cách chạy lệnh sau trên thiết bị đầu cuối:
gcloud functions call gemini-fn-calling --region=us-central1 --gen2 --data '{"calls":[["40.714224,-73.961452"]]}'
Phản hồi cho câu lệnh mẫu ngẫu nhiên:
'{"replies":["{ \"DOOR_NUMBER\": \"277\", \"STREET_ADDRESS\": \"Bedford Ave\", \"AREA\":
null, \"CITY\": \"Brooklyn\", \"TOWN\": null, \"COUNTY\": \"Kings County\", \"STATE\":
\"NY\", \"COUNTRY\": \"USA\", \"ZIPCODE\": \"11211\", \"LANDMARK\": null}}```"]}'
Các tham số yêu cầu và phản hồi của Hàm đám mây này được triển khai theo cách tương thích với lệnh gọi hàm từ xa của BigQuery. Bạn có thể sử dụng dữ liệu này trực tiếp từ dữ liệu BigQuery tại chỗ. Điều này có nghĩa là nếu dữ liệu đầu vào (dữ liệu vĩ độ và kinh độ) nằm trong BigQuery, thì bạn có thể gọi hàm từ xa trên dữ liệu và nhận phản hồi của hàm có thể được lưu trữ hoặc xử lý trực tiếp trong BigQuery.
- Chạy DDL sau đây từ BigQuery để tạo một hàm từ xa gọi Hàm đám mây đã triển khai này:
CREATE OR REPLACE FUNCTION
`mdm_gemini.MDM_GEMINI` (latlng STRING) RETURNS STRING
REMOTE WITH CONNECTION `us.gemini-bq-conn`
OPTIONS (
endpoint = 'https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/gemini-fn-calling', max_batching_rows = 1
);
Kiểm thử truy vấn để sử dụng hàm từ xa mới được tạo:
SELECT mdm_gemini.MDM_GEMINI
(latlong) từ mdm_gemini.CITIBIKE_stationS giới hạn 1;
Nếu truy vấn kiểm thử sử dụng chức năng từ xa mới được tạo trong BigQuery không thành công do vấn đề về quyền của Cloud Functions, hãy chuyển đến mục Cloud Functions trong Google Cloud Console rồi tìm hàm Cloud được triển khai có tên là "gemini-fn-calling". Chuyển đến thẻ quyền, thêm người dùng chính làm "allUsers" và cấp vai trò "Người sử dụng chức năng đám mây" để đảm bảo tất cả người dùng đều có thể truy cập Cloud Functions (chỉ vì đây là ứng dụng minh hoạ).
7. Thử một giải pháp khác
Nếu bạn không có API_KEY cần thiết cho phương pháp gọi hàm Mã hoá địa lý đảo ngược hoặc chưa triển khai Hàm đám mây, thì vì lý do nào đó, bạn có thể thay bằng cách sau:
- Tải tệp CITIBIKE_STATIONS.csv từ kho lưu trữ xuống thư mục dự án Cloud Shell rồi chuyển đến thư mục đó.
- Xuất dữ liệu từ tệp csv vào tập dữ liệu BigQuery mới
mdm_gemini
của bạn bằng cách sử dụng lệnh sau trong Cloud Shell Terminal:
bq load --source_format=CSV --skip_leading_rows=1 mdm_gemini.CITIBIKE_STATIONS ./CITIBIKE_STATIONS.csv \ name:string,latlng:string,capacity:numeric,num_bikes_available:numeric,num_docks_available:numeric,last_reported:timestamp,full_address_string:string
8. Tạo bảng và làm phong phú dữ liệu địa chỉ
Bước 1: Tạo bảng
Hiển thị: Bỏ qua bước này nếu bạn đã sử dụng giải pháp này vì bạn chắc hẳn đã tạo bảng.
Nếu bạn chưa sử dụng giải pháp này, hãy chạy DDL sau trong BigQuery SQL Editor:
CREATE TABLE mdm_gemini.CITIBIKE_STATIONS as (
select name, latitude || ',' || longitude as latlong, capacity, num_bikes_available, num_docks_available,last_reported,
'' as full_address_string
from bigquery-public-data.new_york_citibike.citibike_stations) ;
Bây giờ, hãy làm phong phú dữ liệu địa chỉ bằng cách gọi hàm từ xa trên toạ độ vĩ độ và kinh độ có trong bảng. Đặt các điều kiện sau cho dữ liệu:
- Báo cáo vào năm 2024
- Số lượng xe đạp hiện có > 0
- Dung lượng > 100
Chạy truy vấn sau:
update `mdm_gemini.CITIBIKE_STATIONS`
set full_address_string = `mdm_gemini.MDM_GEMINI`(latlong)
where EXTRACT(YEAR FROM last_reported) = 2024 and num_bikes_available > 0 and capacity > 100;
Bước 2: Tạo nguồn thứ hai cho dữ liệu vị trí của trạm xe đạp
Không bỏ qua bước này ngay cả khi bạn đã sử dụng phương pháp thay thế để tạo bảng.
Ở bước này, bạn sẽ tạo một nguồn thứ hai cho dữ liệu vị trí của trạm xe đạp để phục vụ cho lớp học lập trình này. Điều này là để chứng minh rằng MDM đang tổng hợp dữ liệu từ nhiều nguồn và xác định dữ liệu thực tế quan trọng.
Chạy các DDL sau trong BigQuery SQL Editor để tạo nguồn dữ liệu vị trí thứ hai chứa hai bản ghi. Đặt tên cho bảng này là mdm_gemini.CITIBIKE_STATIONS_SOURCE2
và chèn hai bản ghi vào đó.
CREATE TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE2 (name STRING(55), address STRING(1000), embeddings_src ARRAY<FLOAT64>);
insert into mdm_gemini.CITIBIKE_STATIONS_SOURCE2 VALUES ('Location broadway and 29','{ "DOOR_NUMBER": "1593", "STREET_ADDRESS": "Broadway", "AREA": null, "CITY": "New York", "TOWN": null, "COUNTY": "New York County", "STATE": "NY", "COUNTRY": "USA", "ZIPCODE": "10019", "LANDMARK": null}', null);
insert into mdm_gemini.CITIBIKE_STATIONS_SOURCE2 VALUES ('Allen St & Hester','{ "DOOR_NUMBER": "36", "STREET_ADDRESS": "Allen St", "AREA": null, "CITY": "New York", "TOWN": null, "COUNTY": "New York County", "STATE": "NY", "COUNTRY": "USA", "ZIPCODE": "10002", "LANDMARK": null}', null);
9. Tạo các mục nhúng cho dữ liệu địa chỉ
Các mục nhúng là các vectơ số chiều cao đại diện cho một thực thể cụ thể, như một đoạn văn bản hoặc tệp âm thanh. Các mô hình học máy (ML) sử dụng các mục nhúng để mã hoá ngữ nghĩa về những thực thể đó, giúp bạn dễ dàng giải thích và so sánh chúng hơn. Ví dụ: một thao tác phổ biến trong việc phân cụm, phân loại và các mô hình đề xuất là đo khoảng cách giữa các vectơ trong không gian nhúng để tìm các mục giống nhau nhất về mặt ngữ nghĩa. Với Vertex AI nhúng văn bản, bạn có thể tạo văn bản nhúng bằng AI tạo sinh trên Vertex AI. Nhúng văn bản là các biểu thị bằng số của văn bản thể hiện mối quan hệ giữa các từ và cụm từ. Đọc thêm về tính năng Nhúng văn bản của Vertex AI tại đây.
- Chạy DDL bên dưới để tạo một mô hình từ xa cho API nhúng văn bản Vertex AI:
CREATE OR REPLACE MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`
REMOTE WITH CONNECTION `us.gemini-bq-conn`
OPTIONS (ENDPOINT = 'textembedding-gecko@latest');
- Hiện tại, mô hình nhúng từ xa đã sẵn sàng, hãy tạo các mục nhúng cho nguồn đầu tiên và lưu trữ nguồn đó trong bảng bằng truy vấn sau:
CREATE TABLE `mdm_gemini.CITIBIKE_STATIONS_SOURCE1` AS (
SELECT *
FROM ML.GENERATE_EMBEDDING(
MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`,
( select name, full_address_string as content from `mdm_gemini.CITIBIKE_STATIONS`
where full_address_string is not null )
)
);
Thay vì tạo một bảng mới, bạn cũng có thể lưu trữ trường kết quả nhúng trong cùng một bảng mdm_gemini.CITIBIKE_STATIONS mà bạn đã tạo trước đó.
- Để tạo các mục nhúng cho dữ liệu địa chỉ trong bảng CITIBIKE_ROOMS_SOURCE2,hãy chạy truy vấn sau:
update `mdm_gemini.CITIBIKE_STATIONS_SOURCE2` a set embeddings_src =
(
SELECT ml_generate_embedding_result
FROM ML.GENERATE_EMBEDDING(
MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`,
( select name, address as content from `mdm_gemini.CITIBIKE_STATIONS_SOURCE2` ))
where name = a.name) where name is not null;
Thao tác này sẽ tạo các mục nhúng cho nguồn thứ hai. Lưu ý rằng chúng ta đã tạo trường các mục nhúng trong cùng một bảng CITIBIKE_STATIONS_SOURCE2.
- Để trực quan hoá các mục nhúng được tạo cho bảng dữ liệu nguồn 1 và 2, hãy chạy truy vấn sau:
select name,address,embeddings_src from `mdm_gemini.CITIBIKE_STATIONS_SOURCE2`;
select name,content,ml_generate_embedding_result from `mdm_gemini.CITIBIKE_STATIONS_SOURCE1`;
Bây giờ, hãy tiếp tục và thực hiện tìm kiếm vectơ để xác định các trùng lặp.
10. Chạy tìm kiếm vectơ để gắn cờ các địa chỉ trùng lặp
Trong bước này, bạn sẽ tìm kiếm các mục nhúng địa chỉ ml_generate_embedding_result của bảng mdm_gemini.CITIBIKE_ ghépS_SOURCE1 cho hai mục nhúng hàng đầu khớp với từng hàng dữ liệu trong cột embeddings_src của bảng mdm_gemini.CITIBIKE_stationS_SOURCE2.
Để thực hiện việc này, hãy chạy truy vấn sau:
select query.name name1,base.name name2,
/* (select address from mdm_gemini.CITIBIKE_STATIONS_SOURCE2 where name = query.name) content1, base.content content2, */
distance
from VECTOR_SEARCH(
TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE1,
'ml_generate_embedding_result',
(SELECT * FROM mdm_gemini.CITIBIKE_STATIONS_SOURCE2),
'embeddings_src',
top_k => 2
) where query.name <> base.name
order by distance desc;
Bảng mà chúng tôi đang truy vấn: mdm_gemini.CITIBIKE_STATIONS_SOURCE1
trên trường ml_generate_embedding_result
Bảng mà chúng tôi sử dụng làm cơ sở: mdm_gemini.CITIBIKE_STATIONS_SOURCE2
trên trường embeddings_src
top_k: chỉ định số lượng lân cận gần nhất sẽ trả về. Giá trị mặc định là 10. Giá trị âm được coi là vô hạn, có nghĩa là tất cả các giá trị được tính là lân cận và được trả về.
distance_type: chỉ định loại chỉ số cần sử dụng để tính khoảng cách giữa hai vectơ. Các loại khoảng cách được hỗ trợ là Euclide và Cosine. Mặc định là Euclide.
Kết quả của truy vấn như sau:
Như bạn có thể thấy, thao tác này đã liệt kê 2 hàng lân cận gần nhất (nói cách khác là bản sao gần nhất) cho 2 hàng trong CITIBIKE_STATIONS_SOURCE2
từ CITIBIKE_STATIONS_SOURCE1
. Vì distance_type
không được chỉ định, nên mã này giả định rằng đó là Euclide và khoảng cách được đọc là khoảng cách trong các giá trị TEXT địa chỉ giữa hai nguồn, giá trị thấp nhất là văn bản địa chỉ giống nhau nhất.
Hãy đặt distance_type
thành Cosine bằng truy vấn sau:
select query.name name1,base.name name2,
/* (select address from mdm_gemini.CITIBIKE_STATIONS_SOURCE2 where name = query.name) content1, base.content content2, */
distance
from VECTOR_SEARCH(
TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE1,
'ml_generate_embedding_result',
(SELECT * FROM mdm_gemini.CITIBIKE_STATIONS_SOURCE2),
'embeddings_src',
top_k => 2,distance_type => 'COSINE'
) where query.name <> base.name
order by distance desc;
Kết quả của truy vấn như sau:
Cả hai truy vấn (thuộc cả hai loại khoảng cách) đều được sắp xếp theo khoảng cách DESCENDING, nghĩa là chúng ta muốn liệt kê các kết quả theo thứ tự giảm dần khoảng cách. Nhưng bạn sẽ nhận thấy rằng thứ tự khoảng cách của truy vấn thứ hai bị đảo ngược. Bạn có đoán được lý do không?
Tuyệt!! Bạn đã làm được! Trong độ tương đồng cos, số lớn hơn có nghĩa là độ giống nhau lớn hơn và khoảng cách nhỏ hơn. Trong khoảng cách Euclide, số lớn hơn có nghĩa là khoảng cách lớn hơn giữa các giá trị.
Để tìm hiểu thêm về giải pháp MDM (Quản lý thiết bị di động), cũng như các mẹo giúp nắm được sự khác biệt và ứng dụng của đường Euclide và Cosine, hãy đọc blog này.
11. Dọn dẹp
Để tránh bị tính phí vào tài khoản Google Cloud cho các tài nguyên sử dụng trong bài đăng này, hãy làm theo các bước sau:
- Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Quản lý tài nguyên.
- Trong danh sách dự án, hãy chọn dự án mà bạn muốn xoá, sau đó nhấp vào Delete (Xoá).
- Trong hộp thoại, hãy nhập mã dự án rồi nhấp vào Tắt để xoá dự án.
- Nếu bạn muốn giữ lại dự án, hãy bỏ qua các bước ở trên và xoá Hàm đám mây bằng cách chuyển đến Cloud Functions và trong danh sách hàm, hãy chọn hàm mà bạn muốn xoá rồi nhấp vào Xoá.
12. Xin chúc mừng
Xin chúc mừng! Bạn đã chứng minh được sức mạnh của việc sử dụng Gemini 1.0 Pro và chức năng Gọi hàm trong việc biến một vài hoạt động MDM (Quản lý thiết bị di động) thành các chức năng AI tạo sinh đơn giản mà vẫn mạnh mẽ, tất định và đáng tin cậy. Giờ bạn đã biết, hãy xác định những cách khác để triển khai cùng một trường hợp sử dụng hoặc các chức năng MDM khác. Có tập dữ liệu nào mà bạn có thể xác thực, lỗ hổng thông tin cần bổ sung hay những công việc có thể tự động hoá bằng lệnh gọi có cấu trúc được nhúng trong câu trả lời dựa trên AI tạo sinh của bạn không? Hãy tham khảo tài liệu về Vertex AI, Hàm từ xa BigQuery, Chức năng đám mây, Nhúng và Tìm kiếm vectơ để được hướng dẫn chi tiết hơn. Dưới đây là kho lưu trữ github cho dự án này. Hãy cho chúng tôi biết thành quả của bạn nhờ kiến thức này!