1. Tổng quan
Quản lý dữ liệu chính là gì?
Quản lý dữ liệu chính (MDM) là việc tạo một nguồn đáng tin cậy, duy nhất cho dữ liệu quan trọng nhất của tổ chức. Hãy tưởng tượng một thư viện được sắp xếp cẩn thận, trong đó mọi cuốn sách (điểm dữ liệu) đều được gắn nhãn chính xác, cập nhật và dễ tìm.
Dữ liệu chính là các thực thể kinh doanh cốt lõi, cơ bản và cần thiết cho hoạt động của công ty. Dưới đây là các thành phần chính của dữ liệu tổng thể:
- Thực thể doanh nghiệp: các thực thể như khách hàng, sản phẩm, nhà cung cấp, vị trí và nhân viên là những danh từ xoay quanh doanh nghiệp của bạn
- Giá trị nhận dạng: giá trị nhận dạng duy nhất giúp đảm bảo mỗi thực thể đều khác biệt và có thể theo dõi được trên các hệ thống
- Thuộc tính: các đặc điểm mô tả từng thực thể, ví dụ: địa chỉ của khách hàng, giá của sản phẩm, v.v.
Để giúp bạn hiểu rõ hơn về dữ liệu chính, hãy so sánh dữ liệu chính 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ẻ (giao dịch mua, lô hàng, v.v.). Trong khi đó, dữ liệu tổng thể cung cấp ngữ cảnh cho các sự kiện đó bằng cách xác định các thực thể liên quan. Ví dụ: một giao dịch bán hàng liên kết đến dữ liệu tổng thể 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 MDM mạnh mẽ là điều cần thiết để đưa ra quyế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à lúc AI tạo sinh phát huy sức mạnh biến đổi, đặc biệt là các mô hình như Gemini 1.0 Pro, Gemini 1.0 Pro Vision, Gemini 1.5 Pro.
2. Mục tiêu
Trong lớp học lập trình này, bạn sẽ được hướng dẫn 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 cho dữ liệu citibike_stations có trong tập dữ liệu công khai của BigQuery.
Những gì bạn sẽ sử dụng
- Tập dữ liệu công khai BigQuery
bigquery-public-data.new_york_citibike
. - Gọi hàm Gemini (Hàm trên đám mây Java lấy thông tin địa chỉ bằng cách sử dụng API Mã hoá địa lý đảo ngược cho các toạ độ có sẵn trong dữ liệu citibike_stations).
- Vertex AI Embeddings 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 có 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 Hàm trên đám mây có tính năng Gọi hàm Gemini để chuẩn hoá địa chỉ.
- Bạn sẽ lưu trữ dữ liệu địa chỉ được làm phong phú trong bảng đích (từ hai nguồn được cung cấp cho minh hoạ này).
- Bạn sẽ gọi API nhúng Vertex AI từ BigQuery trên dữ liệu địa chỉ.
- Bạn sẽ sử dụng tính năng Tìm kiếm vectơ của BigQuery để xác định các bản ghi trùng lặp.
Sơ đồ sau đây thể hiện luồng dữ liệu và các bước liên quan đến việc 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 bạn đã bật tính năng thanh toán cho dự án trên Cloud. Tìm hiểu cách kiểm tra xem tính năng thanh toán có được bật trên 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 và được tải sẵn 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, hãy kiểm tra để đảm bảo bạn đã được xác thực và dự án được đặt thành mã dự án của bạn bằng lệnh sau:
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 đặt, hãy sử dụng lệnh sau để đặt dự án:
gcloud config set project <YOUR_PROJECT_ID>
- Chuyển đến Gemini cho Google Cloud Marketplace để bật API. Bạn cũng có thể sử dụng lệnh sau trong 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. Bạn có thể sử dụng đường liên kết này để thay thế lệnh gcloud thông qua bảng điều khiển.
Tham khảo tài liệu để biết các lệnh và cách sử dụng gcloud.
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 Google Cloud.
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 tập dữ liệu, hãy làm như sau:
- Chuyển đến trang BigQuery trong Google Cloud Console.
- Trong bảng điều khiển Explorer (Trình khám phá), hãy chọn dự án mà bạn muốn tạo tập dữ liệu.
- Mở rộng tuỳ chọn Thao tác (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í thành
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à được liệt kê trong mã dự án của bạn trong ngăn Explorer (Trình khám phá).
Bạn cần có kết nối với BigQuery để tương tác với Hàm trên đám mây. Để tạo một hàm từ xa, bạn phải tạo một 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 từ BigQuery thông qua Hàm trên đám mây. Các kết nối BigLake giúp kết nối nguồn dữ liệu bên ngoài trong khi vẫn duy trì khả năng kiểm soát và bảo mật truy cập BigQuery chi tiết, trong trường hợp này là API Vertex AI Gemini Pro.
Để tạo kết nối BigLake, hãy làm như sau:
- Nhấp vào Thêm trên ngăn Explorer (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 từ xa, hàm từ xa và BigLake (Tài nguyên trên đám mây) của Vertex AI.
- Trong trường Connection ID (Mã kết nối), hãy nhập tên kết nối là
gemini-bq-conn
. - Đặt loại vị trí thành
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 kết nối.
- Nhấp vào Chuyển đến kết nối,sau đó sao chép mã tài khoản dịch vụ trong ngăn Thông tin kết nối.
- Chuyển đến trang 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ò, sau đó nhấp vào Lưu.
Bạn đã tạo thành công tập dữ liệu và kết nối BigQuery.
6. Triển khai tính năng Gọi hàm Gemini (Hàm trên đám mây Java)
Hãy làm theo các bước sau để triển khai Hàm trên đám mây Java có tính năng Gọi hàm Gemini.
- Sao chép kho lưu trữ github từ dòng lệnh Cloud Shell bằng lệnh sau:
git clone https://github.com/AbiramiSukumaran/GeminiFunctionCalling
- Thay thế phần giữ chỗ
YOUR_API_KEY
vàYOUR_PROJECT_ID
bằng các giá trị của bạn.
Nếu đọc blog tại đây, bạn sẽ biết rằng các hoạt động 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 cửa sổ dòng lệnh Cloud Shell, hãy chuyển đến thư mục dự án mới được nhân bản GeminiFunctionCalling rồi chạy câu lệnh sau để tạo và triển khai Hàm trên đá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 trả lời câu hỏi "Cho phép các lệnh gọi chưa xác thực". 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 ta sẽ tiếp tục mà không xác thực.
Kết quả là một URL REST ở định dạng sau:
https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/gemini-fn-calling
- Kiểm thử Hàm trên đám mây này bằng cách chạy lệnh sau trên dòng lệnh:
gcloud functions call gemini-fn-calling --region=us-central1 --gen2 --data '{"calls":[["40.714224,-73.961452"]]}'
Câu trả lờ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 trên đá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 trực tiếp dữ liệu này 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 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 trên đá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 tạo:
SELECT mdm_gemini.MDM_GEMINI
(latlong) from mdm_gemini.CITIBIKE_STATIONS limit 1;
Nếu truy vấn kiểm thử sử dụng hàm từ xa mới được tạo trong BigQuery không thành công do vấn đề về quyền của Hàm trên đám mây, hãy chuyển đến Hàm trên đám mây trên Google Cloud Console và tìm Hàm trên đám mây đã triển khai có tên "gemini-fn-calling". Chuyển đến thẻ quyền, thêm chủ thể là "allUsers" và cấp vai trò "Cloud Functions Invoker" (Trình gọi hàm trên đám mây) để đảm bảo tất cả người dùng đều có thể truy cập vào Cloud Functions (chỉ vì đây là ứng dụng minh hoạ).
7. Thử một giải pháp
Nếu không có API_KEY cần thiết cho phương pháp gọi hàm Xác định vị trí địa lý đảo ngược hoặc không triển khai Hàm trên đám mây vì lý do nào đó, bạn có thể làm như sau:
- Tải tệp CITIBIKE_STATIONS.csv từ kho lưu trữ vào 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
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
Lưu ý: Bỏ qua bước này nếu bạn đã sử dụng giải pháp vì bạn phải đã 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 Trình chỉnh sửa SQL của BigQuery:
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:
- Được báo cáo vào năm 2024
- Số lượng xe đạp còn lại > 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
Đừng bỏ qua bước này ngay cả khi bạn đã sử dụng phương pháp giải quyết để tạo bảng.
Trong 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 cho mục đích của lớp học lập trình này. Điều này nhằm minh hoạ rằng MDM đang kết hợp dữ liệu từ nhiều nguồn và xác định thông tin đáng tin cậy.
Chạy các DDL sau trong BigQuery SQL Editor để tạo nguồn dữ liệu vị trí thứ hai có hai bản ghi. Hãy đặt tên cho bảng này là mdm_gemini.CITIBIKE_STATIONS_SOURCE2
và chèn hai bản ghi vào bảng.
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 dữ liệu nhúng cho dữ liệu địa chỉ
Nội dung nhúng là các vectơ số có nhiều chiều đại diện cho một thực thể nhất định, chẳng hạn 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 phần nhúng để mã hoá ngữ nghĩa về các thực thể đó nhằm giúp dễ dàng suy luận và so sánh các thực thể đó. Ví dụ: một thao tác phổ biến trong các mô hình phân cụm, phân loại và đề 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 có ngữ nghĩa tương đồng nhất. API nhúng văn bản Vertex AI cho phép bạn tạo một văn bản nhúng bằng AI tạo sinh trên Vertex AI. Nhúng văn bản là cách biểu thị bằng số của văn bản, giúp nắm bắt 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ô 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');
- Giờ đây, 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ữ 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 dữ liệu nhúng cho dữ liệu địa chỉ trong bảng CITIBIKE_STATIONS_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 phần nhúng cho nguồn thứ hai. Xin lưu ý rằng chúng ta đã tạo trường nhúng trong cùng một bảng CITIBIKE_STATIONS_SOURCE2.
- Để trực quan hoá các nội dung 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 mục trùng lặp.
10. Chạy một lượt tìm kiếm vectơ để gắn cờ các địa chỉ trùng lặp
Ở bước này, bạn sẽ tìm kiếm cột ml_generate_embedding_result của bảng mdm_gemini.CITIBIKE_STATIONS_SOURCE1 để tìm hai nội dung 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 ta đang truy vấn: mdm_gemini.CITIBIKE_STATIONS_SOURCE1
trên trường ml_generate_embedding_result
Bảng mà chúng ta 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 các đối tượng gần nhất sẽ trả về. Giá trị mặc định là 10. Giá trị âm được coi là vô cực, nghĩa là tất cả giá trị đều được tính là giá trị lân cận và được trả về.
distance_type: chỉ định loại chỉ số để sử dụng nhằm tính toán khoảng cách giữa hai vectơ. Các loại khoảng cách được hỗ trợ là Euclidean và Cosine. Giá trị mặc định là Euclidean.
Kết quả của truy vấn như sau:
Như bạn có thể thấy, kết quả này đã liệt kê hai hàng kề nhau gần nhất (nói cách khác là các hàng trùng lặp gần nhất) cho hai hàng trong CITIBIKE_STATIONS_SOURCE2
từ CITIBIKE_STATIONS_SOURCE1
. Vì distance_type
không được chỉ định, nên giả định rằng đó là Euclidean 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, thấp nhất là văn bản địa chỉ tương tự 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 (của cả hai loại khoảng cách) đều được sắp xếp theo khoảng cách GIẢM DẦN, nghĩa là chúng ta muốn liệt kê kết quả theo thứ tự giảm dần khoảng cách. Tuy nhiên, bạn sẽ nhận thấy 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 chỉ số tương đồng cosine, số lớn hơn có nghĩa là mức độ tương đồng 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 giữa các giá trị lớn hơn.
Để biết thêm thông tin về cách hiểu MDM và các mẹo để hiểu sự khác biệt cũng như cách ứng dụng của phương pháp Euclide và Cosin, hãy đọc bài đăng trên blog.
11. Dọn dẹp
Để tránh bị tính phí cho tài khoản Google Cloud của bạn đối với các tài nguyên được sử dụng trong bài đăng này, hãy làm theo các bước sau:
- Trong Google Cloud Console, 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á, rồi nhấp vào Xoá.
- Trong hộp thoại, hãy nhập mã dự án, sau đó nhấp vào Shut down (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á Chức năng trên đám mây bằng cách chuyển đến Chức năng trên đám mây. Trong danh sách các chức năng, hãy đánh dấu vào chức năng 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à Lệnh gọi hàm trong việc chuyển đổi một số hoạt động MDM thành các chức năng AI tạo sinh đơn giản nhưng mạnh mẽ, có thể xác định và đáng tin cậy. Giờ đây, khi đã nắm được thông tin, bạn có thể tự do xác định các 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. Bạn có thể xác thực tập dữ liệu nào, lấp đầy khoảng trống thông tin nào hoặc tự động hoá tác vụ nào bằng các lệnh gọi có cấu trúc được nhúng trong câu trả lời do AI tạo sinh không? Hãy tham khảo tài liệu về Vertex AI, Hàm từ xa BigQuery, Hàm trên đám mây, Tích hợp và Tìm kiếm vectơ để biết 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 bạn đã tạo ra sản phẩm gì sau khi học!