1. Giới thiệu
Bạn có thích đọc sách nhưng cảm thấy choáng ngợp trước vô vàn lựa chọn? Hãy tưởng tượng bạn có một ứng dụng dựa trên AI, không chỉ đề xuất cuốn sách phù hợp mà còn cung cấp bản tóm tắt ngắn gọn dựa trên thể loại bạn chọn, giúp bạn nắm bắt được nội dung cốt lõi của cuốn sách. Trong lớp học lập trình này, tôi sẽ hướng dẫn bạn cách tạo một ứng dụng như vậy bằng BigQuery, Gemini và Cloud Functions do Gemini hỗ trợ.
Tổng quan về dự án
Trường hợp sử dụng của chúng tôi xoay quanh 4 thành phần chính sau:
- Cơ sở dữ liệu sách: Tập dữ liệu công khai khổng lồ của BigQuery về sách lưu trữ trên Internet sẽ đóng vai trò là danh mục sách toàn diện của chúng tôi.
- Công cụ tóm tắt bằng AI: Google Cloud Functions, được trang bị mô hình ngôn ngữ Gemini 1.0 Pro, sẽ tạo ra những bản tóm tắt sâu sắc phù hợp với yêu cầu của người dùng.
- Tích hợp BigQuery: Một hàm từ xa trong BigQuery gọi Cloud Functions của chúng tôi để cung cấp bản tóm tắt và chủ đề của sách theo yêu cầu.
- Giao diện người dùng: Một ứng dụng web được lưu trữ trên Cloud Run, cung cấp một ứng dụng web để người dùng xem kết quả.
Chúng ta sẽ chia quá trình triển khai thành 3 lớp học lập trình:
Lớp học lập trình 1: Sử dụng Gemini để tạo một Cloud Function bằng Java cho ứng dụng Gemini.
Lớp học lập trình 2: Sử dụng Gemini để tạo các ứng dụng SQL bằng BigQuery và AI tạo sinh.
Lớp học lập trình 3: Sử dụng Gemini để tạo một ứng dụng web Java Spring Boot tương tác với BigQuery.
2. Sử dụng Gemini để tạo các ứng dụng SQL bằng BigQuery và AI tạo sinh
Sản phẩm bạn sẽ tạo ra
Bạn sẽ tạo một
- Mô hình từ xa trong BigQuery gọi điểm cuối text-bison-32k của Vertex AI để xác định thể loại (hoặc chủ đề) của cuốn sách trong danh sách các từ khoá được phân tách bằng ";" trong bảng.
- Hàm từ xa trong BigQuery sẽ gọi Cloud Functions dựa trên AI tạo sinh đã triển khai từ xa.
- Sử dụng mô hình và hàm từ xa để tóm tắt chủ đề và văn bản của một cuốn sách bằng các truy vấn SQL, đồng thời ghi kết quả vào một bảng mới trong tập dữ liệu giá sách.
- Bạn sẽ triển khai các bước này với sự trợ giúp của Gemini
3. Yêu cầu
- Một trình duyệt, chẳng hạn như Chrome hoặc Firefox
- Một dự án trên Google Cloud đã bật tính năng thanh toán
- Bạn nên triển khai Cloud Function trong phần 1 của lớp học lập trình Sử dụng Gemini để tạo Cloud Function bằng Java cho một ứng dụng Gemini.
- Có điều kiện: Nếu tại thời điểm này, bạn có quyền truy cập vào đường liên kết đến khoản tín dụng Google Cloud miễn phí (do người tổ chức hội thảo cung cấp cho bạn), hãy làm theo hướng dẫn trong trang bên dưới để hoàn tất các bước KÍCH HOẠT TÍN DỤNG và TẠO DỰ ÁN trước. Nếu bạn không có đường liên kết này, hãy tiếp tục thực hiện các bước tiên quyết về dự án và việc thanh toán bên dưới:
Tạo dự án
Bạn có thể bỏ qua các bước bên dưới nếu đã kích hoạt một tài khoản thanh toán và tạo một dự án bằng đường liên kết được đề cập trong bước có điều kiện ở trên.
- Trong Google Cloud Console, trên trang 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 đám mây của bạn. 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.
Kích hoạt Cloud Shell
- 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:
Trong Cloud Console, hãy nhấp vào biểu tượng Kích hoạt Cloud Shell ở góc trên cùng bên phải: 
- Sau khi kết nối với Cloud Shell, bạn sẽ thấy rằng mình đã được xác thực và dự án đã được đặt thành mã dự án của bạn. Chạy lệnh sau trong Cloud Shell để xác nhận rằng bạn đã được xác thực:
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 bạn chưa đặt dự án, hãy dùng lệnh sau để đặt:
gcloud config set project <YOUR_PROJECT_ID>
Tham khảo tài liệu để biết các lệnh và cách sử dụng gcloud.
4. Bật Gemini cho Google Cloud và các API cần thiết
Bật Gemini
- Chuyển đến Marketplace của Gemini cho Google Cloud để bật API. Bạn cũng có thể dùng lệnh sau:
gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID
- Truy cập vào trang Gemini rồi nhấp vào "Bắt đầu trò chuyện".
Bật các API cần thiết khác
Chúng ta sẽ làm điều đó như thế nào? Hãy hỏi Gemini xem sao nhé? Nhưng trước đó, hãy nhớ:
Lưu ý: LLM không xác định. Vì vậy, khi bạn thử các câu lệnh này, câu trả lời mà bạn nhận được có thể khác với câu trả lời trong ảnh chụp màn hình của tôi.
Truy cập vào cuộc trò chuyện với Gemini bằng cách nhấp vào biểu tượng "Mở Gemini" ở góc trên cùng bên phải, bên cạnh thanh tìm kiếm trong bảng điều khiển Cloud.
Nhập câu hỏi này vào phần "Nhập câu lệnh tại đây":
Làm cách nào để bật BigQuery và Vertex AI API bằng lệnh gcloud?
Bạn sẽ nhận được phản hồi như trong hình ảnh sau:

