1. Tổng quan
Trong lớp học này, bạn sẽ sử dụng các sản phẩm AI tạo sinh của Google để xây dựng cơ sở hạ tầng trong Google Cloud với sự trợ giúp của tính năng Trợ lý trên đám mây của Gemini, truy vấn dữ liệu BigQuery bằng ngôn ngữ tự nhiên cho các tính năng SQL của Data Canvas, viết mã trong sổ tay Jupyter của Colab Enterprise và trong Eclipse Theia (Visual Studio Code) với sự trợ giúp của tính năng Trợ lý mã của Gemini, đồng thời tích hợp các tính năng tìm kiếm và trò chuyện bằng AI được xây dựng trên Cloud Storage và BigQuery trong Trình tạo tác nhân AI của Vertex.
Mục tiêu của chúng tôi là tạo một trang web dạy nấu ăn và công thức nấu ăn có tên là AI Recipe Haven. Trang web sẽ được xây dựng bằng Python và Streamlit, đồng thời sẽ chứa hai trang chính. Cooking Advice sẽ lưu trữ một chatbot mà chúng ta sẽ tạo bằng Gemini và một nguồn dựa trên Trình tạo tác nhân Vertex AI liên kết với một nhóm sách dạy nấu ăn. Chatbot này sẽ đưa ra lời khuyên về nấu ăn và trả lời các câu hỏi liên quan đến nấu ăn. Tìm kiếm công thức nấu ăn sẽ là một công cụ tìm kiếm do Gemini cung cấp, lần này dựa trên cơ sở dữ liệu công thức nấu ăn của BigQuery.
Nếu bạn gặp khó khăn với bất kỳ mã nào trong bài tập này, giải pháp cho tất cả các tệp mã đều nằm trong kho lưu trữ GitHub của bài tập trên nhánh solution (giải pháp).
Mục tiêu
Trong lớp học này, bạn sẽ tìm hiểu cách thực hiện các nhiệm vụ sau:
- Kích hoạt và sử dụng tính năng Trợ lý trên đám mây của Gemini
- Tạo ứng dụng tìm kiếm trong Vertex AI Agent Builder cho chatbot tư vấn nấu ăn
- Tải và dọn dẹp dữ liệu trong sổ tay Colab Enterprise nhờ sự trợ giúp của tính năng Gemini Code Assist
- Tạo ứng dụng tìm kiếm trong Vertex AI Agent Builder cho trình tạo công thức nấu ăn
- Xác định ứng dụng web Python và Streamlit cốt lõi, với một chút trợ giúp của Gemini
- Triển khai ứng dụng web lên Cloud Run
- Kết nối trang Cooking Advice với ứng dụng Trình tạo tác nhân tìm kiếm sách nấu ăn
- (Không bắt buộc) Kết nối trang Tìm kiếm công thức với ứng dụng Trình tạo tác nhân tìm kiếm công thức
- (Không bắt buộc) Khám phá ứng dụng hoàn thiện
2. Điều kiện tiên quyết
- Nếu chưa có Tài khoản Google, bạn phải tạo Tài khoản Google.
- Sử dụng tài khoản cá nhân thay vì tài khoản công việc hoặc trường học. Tài khoản công việc và tài khoản trường học có thể có các quy định hạn chế khiến bạn không bật được các API cần thiết cho lớp học này.
3. Thiết lập dự án
- Đăng nhập vào Google Cloud Console.
- Bật tính năng thanh toán trong Cloud Console.
- Bạn sẽ mất chưa đến 1 USD để hoàn thành lớp học này về tài nguyên trên đám mây.
- Bạn có thể làm theo các bước ở cuối lớp học này để xoá tài nguyên nhằm tránh bị tính thêm phí.
- Người dùng mới đủ điều kiện dùng thử miễn phí 300 USD.
- Bạn sẽ tham dự sự kiện trực tuyến về lớp học thực hành? Bạn có thể nhận được 5 USD tín dụng.
- Tạo dự án mới hoặc chọn sử dụng lại một dự án hiện có.
- Xác nhận rằng bạn đã bật tính năng thanh toán trong phần Dự án của tôi trong Cloud Billing
- Nếu dự án mới của bạn có nội dung
Billing is disabled
trong cộtBilling account
:- Nhấp vào biểu tượng ba dấu chấm trong cột
Actions
- Nhấp vào Thay đổi thông tin thanh toán
- Chọn tài khoản thanh toán mà bạn muốn sử dụng
- Nhấp vào biểu tượng ba dấu chấm trong cột
- Nếu bạn đang tham dự một sự kiện trực tiếp, tài khoản đó có thể có tên là Tài khoản thanh toán dùng thử Google Cloud Platform
- Nếu dự án mới của bạn có nội dung
4. Kích hoạt và sử dụng tính năng Trợ lý trên đám mây của Gemini
Trong nhiệm vụ này, chúng ta sẽ kích hoạt và sử dụng tính năng Trợ lý trên đám mây của Gemini. Khi bạn làm việc trong Google Cloud Console, tính năng Trợ lý đám mây của Gemini có thể đưa ra lời khuyên, giúp bạn xây dựng, định cấu hình và theo dõi cơ sở hạ tầng Google Cloud, thậm chí có thể đề xuất các lệnh gcloud
và viết tập lệnh Terraform.
- Để kích hoạt tính năng Trợ lý trên đám mây, hãy nhấp vào hộp Tìm kiếm ở đầu giao diện người dùng Cloud Console rồi chọn Hỏi Gemini hoặc Hỏi Gemini về Cloud Console.
- Di chuyển đến phần API bắt buộc của trang rồi Bật API Gemini cho Google Cloud.
- Nếu bạn không thấy giao diện trò chuyện ngay lập tức, hãy nhấp vào Bắt đầu trò chuyện. Bắt đầu bằng cách yêu cầu Gemini giải thích một số lợi ích của việc sử dụng Trình chỉnh sửa Cloud Shell. Hãy dành vài phút để khám phá phản hồi đã tạo.
- Tiếp theo, hãy hỏi về các lợi ích của Trình tạo tác nhân và cách công cụ này có thể giúp tạo ra các câu trả lời tạo sinh.
- Cuối cùng, hãy xem xét một ví dụ so sánh. Trong cửa sổ trò chuyện Gemini của Google Cloud Console, hãy đặt câu hỏi sau:
What are the major steps to creating a search app grounded in a GCS data source using Vertex AI Agent builder?
5. Tạo ứng dụng tìm kiếm trong Vertex AI Agent Builder cho chatbot tư vấn nấu ăn
Trang web mà chúng ta đang xây dựng sẽ có một trang tư vấn nấu ăn chứa một chatbot được thiết kế để giúp người dùng tìm câu trả lời cho các câu hỏi liên quan đến việc nấu ăn. Ứng dụng này sẽ được Gemini cung cấp dựa trên một nguồn chứa 70 sách dạy nấu ăn thuộc phạm vi công cộng. Sách dạy nấu ăn sẽ đóng vai trò là nguồn đáng tin cậy mà Gemini sử dụng khi trả lời câu hỏi.
- Sử dụng hộp tìm kiếm Cloud Console để chuyển đến Vertex AI. Trên Trang tổng quan, hãy nhấp vào Bật tất cả API được đề xuất. Quá trình này có thể mất vài phút. Nếu bạn thấy một hộp bật lên về việc cần bật chính API Vertex AI, vui lòng Bật API đó. Sau khi bật các API, bạn có thể chuyển sang bước tiếp theo.
- Sử dụng tính năng tìm kiếm để chuyển đến Agent Builder (Trình tạo tác nhân), sau đó Tiếp tục và kích hoạt API.
- Như Gemini đã đề xuất trong phần tư vấn trước, việc tạo ứng dụng tìm kiếm trong Trình tạo tác nhân bắt đầu bằng việc tạo một nguồn dữ liệu đáng tin cậy. Khi người dùng tìm kiếm, Gemini sẽ hiểu câu hỏi và cách soạn câu trả lời thông minh, nhưng sẽ tìm thông tin được sử dụng trong câu trả lời đó trong nguồn có cơ sở, thay vì lấy từ kiến thức bẩm sinh của mình.Trên trình đơn bên trái, hãy chuyển đến Data Stores (Kho dữ liệu) và Create Data Store (Tạo kho dữ liệu).
- Sách dạy nấu ăn thuộc phạm vi công cộng mà chúng tôi đang sử dụng để xây dựng trang tư vấn nấu ăn hiện đang nằm trong một bộ chứa Cloud Storage trong một dự án bên ngoài. Chọn loại nguồn Cloud Storage.
- Kiểm tra nhưng không thay đổi các tuỳ chọn mặc định liên quan đến loại thông tin mà chúng ta đang nhập. Giữ nguyên loại nhập là Thư mục và sử dụng đường dẫn bộ chứa:
labs.roitraining.com/labs/old-cookbooks
, sau đó nhấp vào Tiếp tục. - Đặt tên cho kho dữ liệu:
old-cookbooks
. Nhấp vào CHỈNH SỬA rồi thay đổi mã nhận dạng thànhold-cookbooks-id
và Tạo kho dữ liệu.
Trình tạo Vertex AI Agent hỗ trợ một số loại ứng dụng và Kho dữ liệu đóng vai trò là nguồn đáng tin cậy cho từng loại ứng dụng. Ứng dụng tìm kiếm phù hợp để sử dụng chung và tìm kiếm. Ứng dụng trò chuyện dành cho các luồng tạo sinh trong các ứng dụng bot trò chuyện/bot thoại dựa trên luồng dữ liệu. Ứng dụng đề xuất giúp tạo ra các công cụ đề xuất hiệu quả hơn. Ngoài ra, ứng dụng Tác nhân dùng để tạo tác nhân do GenAI điều khiển. Cuối cùng, Agent có thể sẽ phục vụ chúng ta tốt nhất trong những việc chúng ta muốn làm, nhưng với sản phẩm đang được xem trước, chúng ta sẽ gắn bó với loại ứng dụng Tìm kiếm.
- Sử dụng trình đơn bên trái để chuyển đến Apps (Ứng dụng), sau đó nhấp vào Create A New App (Tạo ứng dụng mới).
- Nhấp vào Tạo trên thẻ Tìm kiếm trang web của bạn. Đặt tên cho ứng dụng là
cookbook-search
. Nhấp vào Chỉnh sửa rồi đặt mã ứng dụng thànhcookbook-search-id
. Đặt công ty thànhGoogle
rồi nhấp vào Tiếp tục. - Kiểm tra kho dữ liệu old-cookbooks mà bạn đã tạo vài bước trước và Tạo Ứng dụng tìm kiếm.
Nếu kiểm tra thẻ Hoạt động, bạn có thể thấy sách nấu ăn vẫn đang nhập và lập chỉ mục. Trình tạo tác nhân sẽ mất hơn 5 phút để lập chỉ mục hàng nghìn trang trong 70 cuốn sách dạy nấu ăn mà chúng ta đã cung cấp. Trong khi chờ quá trình này diễn ra, hãy tải và dọn dẹp một số dữ liệu cơ sở dữ liệu công thức nấu ăn cho trình tạo công thức nấu ăn của chúng ta.
6. Tải và dọn dẹp dữ liệu trong sổ tay Colab Enterprise nhờ sự trợ giúp của tính năng Gemini Code Assist
Google Cloud cung cấp một số cách chính để bạn có thể làm việc với sổ tay Jupyter. Chúng ta sẽ sử dụng sản phẩm mới nhất của Google, Colab Enterprise. Một số bạn có thể đã quen thuộc với sản phẩm Colab của Google. Sản phẩm này thường được các cá nhân và tổ chức muốn thử nghiệm với sổ tay Jupyter trong môi trường miễn phí sử dụng. Colab Enterprise là một sản phẩm thương mại của Google Cloud, được tích hợp đầy đủ với các sản phẩm đám mây còn lại của Google và tận dụng tối đa các tính năng bảo mật và tuân thủ của môi trường GCP.
Một trong những tính năng mà Colab Enterprise cung cấp là tích hợp với tính năng Hỗ trợ mã Gemini của Google. Bạn có thể sử dụng tính năng Hỗ trợ mã trong một số trình soạn thảo mã và tính năng này có thể đưa ra lời khuyên cũng như các đề xuất nội tuyến liền mạch trong khi bạn lập trình. Chúng ta sẽ tận dụng trợ lý tạo sinh này trong khi xử lý dữ liệu công thức nấu ăn.
- Sử dụng tính năng tìm kiếm để chuyển đến Colab Enterprise rồi nhấp vào Tạo sổ tay. Nếu bạn nhận được lời mời thử nghiệm các tính năng mới của Colab, hãy đóng lời mời đó. Để bắt đầu sử dụng thời gian chạy, sức mạnh điện toán đằng sau máy tính xách tay, hãy nhấp vào Kết nối ở góc trên bên phải của máy tính xách tay mới.
- Nhấp vào File (Tệp) > Rename (Đổi tên) để đổi tên sổ tay thành
Data Wrangling
. - Nhấp vào + Văn bản để tạo một hộp văn bản mới, rồi sử dụng mũi tên lên để di chuyển hộp văn bản đó thành ô đầu tiên trên trang.
- Chỉnh sửa hộp văn bản rồi nhập:
# Data Wrangling Import the Pandas library
- Trong khối mã bên dưới khối văn bản bạn vừa tạo, hãy bắt đầu nhập
imp
và tính năng Trợ giúp mã Gemini sẽ đề xuất phần còn lại của lệnh nhập có màu xám. Nhấn phím tab để chấp nhận mục đề xuất.import pandas as pd
- Bên dưới hộp mã nhập, hãy tạo một hộp văn bản khác rồi nhập:
Create a Pandas DataFrame from: gs://labs.roitraining.com/labs/recipes/recipe_dataset.csv. View the first few records.
- Tạo và chỉnh sửa một khối mã khác. Một lần nữa, hãy bắt đầu nhập
df =
và kiểm tra mã do Trợ lý mã Gemini tạo. Nếu bạn thấy danh sách thả xuống tự động hoàn thành gồm các từ khoá Python trên đề xuất đã tạo, hãy nhấn phím thoát để xem mã đề xuất màu xám nhạt. Nhấn phím tab một lần nữa để chấp nhận đề xuất. Nếu đề xuất của bạn không chứa lệnh gọi hàmhead()
, hãy thêm lệnh gọi đó.df = pd.read_csv('gs://labs.roitraining.com/labs/recipes/recipe_dataset.csv') df.head()
- Nhấp vào ô mã đầu tiên (nơi bạn đã nhập Pandas) rồi sử dụng trình đơn Commands (Lệnh) hoặc bàn phím để chạy ô đã chọn. Trên bàn phím, tổ hợp phím shift+enter sẽ chạy ô và chuyển tiêu điểm sang ô tiếp theo, tạo một ô nếu cần. Chờ ô thực thi trước khi chuyển sang bước tiếp theo.LƯU Ý: Bạn sẽ thấy [ ] ở bên trái khi một ô chưa được thực thi. Trong khi một ô đang thực thi, bạn sẽ thấy một ảnh động đang quay và hoạt động. Sau khi ô hoàn tất, một con số sẽ xuất hiện, chẳng hạn như [13].
- Thực thi ô tải tệp CSV vào DataFrame. Chờ tệp tải và kiểm tra 5 hàng dữ liệu đầu tiên. Đây là dữ liệu công thức nấu ăn mà chúng ta sẽ tải vào BigQuery và cuối cùng sẽ sử dụng dữ liệu này để xây dựng trình tạo công thức nấu ăn.
- Tạo một khối mã mới và nhập nhận xét bên dưới. Sau khi nhập chú thích, hãy chuyển đến dòng mã tiếp theo và bạn sẽ nhận được đề xuất
df.columns
. Chấp nhận rồi chạy ô. Chúng tôi vừa chứng minh rằng bạn thực sự có hai lựa chọn để nhận trợ giúp từ tính năng Trợ giúp mã của Gemini trong sổ tay Jupyter: ô văn bản phía trên ô mã hoặc nhận xét bên trong chính ô mã đó. Các nhận xét bên trong các ô mã hoạt động tốt trong sổ tay Jupyter, nhưng phương pháp này cũng sẽ hoạt động trong mọi IDE khác hỗ trợ tính năng hỗ trợ mã Gemini của Google.# List the current DataFrame column names
- Hãy dọn dẹp một chút cột. Đổi tên cột
Unnamed: 0
thànhid
vàlink
thànhuri
. Sử dụng lựa chọn của bạn về câu lệnh > kỹ thuật mã để tạo mã, sau đó chạy ô khi bạn hài lòng.# Rename the column 'Unnamed: 0' to 'id' and 'link' to 'uri' df.rename(columns={'Unnamed: 0': 'id', 'link': 'uri'}, inplace=True)
- Xoá cột
source
vàNER
rồi sử dụnghead()
để xem vài hàng đầu tiên. Một lần nữa, hãy nhờ Gemini trợ giúp. Chạy hai dòng cuối cùng và kiểm tra kết quả.# Remove the source and NER columns df.drop(columns=['source', 'NER'], inplace=True) df.head()
- Hãy xem tập dữ liệu của chúng ta có bao nhiêu bản ghi. Xin nhắc lại, hãy bắt đầu bằng kỹ thuật nhắc bạn chọn và xem liệu bạn có thể yêu cầu Gemini giúp bạn tạo mã hay không.
# Count the records in the DataFrame df.shape # count() will also work
- 2,23 triệu bản ghi có thể là nhiều công thức hơn chúng ta có thời gian để xem. Quá trình lập chỉ mục trong Trình tạo tác nhân có thể sẽ mất quá nhiều thời gian cho bài tập hôm nay. Để có một giải pháp trung gian, hãy lấy mẫu 150.000 công thức nấu ăn và xử lý dữ liệu đó. Sử dụng phương pháp lời nhắc > mã để lấy mẫu và lưu trữ mẫu đó trong một DataFrame mới có tên là
dfs
(s cho nhỏ).# Sample out 150,000 records into a DataFrame named dfs dfs = df.sample(n=150000)
- Dữ liệu nguồn công thức của chúng ta đã sẵn sàng để tải vào BigQuery. Trước khi tải, hãy chuyển đến BigQuery và chuẩn bị một tập dữ liệu để lưu trữ bảng của chúng ta. Trong Google Cloud Console, hãy sử dụng Hộp tìm kiếm để chuyển đến BigQuery. Bạn có thể nhấp chuột phải vào BigQuery rồi mở trong một thẻ trình duyệt mới.
- Nếu chưa thấy, hãy mở bảng điều khiển Chat AI của Gemini bằng biểu tượng Gemini ở trên cùng bên phải của Cloud Console. Nếu bạn được yêu cầu bật lại API, hãy nhấn vào nút bật hoặc làm mới trang. Chạy câu lệnh:
What is a dataset used for in BigQuery?
Sau khi bạn khám phá câu hỏi phản hồi,How can I create a dataset named recipe_data using the Cloud Console?
Hãy so sánh kết quả với một vài bước sau. - Trong ngăn BigQuery Explorer (Trình khám phá BigQuery), hãy nhấp vào trình đơn View actions (Xem hành động) có biểu tượng ba dấu chấm bên cạnh mã dự án của bạn. Sau đó, hãy chọn Tạo tập dữ liệu.
- Cung cấp tập dữ liệu và mã nhận dạng của
recipe_data
. Để loại vị trí là Hoa Kỳ và Tạo tập dữ liệu. Nếu bạn nhận được lỗi cho biết tập dữ liệu đã tồn tại, bạn chỉ cần tiếp tục.Với tập dữ liệu đã tạo trong BigQuery, hãy chuyển về sổ tay và chèn dữ liệu. - Chuyển về sổ tay Data Wrangling (Xử lý dữ liệu) trong Colab Enterprise. Trong một ô mã mới, hãy tạo một biến có tên là
project_id
và sử dụng biến đó để lưu trữ mã dự án hiện tại của bạn. Hãy nhìn vào phía trên bên trái của các hướng dẫn này, bên dưới nút Kết thúc lớp học, bạn sẽ thấy mã dự án hiện tại. Bạn cũng có thể tìm thấy thông tin này trên trang chủ của Cloud Console nếu muốn. Chỉ định giá trị vào biếnproject_id
và chạy ô.# Create a variable to hold the current project_id project_id='YOUR_PROJECT_ID'
- Sử dụng phương pháp lời nhắc > mã để tạo một khối mã sẽ chèn DataFrame
dfs
vào một bảng có tênrecipes
trong tập dữ liệu mà chúng ta vừa tạorecipe_data
. Chạy ô.dfs.to_gbq(destination_table='recipe_data.recipes', project_id=project_id, if_exists='replace')
7. Tạo ứng dụng tìm kiếm trong Vertex AI Agent Builder cho trình tạo công thức nấu ăn
Tuyệt vời! Sau khi tạo bảng dữ liệu công thức, hãy sử dụng bảng này để xây dựng một nguồn dữ liệu cơ sở cho trình tạo công thức. Phương pháp chúng ta sẽ sử dụng sẽ tương tự như cách chúng ta đã làm cho chatbot nấu ăn. Chúng ta sẽ sử dụng Vertex AI Agent Builder để tạo một Data Store (Kho dữ liệu), sau đó sử dụng kho dữ liệu đó làm nguồn đáng tin cậy cho một Ứng dụng tìm kiếm.
Nếu muốn, bạn có thể yêu cầu Gemini trong Google Cloud Console nhắc bạn các bước để tạo ứng dụng tìm kiếm Agent Builder hoặc làm theo các bước được liệt kê bên dưới.
- Sử dụng tính năng Tìm kiếm để chuyển đến Trình tạo tác nhân. Mở Data Stores (Kho dữ liệu) và Create Data Store (Tạo kho dữ liệu). Lần này, hãy Chọn loại BigQuery Data Store.
- Trong ô lựa chọn bảng, hãy nhấn vào Browse (Duyệt qua) rồi tìm
recipes
. Chọn nút chọn bên cạnh bảng của bạn. Nếu bạn thấy các công thức từ các dự án qwiklabs-gcp-... khác, hãy nhớ Chọn công thức thuộc về bạn.LƯU Ý: Nếu bạn nhấp vàorecipes
thay vì chọn nút chọn bên cạnh, thao tác này sẽ mở một thẻ mới trong trình duyệt và đưa bạn đến trang tổng quan về bảng trong BigQuery. Bạn chỉ cần đóng thẻ trình duyệt rồi chọn nút chọn trong Trình tạo tác nhân. - Kiểm tra nhưng không thay đổi các tuỳ chọn mặc định còn lại, sau đó Tiếp tục.
- Trên trang xem xét giản đồ, hãy kiểm tra các cấu hình mặc định ban đầu nhưng không thay đổi bất kỳ nội dung nào. Tiếp tục
- Đặt tên cho kho dữ liệu là
recipe-data
. Chỉnh sửa mã nhận dạng kho dữ liệu rồi đặt thànhrecipe-data-id
. Tạo Kho dữ liệu. - Chuyển đến Apps (Ứng dụng) bằng trình đơn điều hướng bên trái rồi chọn Create A New App (Tạo ứng dụng mới).
- Nhấp vào Tạo trên thẻ Tìm kiếm trang web của bạn. Đặt tên ứng dụng là
recipe-search
rồi nhấp vào EDIT (CHỈNH SỬA) để đặt mã nhận dạng thànhrecipe-search-id
. Đặt tên công ty thànhGoogle
rồi Tiếp tục. - Lần này, hãy kiểm tra nguồn dữ liệu recipe-data. Tạo ứng dụng.
Sẽ mất một khoảng thời gian để bảng cơ sở dữ liệu của chúng ta lập chỉ mục. Trong khi chờ đợi, hãy thử nghiệm với Data Canvas mới của BigQuery và xem liệu chúng ta có thể tìm thấy một hoặc hai công thức thú vị hay không.
- Sử dụng hộp tìm kiếm để chuyển đến BigQuery. Ở đầu BigQuery Studio, hãy nhấp vào mũi tên xuống bên cạnh thẻ ở ngoài cùng bên phải rồi chọn Bảng điều khiển dữ liệu. Đặt khu vực thành us-central1.
- Nhấp vào Tìm kiếm dữ liệu. Trong hộp tìm kiếm của Canvas dữ liệu, hãy tìm
recipes
, nhấnEnter/Return
để tìm kiếm rồi nhấp vào nút Thêm vào canvas bên cạnh tên bảng. - Bảng minh hoạ công thức nấu ăn của bạn sẽ được tải vào canvas Dữ liệu BigQuery. Bạn có thể khám phá giản đồ của bảng, xem trước dữ liệu trong bảng và kiểm tra các thông tin chi tiết khác. Bên dưới phần trình bày bảng, hãy nhấp vào Truy vấn.
- Canvas sẽ tải một hộp thoại truy vấn BigQuery tương đối thông thường, với một điểm khác biệt: phía trên cửa sổ truy vấn là một hộp văn bản mà bạn có thể sử dụng để yêu cầu Gemini trợ giúp. Hãy xem chúng ta có thể tìm thấy một số công thức làm bánh trong mẫu hay không. Chạy lời nhắc sau (bằng cách nhập văn bản và nhấn
Enter/Return
để kích hoạt quá trình tạo SQL):Please select the title and ingredients for all the recipes with a title that contains the word cake.
- Xem SQL được tạo. Khi đã hài lòng, hãy Chạy truy vấn.
- Không tệ lắm! Bạn có thể thử nghiệm với một vài câu lệnh và cụm từ tìm kiếm khác trước khi tiếp tục. Khi thử nghiệm, hãy thử sử dụng các câu lệnh ít cụ thể hơn để xem câu lệnh nào hiệu quả và câu lệnh nào không hiệu quả. Ví dụ: câu lệnh sau:
(Đừng quên chạy truy vấn mới) Trả về danh sách các công thức nấu món ớt nhưng bỏ qua các nguyên liệu cho đến khi tôi sửa đổi thành:Do I have any chili recipes?
(Có, tôi nói "vui lòng" khi đưa ra lời nhắc. Mẹ tôi sẽ rất tự hào.) Tôi nhận thấy một công thức nấu món ớt có chứa nấm, nhưng ai muốn ăn nấm trong món ớt? Tôi đã yêu cầu Gemini giúp loại trừ những công thức nấu ăn đó.Do I have any chili recipes? Please include their title and ingredients.
Do I have any chili recipes? Please include their title and ingredients, and ignore any recipes with mushrooms as an ingredient.
8. Mở Trình chỉnh sửa Cloud Shell
- Chuyển đến Trình chỉnh sửa Cloud Shell
- Nếu cửa sổ dòng lệnh không xuất hiện ở cuối màn hình, hãy mở cửa sổ đó:
- Nhấp vào trình đơn có biểu tượng ba dấu gạch ngang
- Nhấp vào Terminal (Thiết bị đầu cuối)
- Nhấp vào New Terminal (Thiết bị đầu cuối mới)
- Nhấp vào trình đơn có biểu tượng ba dấu gạch ngang
- Trong dòng lệnh, hãy thiết lập dự án bằng lệnh sau:
- Định dạng:
gcloud config set project [PROJECT_ID]
- Ví dụ:
gcloud config set project lab-project-id-example
- Nếu bạn không nhớ mã dự án của mình:
- Bạn có thể liệt kê tất cả mã dự án bằng:
gcloud projects list | awk '/PROJECT_ID/{print $2}'
- Bạn có thể liệt kê tất cả mã dự án bằng:
- Định dạng:
- Nếu bạn được nhắc uỷ quyền, hãy nhấp vào Uỷ quyền để tiếp tục.
- Bạn sẽ thấy thông báo này:
Nếu bạn thấyUpdated property [core/project].
WARNING
và được hỏiDo you want to continue (Y/N)?
, thì có thể bạn đã nhập không chính xác mã dự án. NhấnN
, nhấnEnter
rồi thử chạy lại lệnhgcloud config set project
.
9. Bật API
Trong dòng lệnh, hãy bật các API:
gcloud services enable \
compute.googleapis.com \
sqladmin.googleapis.com \
run.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
networkconnectivity.googleapis.com \
servicenetworking.googleapis.com \
cloudaicompanion.googleapis.com
Nếu bạn được nhắc uỷ quyền, hãy nhấp vào Uỷ quyền để tiếp tục.
Quá trình thực thi lệnh này có thể mất vài phút, nhưng cuối cùng sẽ tạo ra một thông báo thành công tương tự như sau:
Operation "operations/acf.p2-73d90d00-47ee-447a-b600" finished successfully.
10. Xác định ứng dụng web Python và Streamlit cốt lõi, với một chút trợ giúp của Gemini
Khi cả hai kho dữ liệu của Vertex AI Agent Builder đều đã lập chỉ mục và ứng dụng tìm kiếm của chúng ta sắp ra mắt, hãy bắt tay vào xây dựng ứng dụng web.
Chúng ta sẽ tận dụng tính năng Hỗ trợ lập trình của Gemini trong quá trình làm việc. Để biết thêm thông tin về cách sử dụng tính năng Trợ giúp lập trình Gemini trong Visual Studio Code, hãy xem tài liệu tại đây
- Trong dòng lệnh của Trình chỉnh sửa Cloud Shell, hãy chạy lệnh này để nhân bản kho lưu trữ ứng dụng công thức nấu ăn.
git clone https://github.com/haggman/recipe-app
- Điều chỉnh lệnh này để mở thư mục ứng dụng trong Trình chỉnh sửa Cloud Shell.
cloudshell open-workspace recipe-app/
- Trước khi khám phá thư mục được nhân bản và bắt đầu làm việc trên ứng dụng web, chúng ta cần đăng nhập trình bổ trợ Cloud Code của trình chỉnh sửa vào Google Cloud và bật Gemini. Hãy thực hiện ngay. Ở dưới cùng bên trái của trình chỉnh sửa, hãy nhấp vào Cloud Code – Sign in (Mã trên đám mây – Đăng nhập). Nếu bạn không thấy đường liên kết, hãy đợi một phút rồi kiểm tra lại.
- Cửa sổ dòng lệnh sẽ hiển thị một URL dài. Mở URL trong trình duyệt và làm theo các bước để cấp quyền truy cập vào môi trường Google Cloud cho Cloud Code. Trong hộp thoại cuối cùng, hãy Sao chép mã xác minh rồi dán lại vào cửa sổ dòng lệnh đang chờ trong thẻ trình duyệt của Trình chỉnh sửa Cloud Shell.
- Sau vài phút, đường liên kết đến Cloud Code ở dưới cùng bên trái của trình chỉnh sửa sẽ thay đổi thành Cloud Code – No Project (Mã trên đám mây – Không có dự án). Nhấp vào đường liên kết mới để chọn một dự án. Bảng lệnh sẽ mở ra ở đầu trình chỉnh sửa. Nhấp vào Chọn một dự án trong Google Cloud rồi chọn dự án của bạn. Sau vài phút, đường liên kết ở dưới cùng bên trái của trình chỉnh sửa sẽ cập nhật để hiển thị mã dự án của bạn. Điều này cho biết rằng bạn đã đính kèm thành công Mã trên đám mây vào dự án đang hoạt động của mình.
- Giờ đây, khi Cloud Code đã kết nối với dự án, bạn có thể kích hoạt tính năng Trợ giúp lập trình của Gemini. Ở dưới cùng bên phải của giao diện trình chỉnh sửa, hãy nhấp vào biểu trưng Gemini bị gạch chéo. Ngăn Gemini Chat sẽ mở ra ở bên trái của trình chỉnh sửa. Nhấp vào Chọn một dự án trên Google Cloud. Khi bảng lệnh mở ra, hãy chọn dự án của bạn. Nếu đã làm theo các bước một cách chính xác (và Google không thay đổi gì), thì giờ đây, bạn sẽ thấy một cửa sổ trò chuyện Gemini đang hoạt động.
- Tuyệt vời! Sau khi thiết lập xong các cấu hình của thiết bị đầu cuối, tính năng trò chuyện trên Gemini và Cloud Code, hãy mở thẻ Explorer (Trình khám phá) và dành vài phút để khám phá các tệp trong dự án hiện tại.
- Trong Explorer, hãy mở tệp
requirements.txt
để chỉnh sửa. Chuyển sang ngăn trò chuyện Gemini rồi hỏi:From the dependencies specified in the requirements.txt file, what type of application are we building?
- Vì vậy, chúng ta đang xây dựng một ứng dụng web tương tác bằng Python và Streamlit, ứng dụng này sẽ tương tác với Vertex AI và công cụ Khám phá. Hiện tại, hãy tập trung vào các thành phần ứng dụng web. Theo Gemini, Streamlit là một khung để xây dựng các ứng dụng web dựa trên dữ liệu bằng Python. Bây giờ, hãy hỏi:
Đây là nơi Gemini thường gặp vấn đề. Gemini có thể truy cập vào tệp bạn đang mở trong trình chỉnh sửa, nhưng không thể xem toàn bộ dự án. Hãy thử hỏi như sau:Does the current project's folder structure seem appropriate for a Streamlit app?
Bạn có câu trả lời chính xác hơn?Given the below, does the current project's file and folder structure seem appropriate for a Streamlit app? - build.sh - Home.py - requirements.txt - pages -- Cooking_Advice.py -- Recipe_Search.py
- Hãy tìm hiểu thêm một số thông tin về Streamlit:
Tuyệt vời, chúng ta có thể thấy Gemini đang cung cấp cho chúng ta một thông tin tổng quan tuyệt vời bao gồm cả ưu và khuyết điểm.What can you tell me about Streamlit?
- Nếu muốn tìm hiểu về những điểm bất lợi, bạn có thể hỏi:
Xin lưu ý rằng chúng ta không cần phải nói "của Streamlit" vì Gemini Chat là cuộc trò chuyện (nhiều lượt). Gemini biết chúng ta đang nói về điều gì vì chúng ta đang ở trong một phiên trò chuyện. Nếu bạn muốn xoá toàn bộ nhật ký trò chuyện trên Gemini, hãy sử dụng biểu tượng thùng rác ở đầu cửa sổ trò chuyện về mã Gemini.What are the major downsides or shortcomings?
11. Triển khai ứng dụng web lên Cloud Run
Tuyệt vời, chúng ta đã có cấu trúc ứng dụng cốt lõi, nhưng liệu tất cả có hoạt động không? Tốt hơn nữa, chúng ta nên lưu trữ ứng dụng này ở đâu trong Google Cloud?
- Trong cửa sổ trò chuyện của Gemini, hãy hỏi:
If I containerize this application, what compute technologies in Google Cloud would be best for hosting it?
- Hãy nhớ rằng nếu chưa làm việc trong IDE, bạn cũng có thể sử dụng Google Cloud Assist. Mở Google Cloud Console, sau đó mở Gemini Cloud Assist và hỏi:
Hai bộ lời khuyên có giống nhau không? Bạn có đồng ý/không đồng ý với lời khuyên nào không? Hãy nhớ rằng Gemini là một trợ lý AI tạo sinh và giống như một trợ lý con người, bạn không phải lúc nào cũng đồng ý với mọi điều mà Gemini nói. Tuy nhiên, việc luôn có trình trợ giúp đó bên cạnh khi bạn làm việc trong Google Cloud và trong trình soạn thảo mã có thể giúp bạn làm việc hiệu quả hơn nhiều.If I have a containerized web application, where would be the best place to run it in Google Cloud?
- Đối với ứng dụng web dạng vùng chứa có thời gian tồn tại ngắn và không có trạng thái, Cloud Run sẽ là một lựa chọn tuyệt vời. Trong cửa sổ trò chuyện Gemini của trình soạn thảo mã, hãy thử câu lệnh sau:
What steps would be required to run this application in Cloud Run?
- Có vẻ như việc đầu tiên chúng ta cần làm là tạo một Dockerfile. Sử dụng trình chỉnh sửa, hãy tạo một tệp có tên là
Dockerfile
trong thư mục gốc của dự án. Hãy đảm bảo bạn không vô tình đặt tệp đó vào thư mục pages (trang). Mở tệp để chỉnh sửa. - Hãy sử dụng bảng điều khiển trò chuyện Gemini bên để tạo Dockerfile. Sử dụng câu lệnh như bên dưới. Khi kết quả xuất hiện trong cuộc trò chuyện, hãy sử dụng biểu tượng + bên cạnh biểu tượng sao chép ngay phía trên Dockerfile được đề xuất để chèn mã được đề xuất vào Dockerfile.
Gemini không phải lúc nào cũng trả về cùng một câu trả lời cho cùng một câu lệnh. Lần đầu tiên tôi yêu cầu Gemini tạo một Dockerfile, tôi đã nhận được tệp chính xác mà tôi sẽ đề xuất bạn sử dụng. Tôi vừa nhận được đề xuất:Create a Dockerfile for the application in the current folder. The dependencies are defined in requirements.txt and I want you to use the Python 3 slim bookworm base image.
Đây là một tệp Dockerfile rất lớn. Tôi sẽ đơn giản hoá một chút. Chúng ta không cần phần apt-get vì mọi thứ cần thiết cho Python đều đã có trong hình ảnh cơ sở. Ngoài ra, việc sử dụng môi trường ảo trong vùng chứa Python sẽ lãng phí không gian, vì vậy, tôi sẽ xoá môi trường đó. Bạn không nhất thiết phải sử dụng lệnh hiển thị, nhưng cũng không sao. Ngoài ra, nó đang cố gắng khởi động main.py mà tôi không có.# Base image FROM python:3-bookworm-slim # Set working directory WORKDIR /app # Install dependencies RUN apt-get update && apt-get install -y \ build-essential \ libpq-dev \ gcc \ python3-dev \ && rm -rf /var/lib/apt/lists/* # Install pip and virtualenv RUN pip install --upgrade pip virtualenv # Create virtual environment RUN python3 -m venv venv # Activate virtual environment WORKDIR /app/venv/bin RUN . activate # Install Streamlit and libraries from requirements.txt RUN pip install -r requirements.txt # Copy application files COPY . /app # Expose port 8501 for Streamlit EXPOSE 8501 # Start Streamlit app CMD ["streamlit", "run", "main.py"]
- Trong thư mục
recipe-app
, hãy tạo một tệp có tên làDockerfile
rồi dán các nội dung sau:FROM python:3.11-slim-bookworm WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt COPY . . CMD ["streamlit", "run", "Home.py"]
- Gemini có thể hoạt động thông qua cửa sổ trò chuyện, nhưng cũng có thể hoạt động trực tiếp trong tệp mã của bạn bằng cách sử dụng các nhận xét, như chúng ta đã sử dụng trong sổ tay Data Wrangling (Xử lý dữ liệu). Bạn cũng có thể gọi Gemini bằng cách sử dụng tổ hợp phím Command+i/Control+i thích hợp. Nhấp vào vị trí bất kỳ trong
Dockerfile
, kích hoạt Gemini bằng lệnh Command+i/Control+i thích hợp. - Khi được nhắc, hãy nhập nội dung bên dưới. Kiểm tra và Chấp nhận thay đổi.
Thật tuyệt vời! Bạn đã phải làm việc với mã của người khác bao nhiêu lần, chỉ để lãng phí thời gian tìm hiểu cơ bản về công việc không có chú thích của họ trước khi có thể bắt đầu thực hiện các thay đổi. Gemini sẽ giúp bạn giải quyết vấn đề này!Please comment the current file.
- Bây giờ, hãy hỏi Gemini cách sử dụng Cloud Run để tạo và triển khai một hình ảnh mới có tên
recipe-web-app
từ Dockerfile trong thư mục hiện tại.How could I use gcloud to build a new Cloud Run service named recipe-web-app from the current directory?
- Hãy tạo và triển khai ứng dụng của chúng ta. Trong cửa sổ dòng lệnh, hãy thực thi lệnh
gcloud run deploy
Nếu bạn thấy lời nhắc yêu cầu tạo kho lưu trữ Cấu phần phần mềm, hãy nhấngcloud run deploy recipe-web-app \ --allow-unauthenticated \ --source=. \ --region=us-central1 \ --port=8501
enter/return
Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named cloud-run-source-deploy in region us-central1 will be created. Do you want to continue (Y/n)?
- Nếu bạn theo dõi quy trình xây dựng, trước tiên, quy trình này sẽ tạo kho lưu trữ docker của Registry Artifact. Sau đó, công cụ này sử dụng Cloud Build để tạo hình ảnh vùng chứa từ Dockerfile trong thư mục cục bộ. Cuối cùng, hình ảnh docker sẽ được triển khai vào một dịch vụ Cloud Run mới. Ở cuối tập lệnh, bạn sẽ thấy một URL kiểm thử Cloud Run để sử dụng.
Mở đường liên kết được trả về trong một thẻ mới của trình duyệt. Hãy dành chút thời gian để khám phá cấu trúc và các trang của ứng dụng. Tuyệt vời, giờ chúng ta cần thêm chức năng AI tạo sinh.
12. Kết nối trang Cooking Advice với ứng dụng Trình tạo tác nhân tìm kiếm sách nấu ăn
Chúng ta đã có khung cho ứng dụng web đang chạy, nhưng cần kết nối hai trang công việc với hai ứng dụng tìm kiếm của Trình tạo tác nhân Vertex AI. Hãy bắt đầu với Cooking Advice.
- Để thẻ Trình chỉnh sửa Cloud Shell mở. Trong Google Cloud Console, hãy sử dụng tính năng tìm kiếm để chuyển đến mục Chat trong Vertex AI.
- Trong ngăn trang cài đặt bên phải, hãy đặt mô hình thành gemini-1.5-flash-002. Kéo giới hạn mã thông báo đầu ra lên mức tối đa để mô hình có thể trả về câu trả lời dài hơn nếu cần. Mở phần Cài đặt bộ lọc an toàn. Đặt chế độ Lời nói hận thù, Nội dung khiêu dâm và Nội dung quấy rối thành Chặn một số. Đặt chế độ Nội dung nguy hiểm thành Chặn một số rồi Lưu. Chúng tôi sẽ đặt mức độ nguy hiểm thấp hơn một chút vì Gemini có thể hiểu nhầm nội dung nói về dao và cắt là nội dung bạo lực.
- Vuốt nút bật/tắt để bật tính năng Đặt nền, rồi nhấp vào Tuỳ chỉnh. Đặt nguồn liên kết thực tế thành Tìm kiếm Vertex AI và sử dụng đường dẫn kho dữ liệu sau. Thay đổi YOUR_PROJECT_ID thành mã dự án nằm gần nút End Lab (Kết thúc lớp học) trong hướng dẫn này, sau đó Save (Lưu) chế độ cài đặt nối đất
LƯU Ý: Nếu gặp lỗi, thì có thể bạn chưa thay đổi mã dự án thành mã dự án thực tế hoặc bạn có thể đã bỏ lỡ bước thay đổi mã cửa hàng dữ liệu của Trình tạo tác nhân sách dạy nấu ăn cũ. Kiểm tra Trình tạo tác nhân > Kho dữ liệu > old-cookbooks để biết mã nhận dạng Kho dữ liệu thực tế.projects/YOUR_PROJECT_ID/locations/global/collections/default_collection/dataStores/old-cookbooks-id
- Kiểm thử một vài tin nhắn trò chuyện. Có thể bạn nên bắt đầu với những thông tin bên dưới. Hãy thử một vài cách khác nếu bạn muốn.
How can I tell if a tomato is ripe?
- Mô hình đã hoạt động, giờ hãy thử nghiệm với mã. Nhấp vào Xoá cuộc trò chuyện để các cuộc trò chuyện của chúng ta không trở thành một phần của mã, sau đó nhấp vào Nhận mã.
- Ở đầu cửa sổ mã, hãy nhấn vào Open Notebook (Mở sổ tay) để chúng ta có thể thử nghiệm và hoàn thiện mã trong Colab Enterprise trước khi tích hợp mã đó vào ứng dụng.
- Hãy dành vài phút để làm quen với đoạn mã này. Hãy thực hiện một vài thay đổi để điều chỉnh cho phù hợp với những gì chúng ta muốn. Trước khi bắt đầu, hãy chạy ô mã đầu tiên để kết nối với máy tính và cài đặt SDK Nền tảng AI. Sau khi khối chạy, bạn sẽ được nhắc khởi động lại phiên. Hãy tiếp tục làm như vậy.
- Chuyển sang mã mà chúng ta đã lấy từ Vertex AI Studio. Thay đổi tên phương thức multiturn_generate_content thành
start_chat_session
. - Cuộn đến lệnh gọi phương thức
model = GenerativeModel(
. Mã hiện tại xác địnhgeneration_config
vàsafety_settings
nhưng không thực sự sử dụng các lớp này. Sửa đổi quá trình tạoGenerativeModel
để tương tự như sau:model = GenerativeModel( "gemini-1.5-flash-002", tools=tools, generation_config=generation_config, safety_settings=safety_settings, )
- Cuối cùng, hãy thêm một dòng cuối cùng vào phương thức, ngay bên dưới
chat = model.start_chat()
, để hàm trả về đối tượngchat
. Hàm hoàn chỉnh sẽ có dạng như bên dưới.LƯU Ý: ĐỪNG SAO CHÉP mã này vào sổ tay. Phương thức này chỉ ở đây để kiểm tra tính hợp lệ.def start_chat_session(): vertexai.init(project="qwiklabs-gcp-02-9a7298ceaaec", location="us-central1") tools = [ Tool.from_retrieval( retrieval=grounding.Retrieval( source=grounding.VertexAISearch(datastore="projects/qwiklabs-gcp-02-9a7298ceaaec/locations/global/collections/default_collection/dataStores/old-cookbooks-id"), ) ), ] model = GenerativeModel( "gemini-1.5-flash-002", tools=tools, generation_config=generation_config, safety_settings=safety_settings, ) chat = model.start_chat() return chat
- Di chuyển xuống cuối ô mã và thay đổi dòng cuối cùng gọi hàm cũ để hàm này gọi tên hàm mới và lưu trữ đối tượng được trả về trong biến
chat
. Khi bạn đã hài lòng với các thay đổi, hãy chạy ô.chat = start_chat_session()
- Tạo một ô mã mới và thêm nhận xét
# Use chat to invoke Gemini and print out the response
. Chuyển đến dòng tiếp theo rồi nhậpresp
. Gemini sẽ tự động hoàn tất khối cho bạn. Cập nhật lời nhắc thànhHow can I tell if a tomato is ripe?
. Chạy ôresponse = chat.send_message("How can I tell if a tomato is ripe?") print(response)
- Đó là phản hồi, nhưng phần chúng ta thực sự muốn là trường
text
lồng nhau đó. Sửa đổi khối mã để chỉ in phần đó, chẳng hạn như:response = chat.send_message("How can I tell if a tomato is ripe?") print(response.candidates[0].content.parts[0].text)
- Tốt, giờ đây khi đã có mã trò chuyện hoạt động, hãy tích hợp mã đó vào ứng dụng web của chúng ta. Sao chép tất cả nội dung của ô mã tạo hàm
start_chat_session
(chúng ta sẽ không cần ô kiểm thử). Nếu nhấp vào ô, bạn có thể nhấp vào trình đơn ba dấu chấm ở góc trên bên phải rồi sao chép từ đó - Chuyển sang thẻ Trình chỉnh sửa Cloud Shell và mở
pages\Cooking_Advice.py
để chỉnh sửa. - Tìm bình luận:
# # Add the code you copied from your notebook below this message #
- Dán mã đã sao chép ngay bên dưới chú thích Thêm mã. Tuyệt vời, giờ đây chúng ta có phần điều khiển công cụ trò chuyện thông qua lệnh gọi cơ sở đến Gemini. Bây giờ, hãy tích hợp ứng dụng này vào Streamlit.
- Tìm phần mã có chú thích ngay bên dưới chú thích:
# # Here's the code to setup your session variables # Uncomment this block when instructed #
- Bỏ ghi chú phần mã này (cho đến phần
Setup done, let's build the page UI
tiếp theo) và khám phá phần mã đó. Phương thức này tạo hoặc truy xuất các biến phiên trò chuyện và nhật ký. - Tiếp theo, chúng ta cần tích hợp chức năng nhật ký và trò chuyện vào giao diện người dùng. Di chuyển trong mã cho đến khi bạn tìm thấy nhận xét bên dưới.
# # Here's the code to create the chat interface # Uncomment the below code when instructed #
- Bỏ ghi chú phần còn lại của mã bên dưới chú thích và dành chút thời gian để khám phá mã đó. Nếu bạn muốn, hãy làm nổi bật mục đó và yêu cầu Gemini giải thích chức năng của mục đó.
- Tuyệt vời, giờ hãy tạo ứng dụng và triển khai ứng dụng đó. Khi URL trở lại, hãy chạy ứng dụng và thử trang Cooking Advisor. Bạn có thể hỏi về cà chua chín hoặc bot biết cách chế biến bông cải Brussels.
gcloud run deploy recipe-web-app \ --allow-unauthenticated \ --source=. \ --region=us-central1 \ --port=8501
Thật tuyệt vời! Chuyên gia tư vấn nấu ăn bằng AI dành riêng cho bạn :-)
13. (Không bắt buộc) Kết nối trang Tìm kiếm công thức với ứng dụng Trình tạo tác nhân tìm kiếm công thức
Khi kết nối trang Cooking Advice với nguồn đáng tin cậy, chúng tôi đã trực tiếp sử dụng API Gemini. Đối với tính năng Tìm kiếm công thức nấu ăn, hãy kết nối trực tiếp với ứng dụng tìm kiếm Vertex AI Agent Builder.
- Trong Trình chỉnh sửa Cloud Shell, hãy mở trang
pages/Recipe_Search.py
để chỉnh sửa. Kiểm tra cấu trúc của trang. - Ở đầu tệp, hãy đặt mã dự án.
- Kiểm tra hàm
search_sample
. Mã này ít nhiều được lấy trực tiếp từ tài liệu về Công cụ khám phá tại đây. Bạn có thể tìm thấy một bản sao đang hoạt động trong sổ tay này tại đây.Thay đổi duy nhất tôi thực hiện là trả vềresponse.results
thay vì chỉ trả về kết quả. Nếu không có thuộc tính này, loại dữ liệu trả về sẽ là một đối tượng được thiết kế để phân trang qua các kết quả. Đây là điều chúng ta không cần cho ứng dụng cơ bản. - Di chuyển đến cuối tệp và bỏ ghi chú toàn bộ phần bên dưới
Here are the first 5 recipes I found
. - Đánh dấu toàn bộ phần bạn vừa bỏ ghi chú và mở cuộc trò chuyện về Mã Gemini. Hỏi,
Explain the highlighted code
. Nếu bạn không chọn gì cả, Gemini có thể giải thích toàn bộ tệp. Nếu bạn đánh dấu một phần và yêu cầu Gemini giải thích, nhận xét hoặc cải thiện phần đó, Gemini sẽ làm như vậy.Hãy dành chút thời gian để đọc phần giải thích. Sổ tay Colab Enterprise là một cách tuyệt vời để khám phá các API Gemini trước khi bạn tích hợp các API đó vào ứng dụng của mình. Điều này đặc biệt hữu ích khi khám phá một số API mới hơn có thể chưa được ghi nhận đầy đủ. - Trong cửa sổ dòng lệnh của trình chỉnh sửa, hãy chạy
build.sh
để triển khai ứng dụng hoàn thiện. Chờ cho đến khi phiên bản mới được triển khai rồi mới chuyển sang bước tiếp theo.
14. (Không bắt buộc) Khám phá ứng dụng hoàn thiện
Hãy dành vài phút để khám phá ứng dụng hoàn thiện.
- Trong Google Cloud Console, hãy sử dụng tính năng tìm kiếm để chuyển đến
Cloud Run
, sau đó nhấp vào recipe-web-app. - Tìm URL kiểm thử ứng dụng (ở phía trên cùng) rồi mở URL đó trong một thẻ trình duyệt mới.
- Trang chủ của ứng dụng sẽ xuất hiện. Lưu ý bố cục và điều hướng cơ bản do Streamlit cung cấp, với các tệp python trong thư mục
pages
hiển thị dưới dạng lựa chọn điều hướng vàHome.py
được tải dưới dạng trang chủ. Chuyển đến trang Thông tin tư vấn nấu ăn. - Sau vài phút, giao diện trò chuyện sẽ xuất hiện. Xin nhắc lại, hãy lưu ý bố cục cốt lõi đẹp mắt do Streamlit cung cấp.
- Hãy thử một vài câu hỏi liên quan đến việc nấu ăn và xem cách hoạt động của bot. Chẳng hạn như:
Do you have any advice for preparing broccoli? How about a classic chicken soup recipe? Tell me about meringue.
- Bây giờ, hãy tìm một hoặc hai công thức nấu ăn. Chuyển đến trang Tìm kiếm công thức nấu ăn và thử tìm kiếm một vài công thức. Chẳng hạn như:
Chili con carne Chili, corn, rice Lemon Meringue Pie A dessert containing strawberries
15. Xin chúc mừng!
Bạn đã tạo một ứng dụng tận dụng các ứng dụng Trình tạo tác nhân Vertex AI. Trong quá trình này, bạn đã khám phá tính năng Gemini Cloud Assist, Gemini Code Assist và tính năng chuyển đổi ngôn ngữ tự nhiên sang SQL của BigQuery Data Canvas. Thật tuyệt vời!
Dọn dẹp
Cloud SQL không có cấp miễn phí và sẽ tính phí nếu bạn tiếp tục sử dụng. Bạn có thể xoá dự án trên Google Cloud để tránh bị tính thêm phí.
Mặc dù Cloud Run không tính phí khi bạn không sử dụng dịch vụ, nhưng bạn vẫn có thể phải trả phí để lưu trữ hình ảnh vùng chứa trong CSDL cấu phần phần mềm. Việc xoá dự án trên Google Cloud sẽ dừng tính phí cho tất cả tài nguyên được sử dụng trong dự án đó.
Nếu bạn muốn, hãy xoá dự án:
gcloud projects delete $GOOGLE_CLOUD_PROJECT
Bạn cũng nên xoá các tài nguyên không cần thiết khỏi ổ đĩa cloudshell. Bạn có thể:
- Xoá thư mục dự án của lớp học lập trình:
rm -rf ~/task-app
- Cảnh báo! Bạn không thể huỷ thao tác tiếp theo! Nếu muốn xoá mọi thứ trên Cloud Shell để giải phóng dung lượng, bạn có thể xoá toàn bộ thư mục gốc. Hãy lưu mọi thứ bạn muốn giữ lại ở nơi khác.
sudo rm -rf $HOME