Sao chép lệnh đó (bạn có thể dùng biểu tượng sao chép ở đầu đoạn lệnh) rồi chạy lệnh trong Cloud Shell Terminal để bật các dịch vụ tương ứng:
- bigquery.googleapis.com
- aiplatform.googleapis.com
5. Khám phá tập dữ liệu công khai của BigQuery cho dữ liệu về sách
Bắt đầu bằng cách tìm hiểu về tập dữ liệu công khai của BigQuery chứa thông tin về nhiều sách lưu trữ trên Internet.
Bạn có thể tìm thấy tập dữ liệu công khai này trong ngăn trình khám phá BigQuery. Bạn có thể tìm thấy mục này ở bên trái khi truy cập vào bảng điều khiển BigQuery.

Nhập "gdelt-bq" hoặc "internetarchivebooks" vào thanh tìm kiếm rồi nhấp vào TÌM KIẾM TẤT CẢ DỰ ÁN. Mở rộng kết quả và đánh dấu sao cho sách trong kho lưu trữ Internet như minh hoạ trong hình dưới đây:
.
Mở rộng tập dữ liệu, nhấp vào gdelt-bq.internetarchivebooks, rồi xem trước dữ liệu trong bảng 1920. Bảng này bao gồm những cuốn sách được lưu trữ từ năm 1920.
Để xem giản đồ mà chúng ta sẽ sử dụng trong các phần tiếp theo, hãy chạy truy vấn sau:
select * from `gdelt-bq.internetarchivebooks.1920` limit 5;
Chúng ta sẽ sử dụng 3 trường sau đây cho lớp học lập trình:
- BookMeta_Title (tiêu đề)
- Chủ đề (các chủ đề được phân tách bằng ";')
- BookMeta_FullText (toàn bộ nội dung của cuốn sách)
6. Tạo một tập dữ liệu BigQuery mới có tên là bookshelf
Chúng ta muốn tạo một tập dữ liệu trong dự án để lưu trữ tất cả các đối tượng cơ sở dữ liệu và đối tượng phân tích mà chúng ta sẽ tạo trong lớp học này. Hãy hỏi Gemini cách tạo một tập dữ liệu BigQuery. Bạn nên mở sẵn cuộc trò chuyện với Gemini trên một thẻ khác trong trình duyệt từ bước bật API. Nếu chưa, bạn có thể làm việc này ngay bây giờ. Truy cập vào Google Cloud Console bằng cách chuyển đến https://console.cloud.google.com. Bạn sẽ thấy biểu tượng Gemini ngay bên cạnh thanh tìm kiếm ở trên cùng. Nhấp vào đó để mở cuộc trò chuyện.

Nhập câu lệnh như minh hoạ bên dưới.
Đây là câu lệnh của tôi:
How to create a BigQuery dataset?
Sau đây là câu trả lời:

Hãy làm theo các bước được nêu trong câu trả lời để tạo một tập dữ liệu có tên là "bookshelf" trong dự án đang hoạt động của bạn.
Để tạo một tập dữ liệu BigQuery, hãy làm theo các bước sau:
- Chuyển đến trang BigQuery trong bảng điều khiển Cloud.
- Trong bảng điều khiển Explorer, hãy nhấp vào mã dự án của bạn.
- Nhấp vào Tạo tập dữ liệu (nút này sẽ xuất hiện trong danh sách các lựa chọn khi bạn nhấp vào biểu tượng 3 dấu chấm bên cạnh mã dự án)
- Nhập tên tập dữ liệu là "bookshelf".
- Đặt vị trí là "Hoa Kỳ(Nhiều khu vực)".
- Đối với các bước 3, 4, 5 và 6 trong câu trả lời, hãy giữ nguyên các lựa chọn mặc định.
- Nhấp vào TẠO TẬP DỮ LIỆU.
Tập dữ liệu của bạn sẽ được tạo và xuất hiện trong bảng điều khiển Khám phá. Bạn có thể xem tập dữ liệu "giá sách" như sau:
7. Tạo một mô hình từ xa để gọi LLM Vertex AI (text-bison-32k)
Tiếp theo, chúng ta cần tạo một mô hình trong BigQuery để gọi mô hình Vertex AI "text-bison-32k". Mô hình này sẽ giúp xác định một chủ đề chung, bối cảnh cho cuốn sách, từ danh sách từ khoá cho mỗi cuốn sách trong tập dữ liệu.
Hãy hỏi Gemini câu hỏi này. Để làm việc này, hãy chuyển đến thẻ có bảng điều khiển cuộc trò chuyện với Gemini đang mở rồi nhập câu lệnh bên dưới:
Bạn sẽ kết nối BigQuery và Vertex AI như thế nào để gọi điểm cuối LLM (text-bison-32k) trong BigQuery?
Phản hồi như sau:

Câu trả lời bao gồm thông tin chính xác, chẳng hạn như các bước bao gồm việc sử dụng câu lệnh CREATE MODEL, sử dụng kết nối BigQuery và xác định điểm cuối. Câu hỏi này phù hợp với tôi, nhưng điều đó không có nghĩa là bạn sẽ nhận được kết quả chính xác giống như vậy vì đây là một mô hình ngôn ngữ lớn nên bạn có thể nhận được câu trả lời ở định dạng, số lượng và mức độ chi tiết khác. Nếu bạn không thấy tất cả thông tin chi tiết mà tôi đã nhận được, hãy thoải mái đặt các câu hỏi tiếp theo trong cuộc trò chuyện. Ví dụ: Cung cấp thêm thông tin chi tiết về cách tạo tài nguyên kết nối hoặc lý do thuộc tính kết nối bị thiếu hoặc Cách kết nối từ BigQuery với Vertex AI, v.v.
Sau đây là một câu lệnh nối tiếp mẫu (chỉ sử dụng câu lệnh này nếu bạn cần một câu lệnh nối tiếp, nếu câu trả lời đầu tiên bạn nhận được là đủ, hãy tiếp tục với câu trả lời đó):
What about the connection? How will I connect from BigQuery to Vertex AI?
Sau đây là câu trả lời:

Hãy làm theo các bước trong câu trả lời để tạo một mối kết nối BigQuery:
- Chuyển đến bảng điều khiển BigQuery.
- Trong ngăn BigQuery Explorer, hãy nhấp vào nút "+THÊM" rồi nhấp vào "Kết nối với các nguồn dữ liệu bên ngoài".
- Tại thời điểm này, bạn sẽ được yêu cầu Bật BigQuery Connection API. Nhấp vào BẬT API:

- Nhấp vào "Kết nối với nguồn dữ liệu bên ngoài" và bạn sẽ thấy trang trình bày Nguồn dữ liệu bên ngoài như bên dưới . Trong danh sách nguồn bên ngoài, hãy chọn nguồn "Vertex AI".

- Nhập mã nhận dạng kết nối (bạn có thể chọn mã nhận dạng bất kỳ, nhưng hiện tại, hãy đặt mã nhận dạng là "bq-vx" và khu vực (nhiều khu vực "US").
- Nhấp vào "Tạo mối kết nối".

- Sau khi tạo mối kết nối, hãy nhấp vào "Chuyển đến mối kết nối".
- Trong trang thông tin kết nối, hãy sao chép mã nhận dạng tài khoản dịch vụ vì chúng ta sẽ sử dụng mã nhận dạng này trong các bước tiếp theo.
- Bây giờ, khi đã tạo kết nối, hãy chỉ định các quyền cho mã nhận dạng tài khoản dịch vụ mà chúng ta đã sao chép để có thể sử dụng Vertex AI.
- Trên trang Google Cloud Console, hãy mở Google Cloud IAM hoặc chuyển đến đường liên kết.
- Nhấp vào Cấp quyền truy cập trong phần Xem theo người dùng.

- Trong hộp thoại Cấp quyền truy cập, hãy nhập Mã nhận dạng tài khoản dịch vụ mà chúng ta đã ghi lại trước đó vào hộp văn bản Nguyên tắc mới.
- Đặt vai trò thành "Người dùng Vertex AI".

Kết nối cần thiết sẽ được tạo. Quyền cần thiết được cấp cho người dùng chính (tài khoản dịch vụ của mối kết nối) để sử dụng Vertex AI từ BigQuery.
Chạy câu lệnh DDL(Ngôn ngữ định nghĩa dữ liệu) sau đây, biểu thị việc tạo một đối tượng DB, trong trường hợp này là MODEL trong trình chỉnh sửa truy vấn BigQuery.
CREATE OR REPLACE MODEL bookshelf.llm_model
REMOTE WITH CONNECTION `us.bq-vx`
OPTIONS (ENDPOINT = 'text-bison-32k');
Bạn có thể thử một cách khác thay cho bước trên, đó là yêu cầu Gemini đề xuất một cụm từ tìm kiếm để tạo mô hình nhằm gọi mô hình "text-bison-32k".
Lưu ý: Nếu bạn đã sử dụng một tên khác cho mối kết nối, hãy thay thế " us.bq-vx" bằng tên đó trong câu lệnh DDL trước đó. Truy vấn này sẽ tạo mô hình từ xa trong tập dữ liệu "bookshelf" mà chúng ta đã tạo trước đó.
8. Tạo một hàm từ xa gọi Hàm đám mây Java
Giờ đây, chúng ta sẽ tạo một hàm từ xa trong BigQuery bằng cách sử dụng Java Cloud Function mà chúng ta đã tạo trong lớp học lập trình 1 của loạt bài này để triển khai mô hình Gemini. Hàm từ xa này sẽ được dùng để tóm tắt nội dung sách.
Lưu ý: Nếu bỏ lỡ lớp học lập trình này hoặc chưa triển khai Cloud Functions này, bạn có thể bỏ qua bước này và chuyển sang chủ đề tiếp theo (tức là Tóm tắt chủ đề của sách bằng mô hình từ xa).
Chuyển đến bảng điều khiển BigQuery rồi dán câu lệnh DDL sau đây vào Trình chỉnh sửa truy vấn (bạn có thể tạo một Thẻ trình chỉnh sửa truy vấn mới bằng cách nhấp vào nút +)

Sau đây là DDL mà bạn có thể sao chép. Hãy nhớ thay thế điểm cuối bằng điểm cuối Cloud Functions mà bạn đã triển khai (được tạo từ lớp học lập trình 1). Nếu không có điểm cuối, bạn có thể thay thế các ký tự bị che trong DDL bên dưới bằng "abis-345004" cho mục đích minh hoạ.
CREATE OR REPLACE FUNCTION
`bookshelf.GEMINI_REMOTE_CALL` (context STRING) RETURNS STRING
REMOTE WITH CONNECTION `us.bq-vx`
OPTIONS (
endpoint = 'https://us-central1-****-******.cloudfunctions.net/remote-gemini-call' );
Chuyển đến bảng điều khiển BigQuery trên nền tảng Google Cloud và mở thẻ Trình chỉnh sửa truy vấn mới. Trong Trình chỉnh sửa truy vấn BigQuery, hãy dán câu lệnh DDL ở trên. Bạn có thể thấy phản hồi sau đây sau khi chạy truy vấn:

Bây giờ mô hình và hàm đã được tạo, hãy kiểm thử hai đối tượng BigQuery này bằng cách chạy chúng trong một truy vấn SELECT.
9. Tóm tắt các chủ đề bằng mô hình từ xa
Hãy sử dụng mô hình từ xa mà chúng ta đã tạo "bookshelf.llm_model" để tạo một từ khoá tổng hợp cho cuốn sách từ danh sách chủ đề đã cho:
SELECT * FROM ML.GENERATE_TEXT(MODEL `bookshelf.llm_model`,
(
SELECT
CONCAT('Read all the words in the following text separated by ";" and come up with one single (most relating) theme that is applicable : ', Themes, '. Take the title of the book from the following value', BookMeta_Title, '. Return a meaningful and concise theme with one or two words, not more than that. If a theme is not possible, return a context from its title. But DO NOT return empty or null. ') AS prompt
FROM `gdelt-bq.internetarchivebooks.1920` LIMIT 1
));
Bước không bắt buộc: Kết quả cho trường kết quả do LLM tạo được lồng ghép. Hãy thêm một số tham số LLM và thuộc tính "flatten_json_output" vào truy vấn. Việc sử dụng thuộc tính "flatten_json_output" giúp xoá cấu trúc lồng nhau khỏi trường kết quả do LLM tạo.
SELECT * FROM ML.GENERATE_TEXT ( MODEL `bookshelf.llm_model`, (
SELECT CONCAT('Read all the words in the following text separated by ";" and come up with one single (most relating) theme that is applicable : ', Themes, '. Take the title of the book from the following value', BookMeta_Title, '. Return a meaningful and concise theme with one or two words, not more than that. If a theme is not possible, return a context from its title. But DO NOT return empty or null. ') AS prompt FROM `gdelt-bq.internetarchivebooks.1920` limit 1),
STRUCT( 0.2 AS temperature, 100 AS max_output_tokens, TRUE AS flatten_json_output));
Bây giờ, hãy chạy truy vấn SELECT trong Trình chỉnh sửa BigQuery và xác minh kết quả. Chúng tôi đã giới hạn kết quả truy vấn ở mức 1 để kiểm thử. Kết quả sẽ hiển thị như sau:

10. Tóm tắt toàn bộ nội dung sách bằng hàm từ xa
Giờ đây, chúng ta sẽ thử tóm tắt cuốn sách bằng cách chạy Cloud Function bookshelf.GEMINI_REMOTE_CALL mà chúng ta đã tạo trước đó.
Lưu ý: Nếu bạn đã bỏ qua bước tạo Functions từ xa (chủ đề trước trong lớp học lập trình này), hãy nhớ bỏ qua lệnh gọi hàm bookshelf.GEMINI_REMOTE_CALL trong truy vấn SELECT.
Sử dụng truy vấn SELECT gọi hàm từ xa (GEMINI_REMOTE_CALL) mà chúng ta đã tạo trước đó. Lệnh gọi đến hàm này (GEMINI_REMOTE_CALL) bao gồm một câu lệnh yêu cầu tóm tắt nội dung của cuốn sách:
select BookMeta_Title, `bookshelf.GEMINI_REMOTE_CALL` (
CONCAT('This is about a book. The title of the book is this: ', BookMeta_Title, ' . The theme of the book is as follows: ', Themes, 'The following text contains an excerpt from the book. Summarize it in less than 5 lines to create the gist. If you do not have a summary, use the title and themes to make up a short summary. DO NOT RETURN EMPTY RESPONSE. ', SUBSTR(BookMeta_FullText, 5000, 10000))) Summary
from `gdelt-bq.internetarchivebooks.1920` where Themes like '%EDUCATION%' limit 1;
Xin lưu ý rằng chúng tôi đã lấy một chuỗi con của toàn bộ văn bản trong sách để tạo bản tóm tắt.
Kết quả của truy vấn như sau:

11. Lưu trữ dữ liệu về sách trong bảng
Giờ đây, chúng ta đã kiểm thử cả các lệnh gọi LLM (mô hình và hàm từ xa) từ BigQuery chỉ bằng cách sử dụng các truy vấn SQL. Hãy tạo một bảng BigQuery để lưu trữ dữ liệu "giá sách" cùng thông tin chi tiết về chủ đề trong cùng tập dữ liệu với mô hình và hàm từ xa.
Trên thực tế, chúng ta có thể đưa cả lệnh gọi mô hình LLM và lệnh gọi hàm từ xa vào bước này. Nhưng vì đã đánh dấu lệnh gọi hàm từ xa (gọi Cloud Functions) là một bước không bắt buộc, nên chúng ta sẽ chỉ sử dụng thông tin chi tiết từ mô hình từ xa.
Sau đây là truy vấn mà chúng ta sẽ sử dụng:
SELECT
BookMeta_Title, Themes, ml_generate_text_llm_result Context
FROM
ML.GENERATE_TEXT (
MODEL `bookshelf.llm_model`,
(
SELECT
BookMeta_Title,
Themes,BookMeta_FullText,
CONCAT('Read all the words in the following text separated by ";" and come up with one single (most relating) theme that is applicable : ', Themes, '. Take the title of the book from the following value', BookMeta_Title, '. Return a meaningful and concise theme with one or two words, not more than that. If a theme is not possible, return a context from its title. But DO NOT return empty or null. ') AS prompt
FROM `gdelt-bq.internetarchivebooks.1920` limit 5),
STRUCT(
0.2 AS temperature,
100 AS max_output_tokens,
TRUE AS flatten_json_output));
Khi bạn chạy truy vấn trong Trình chỉnh sửa BigQuery, kết quả sẽ như sau:

Giờ hãy hỏi Gemini tạo một bảng có tên "bookshelf.books" từ truy vấn ở trên. Chuyển đến bảng điều khiển cuộc trò chuyện với Gemini trên Google Cloud Console rồi nhập câu lệnh sau.
Sau đây là câu lệnh chúng ta sẽ sử dụng:
Create a BigQuery table named bookshelf.books from this SELECT query:
SELECT
BookMeta_Title, Themes, ml_generate_text_llm_result Context
FROM
ML.GENERATE_TEXT (
MODEL `bookshelf.llm_model`,
(
SELECT
BookMeta_Title,
Themes,BookMeta_FullText,
CONCAT('Read all the words in the following text separated by ";" and come up with one single (most relating) theme that is applicable : ', Themes, '. Take the title of the book from the following value', BookMeta_Title, '. Return a meaningful and concise theme with one or two words, not more than that. If a theme is not possible, return a context from its title. But DO NOT return empty or null. ') AS prompt
FROM `gdelt-bq.internetarchivebooks.1920` limit 5),
STRUCT(
0.2 AS temperature,
100 AS max_output_tokens,
TRUE AS flatten_json_output));
Sau đây là câu trả lời của Gemini Chat:

Sau đây là truy vấn trong trường hợp bạn muốn sao chép trực tiếp từ đây:
CREATE TABLE bookshelf.books (
BookMeta_Title STRING,
Themes STRING,
ml_generate_text_llm_result STRING
) AS (
SELECT
BookMeta_Title,
Themes,
ml_generate_text_llm_result Context
FROM
ML.GENERATE_TEXT (
MODEL `bookshelf.llm_model`,
(
SELECT
BookMeta_Title,
Themes,
BookMeta_FullText,
CONCAT('Read all the words in the following text separated by ";" and come up with one single (most relating) theme that is applicable : ', Themes, '. Take the title of the book from the following value', BookMeta_Title, '. Return a meaningful and concise theme with one or two words, not more than that. If a theme is not possible, return a context from its title. But DO NOT return empty or null. ') AS prompt
FROM `gdelt-bq.internetarchivebooks.1920`
LIMIT 5
),
STRUCT(
0.2 AS temperature,
100 AS max_output_tokens,
TRUE AS flatten_json_output
)
)
);
Sau khi chạy truy vấn trong Trình chỉnh sửa BigQuery, kết quả sẽ như sau:

Vậy là xong! Giờ đây, hãy truy vấn bảng và khám phá dữ liệu để biết thêm thông tin chi tiết.
12. Xin chúc mừng
Xin chúc mừng! Chúng tôi đã hoàn tất các bước sau và sử dụng Gemini trong một số bước của quy trình:
- Tạo một mô hình từ xa trong BigQuery để gọi điểm cuối "text-bison-32k" của Vertex AI nhằm xác định thể loại (hoặc chủ đề) của cuốn sách từ danh sách các từ khoá được phân tách bằng ";" trong bảng.
- Tạo một hàm từ xa trong BigQuery để gọi hàm Cloud Functions AI tạo sinh đã triển khai này từ xa. Hàm này sẽ lấy câu lệnh làm dữ liệu đầu vào và xuất ra một chuỗi tóm tắt cuốn sách trong 5 dòng.
- Sử dụng mô hình và hàm từ xa để tóm tắt chủ đề và văn bản của một cuốn sách bằng các truy vấn SQL, đồng thời ghi kết quả vào một bảng mới trong tập dữ liệu giá sách.
- Trong bài tập tiếp theo, hãy thử dùng Gemini để lấy mã SQL nhằm xoá các đối tượng đã tạo trong BigQuery. Thao tác này sẽ bao gồm bước dọn dẹp.