1. Trước khi bắt đầu
Lớp học lập trình tự học này sẽ hướng dẫn bạn cách tạo Tác nhân AI bằng Trình tạo tác nhân Vertex AI của Google Cloud. Mỗi bước sẽ làm nổi bật một tính năng cụ thể của Trình tạo tác nhân và giải thích mục đích của tính năng đó.
Điều kiện tiên quyết
- Hiểu biết cơ bản về AI tạo sinh trên Google Cloud
- Hiểu biết cơ bản về Các khái niệm về trợ lý AI
- Có kiến thức cơ bản về Gemini Code Assist (Không bắt buộc)
Kiến thức bạn sẽ học được
- Cách tạo một AI Agent đơn giản bằng Vertex AI Agent Builder
- Cách đặt nền tảng cho tác nhân đã tạo bằng cách đính kèm một kho dữ liệu
- Cách tích hợp AI Agent vào trang web của bạn(Không bắt buộc)
Bạn cần có
- Một tâm trí tò mò
- Máy tính hoạt động và Wi-Fi đáng tin cậy
- Một dự án trên Google Cloud có thông tin thanh toán được đính kèm.
Lưu ý: Nếu chưa có dự án trên Google Cloud, bạn có thể tạo một dự án bằng cách làm theo hướng dẫn. Bạn cũng có thể xem Các dịch vụ trong gói miễn phí của Google Cloud.
2. Thiết kế tác nhân AI đầu tiên
Giờ đây, bạn đã sẵn sàng tạo tác nhân AI của riêng mình. Tuy nhiên, trước khi bắt tay vào phát triển, bạn cần xác định rõ tầm nhìn cho tác nhân của mình. Hãy tự hỏi mình những câu hỏi chính sau:
- Tính năng này sẽ giải quyết vấn đề gì? Liệu công cụ này có tự động hoá các tác vụ, cung cấp thông tin, mang tính giải trí hay hỗ trợ khám phá sáng tạo không?
- Chức năng chính của công cụ này là gì? Liệu AI có thực hiện hoặc uỷ quyền các việc cần làm không? Công cụ này sẽ tạo văn bản hay tạo một tổ hợp gồm nhiều loại nội dung nghe nhìn?
- Hạn chế của mô hình này là gì? Liệu AI có thể tự làm mọi việc không?
- Nó nên có tính cách hoặc nhân cách nào? Giọng điệu sẽ trang trọng, không trang trọng, hài hước, hữu ích hay mang tính thông tin?
- Đâu là những chỉ số để đánh giá sự thành công? Bạn sẽ đo lường hiệu quả của tác nhân như thế nào?
Để đẩy nhanh quy trình, sau đây là câu trả lời cho những câu hỏi đó dành cho công ty du lịch mà bạn sẽ tạo hôm nay:
- Tính năng này sẽ giải quyết vấn đề gì?
- Việc lên kế hoạch cho một chuyến đi có thể tốn nhiều thời gian và khiến bạn cảm thấy quá tải. Công ty du lịch này sẽ giúp người dùng khám phá các điểm đến, lên kế hoạch cho hành trình, đặt vé máy bay và nơi lưu trú.
- Chức năng chính của công cụ này là gì?
- Nhân viên hỗ trợ phải có khả năng
- trả lời các câu hỏi về điểm đến, chẳng hạn như yêu cầu về thị thực
- lên kế hoạch cho hành trình phù hợp với lịch trình và mục tiêu của người dùng
- đặt vé máy bay và chỗ ở
- Hạn chế của mô hình này là gì?
- Theo mặc định, tác nhân có thể không trả lời được các câu hỏi phức tạp
- Trợ lý sẽ không thể tạo hình ảnh trực quan
- Kiến thức của nhân viên hỗ trợ sẽ bị giới hạn bởi mô hình cơ bản
- Nó nên có tính cách hoặc nhân cách nào?
- Nhân viên này phải có kiến thức, hữu ích và nhiệt tình về du lịch. Bạn phải có khả năng truyền đạt thông tin một cách rõ ràng và ngắn gọn.
- Đâu là những chỉ số để đánh giá sự thành công?
- Mức độ thành công của trợ lý này có thể được đo lường bằng mức độ hài lòng của người dùng với các đề xuất của trợ lý (khám phá, lập kế hoạch, đặt phòng)
3. Xây dựng một tác nhân AI bằng Vertex AI Agent Builder
Với Trình tạo tác nhân Vertex AI, bạn có thể tạo tác nhân AI chỉ trong vài bước.
Bước 1:
- Truy cập vào Vertex AI Agent Builder.
- Bạn sẽ thấy trang chào mừng.

- Nhấp vào nút TIẾP TỤC VÀ KÍCH HOẠT API.
Bước 2:
- Bạn sẽ được chuyển hướng đến trang Tạo ứng dụng.

- Nhấp vào nút TẠO MỘT ỨNG DỤNG MỚI.
Bước 3:
- Chọn Tác nhân đàm thoại rồi nhấp vào TẠO

Lưu ý:
- Sau khi bạn nhấp vào TẠO, một thẻ mới của Diaglogflow Conversational Agents (Trợ lý đàm thoại Diaglogflow) sẽ mở ra.
- Nếu hệ thống yêu cầu bạn chọn một dự án trên Google Cloud, vui lòng chọn dự án trên Google Cloud được liên kết với tài khoản gmail chính xác của bạn.
- Nếu bạn đang thực hiện lớp học này trong một tài khoản mới, thì tài khoản đó sẽ yêu cầu bạn bật API Dialogflow. Hãy nhấp vào Bật API để bật API này.

- Nếu nút này không hoạt động, bạn có thể bật nút theo cách thủ công bằng cách truy cập trực tiếp vào trang API .
- Trong trang Diaglogflow vừa mở, hãy nhấp vào Tạo tác nhân

- Giờ đây, bạn sẽ thấy một số lựa chọn để tạo một trợ lý ảo,hãy chọn Tự tạo.

Bước 4:
- Chọn một Tên hiển thị (ví dụ: Người bạn đồng hành du lịch)
- Đối với Vị trí, hãy chọn toàn cầu (Phục vụ trên toàn cầu, dữ liệu tĩnh ở Hoa Kỳ) làm Khu vực
- Giữ nguyên cấu hình khác, mặc định
- Nhấp vào nút TẠO

Bước 5:
- Chọn một Tên Playbook (ví dụ: Nhân viên thông tin)
- Thêm một Mục tiêu (ví dụ: Giúp khách hàng trả lời các câu hỏi liên quan đến du lịch)
- Xác định một Chỉ dẫn (ví dụ: Chào người dùng, sau đó hỏi xem bạn có thể giúp gì cho họ hôm nay)
- Nhấn vào Lưu sau khi hoàn tất mọi việc

Bước 6:
- Nhấp vào biểu tượng Bật/tắt trình mô phỏng

- Chọn tác nhân mà bạn vừa tạo (ví dụ: Tác nhân thông tin)
- Chọn mô hình AI tạo sinh cơ bản cho tác nhân của bạn (ví dụ: gemini-1.5-flash)
- Kiểm thử tác nhân bằng cách trò chuyện với tác nhân đó (tức là nhập nội dung vào hộp văn bản "Nhập dữ liệu đầu vào của người dùng")

Xin chúc mừng! Bạn vừa tạo thành công một AI Agent bằng Vertex AI Agent Builder.
4. Đính kèm Datastore vào Agent
Hãy thử hỏi Gemini về cách đến Wakanda (ví dụ: "Cách nào tốt nhất để đến Wakanda?"), bạn sẽ nhận được câu trả lời như sau:

Mặc dù điều này là chính xác, nhưng thay vì chỉ nói "Tôi không thể cung cấp thông tin" và kết thúc cuộc trò chuyện, sẽ hữu ích hơn cho người dùng nếu nhân viên đề xuất những địa điểm tương tự. Cách tiếp cận này có thể khiến người dùng thực sự đặt chuyến đi thông qua đại lý.
Để cho phép tác nhân đề xuất những địa điểm tương tự, bạn có thể cung cấp thêm thông tin cho tác nhân thông qua Datastore. Đây là một cơ sở kiến thức bổ sung để tác nhân tham khảo nếu không thể trả lời câu hỏi của người dùng dựa trên kiến thức tích hợp.
Lưu ý: Nếu bạn muốn đóng trình mô phỏng, hãy nhấp lại vào biểu tượng bật/tắt trình mô phỏng
Việc tạo một kho dữ liệu rất đơn giản, hãy nhấp vào nút + Kho dữ liệu ở cuối trang Thông tin cơ bản về tác nhân.

Điền các thông tin sau:
- Tên công cụ: Vị trí thay thế
- Loại: Kho dữ liệu
- Mô tả: Sử dụng công cụ này nếu yêu cầu của người dùng chứa một vị trí không tồn tại
Nhấp vào Lưu khi bạn đã hoàn tất.
Thao tác này sẽ tạo một công cụ lưu trữ dữ liệu để tác nhân giao tiếp với kho dữ liệu, nhưng bạn vẫn cần tạo một kho dữ liệu thực tế chứa thông tin. Để làm như vậy, hãy nhấp vào thêm kho dữ liệu và Tạo kho dữ liệu.


Sau khi nhấp vào Tạo kho dữ liệu mới, bạn sẽ được chuyển hướng đến trang trình tạo tác nhân Vertex AI như bên dưới
Chọn tuỳ chọn Bộ nhớ trên đám mây

Sau khi hoàn tất bước này,
- nhấp vào TỆP (Đây là bước rất quan trọng, nếu không, bạn sẽ không nhập được)
- nhập ai-workshops/agents/data/wakanda.txt
- nhấp vào TIẾP TỤC

Nếu bạn tò mò, đây là nội dung của tệp văn bản được cung cấp:
Places that are similar to Wakanda
- Oribi Gorge in South Africa: The rock formations here are reminiscent of the Warrior Falls in Wakanda.
- Iguazu Falls: Located on the border of Argentina and Brazil, these massive waterfalls were a major inspiration for the Warrior Falls.
- Immerse yourself in Wakandan culture: Read the Black Panther comics, watch the movies, and explore online resources to learn more about Wakandan culture, language, and technology.
- Visit a Disney theme park: While there isn't a dedicated Wakanda land yet, you might be able to meet Black Panther at Disneyland or on a Marvel Day at Sea Disney cruise.
Trên trang tiếp theo, hãy đặt tên cho kho dữ liệu của bạn (ví dụ: Wakanda Alternative) rồi nhấp vào TẠO.

Ở bước cuối cùng, hãy CHỌN nguồn dữ liệu mà bạn vừa tạo rồi nhấp vào TẠO. Bạn có thể xem tiến trình nhập kho dữ liệu bằng cách nhấp vào kho dữ liệu của mình**.**

Lưu ý: Quá trình nhập hoạt động sẽ mất một khoảng thời gian để hoàn tất. Trong thời gian này, bạn có thể khám phá thêm các lựa chọn về kho dữ liệu có sẵn cho tác nhân Vertex AI của mình tại đây

Nếu mọi thứ diễn ra suôn sẻ, hãy quay lại thẻ dialogflow rồi nhấp vào làm mới, bạn sẽ thấy kho dữ liệu được tạo trong trang Kho dữ liệu có sẵn.

Để ngăn Trợ lý tạo ra thông tin sai lệch, trong cấu hình liên kết thực tế cho kho dữ liệu của bạn, hãy đặt chế độ cài đặt thành Rất thấp. Chế độ này sẽ áp dụng các hạn chế chặt chẽ hơn đối với Trợ lý để ngăn Trợ lý tạo ra thông tin sai lệch. Hiện tại, hãy giữ chế độ này ở trạng thái mặc định, nhưng bạn có thể khám phá chế độ này với các chế độ cài đặt khác bất cứ lúc nào.

Bây giờ, hãy chọn kho dữ liệu đã thêm, nhấp vào xác nhận, rồi nhấp vào lưu.

Bây giờ, hãy quay lại trang Kiến thức cơ bản về Tác nhân. Ở cuối phần cấu hình sổ tay, bạn sẽ thấy kho dữ liệu mới tạo(ví dụ: Vị trí thay thế) có thể sử dụng được. Hãy đánh dấu vào Kho dữ liệu (ví dụ: Vị trí thay thế) rồi nhấp vào nút Lưu ở đầu trang.


Bạn sắp hoàn tất rồi! Bước cuối cùng là thêm công cụ "Vị trí thay thế" vào hướng dẫn của nhân viên hỗ trợ. Thêm một dòng, – Sử dụng ${TOOL: Alternative Location} nếu yêu cầu của người dùng có chứa một vị trí không tồn tại, vào hướng dẫn của trợ lý rồi nhấp vào lưu.

Chúng tôi đã chuẩn bị xong. Hãy mở lại trình mô phỏng nút bật/tắt và hỏi những câu hỏi tương tự (ví dụ: Cách tốt nhất để đến Wakanda là gì?)

Xin chúc mừng! Giờ đây, trợ lý của bạn đang đề xuất các địa điểm dựa trên thông tin được cung cấp trong một tệp văn bản.
Đến đây là hết, chúng ta đã hoàn tất việc tạo tác nhân AI Agent Builder của riêng mình. Nếu bạn muốn khám phá thêm về cách tuỳ chỉnh tác nhân của mình để có trải nghiệm tốt hơn, vui lòng xem Các hoạt động bổ sung bên dưới.
5. Hoạt động bổ sung – Đưa tác nhân AI vào hoạt động
Trong các bước trước, bạn đã phát triển một tác nhân AI và cung cấp cho tác nhân đó dữ liệu tham chiếu có liên quan. Trong phần sau, bạn sẽ giải quyết câu hỏi quan trọng về cách nhúng tác nhân này vào trang web của mình, cho phép tương tác theo thời gian thực với khách truy cập.
Có nhiều cách để hiển thị tác nhân của bạn. Bạn có thể xuất hoặc xuất bản trực tiếp. Bạn có thể khám phá tài liệu để tìm hiểu về các lựa chọn có thể có.
Ở góc trên cùng bên phải của thẻ Dialogflow, hãy nhấp vào Trình đơn mục bổ sung rồi nhấp vào Xuất bản tác nhân

Giữ tất cả cấu hình ở chế độ Mặc định rồi nhấp vào Bật API chưa xác thực.
Lưu ý: Việc bật API chưa xác thực chỉ dành cho mục đích minh hoạ và bạn không nên sử dụng cấu hình này cho khối lượng công việc trong môi trường sản xuất. Nếu bạn quan tâm đến việc xuất bản một cách an toàn, hãy xem tài liệu này.

Sau khi nhấp vào, bạn sẽ thấy một đoạn mã CSS nhỏ:

Chỉ cần sao chép đoạn mã. Sau này, bạn sẽ tích hợp đoạn mã này vào một trang web.
Để tạo một trang web, bạn sẽ sử dụng môi trường Cloud Editor. Sau đây là các bước để mở Cloud Editor:
- Mở Google Cloud Console trên một thẻ khác.
- Nhấp vào nút Kích hoạt Cloud Shell ở góc trên cùng bên phải
- Nhấp vào nút Mở trình chỉnh sửa.
Nếu có lời nhắc Uỷ quyền Cloud Shell, hãy nhấp vào Uỷ quyền để tiếp tục.

Trong phần sau, bạn sẽ sử dụng Gemini Code Assist để tạo một ứng dụng web mẫu bằng Python Flask nhằm tích hợp với đoạn mã Tác nhân.
Sau khi mở Cloud Shell Editor, hãy nhấp vào Gemini Code Assist rồi đăng nhập vào Dự án Google Cloud của bạn. Nếu hệ thống yêu cầu bạn bật API, hãy nhấp vào Bật.

Sau khi hoàn tất, hãy yêu cầu Gemini Code Assist tạo một ứng dụng flask và tích hợp đoạn mã tác nhân AI vào đó.
Sau đây là câu lệnh mẫu mà bạn có thể sử dụng
Here is my Travel buddy Vertex AI agent builder agent publish code snippet,
<REPLACE IT WITH YOUR AI AGENT PUBLISH CODE SNIPPET>
can you create a sample flask app to use it
Lưu ý: Ở đây, chúng tôi đã yêu cầu một ứng dụng flask python. Nếu bạn muốn dùng bất kỳ ngôn ngữ lập trình hoặc khung nào khác, vui lòng sử dụng ngôn ngữ hoặc khung đó. Gemini Code Assist có khả năng tạo nhiều ngôn ngữ lập trình. Hãy xem phần Ngôn ngữ, IDE và giao diện được hỗ trợ để biết thêm thông tin chi tiết.
Bạn sẽ thấy rằng đoạn mã được cung cấp đã được tích hợp với tác nhân AI. Để kiểm tra xem mã được cung cấp có hợp lệ và hoạt động như dự kiến hay không, bạn có thể làm theo hướng dẫn của Gemini Code Assist về cách chạy phần mã này trong câu trả lời đầu ra.
Đoạn mã phản hồi đầu ra mẫu –
from flask import Flask, render_template_string
app = Flask(__name__)
# HTML template string with the provided Dialogflow Messenger code
html_template = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Travel Buddy Chatbot</title>
<link rel="stylesheet" href="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/themes/df-messenger-default.css">
<script src="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/df-messenger.js"></script>
<style>
df-messenger {
z-index: 999;
position: fixed;
--df-messenger-font-color: #000;
--df-messenger-font-family: Google Sans;
--df-messenger-chat-background: #f3f6fc;
--df-messenger-message-user-background: #d3e3fd;
--df-messenger-message-bot-background: #fff;
bottom: 16px;
right: 16px;
}
body {
font-family: sans-serif;
margin: 20px;
}
</style>
</head>
<body>
<h1>Welcome to Travel Buddy!</h1>
<p>Start chatting with our AI Travel buddy, in the bottom right corner.</p>
<df-messenger
project-id="<SAMPLE>"
agent-id="<SAMPLE>"
language-code="en"
max-query-length="-1">
<df-messenger-chat-bubble
chat-title="Travel Buddy">
</df-messenger-chat-bubble>
</df-messenger>
</body>
</html>
"""
@app.route("/")
def index():
"""Renders the HTML template with the Dialogflow Messenger."""
return render_template_string(html_template)
if __name__ == "__main__":
app.run(debug=True)

Theo hướng dẫn đã cho
- Sao chép đoạn mã ứng dụng flask mẫu được cung cấp,
- Tạo một tệp mới có tên app.py rồi lưu tệp đó.

Ở bước tiếp theo, hệ thống sẽ yêu cầu bạn cài đặt flask để chạy đoạn mã này. Hiện tại, bạn không cần làm vậy vì Cloud Shell đã cài đặt sẵn tất cả các tiện ích thường dùng theo mặc định.

Lưu tệp (Ctrl + S hoặc CMD + S), sau đó nhấp vào Open Terminal (Mở thiết bị đầu cuối) để chạy mã được cung cấp.
Trong cửa sổ dòng lệnh, hãy chạy lệnh bên dưới
python app.py
Lưu ý: Đảm bảo bạn đang ở đúng thư mục có tệp app.py
Ứng dụng python flask sẽ chạy trên cổng 5000. Để xem trước ứng dụng web này, hãy nhấp vào biểu tượng Xem trước trên web trong Cloud Shell. Sau đó, bạn có thể nhấp vào Change Port (Thay đổi cổng), nhập 5000 rồi nhấp vào Change and Preview (Thay đổi và xem trước) để lưu.

Một trang web mẫu sẽ xuất hiện và sẽ có sẵn một tác nhân AI. Chỉ cần nhấp vào tác nhân AI và bắt đầu trò chuyện với tác nhân đó.

Bạn có thể thoải mái thử nghiệm với nhiều câu lệnh. Bạn cũng có thể yêu cầu Gemini Code Assist làm đẹp trang web của mình hoặc thêm dữ liệu liên kết thực tế vào tác nhân AI để tác nhân này có nhiều thông tin hơn.
Khi đã sẵn sàng, bạn có thể thử lưu trữ tác nhân AI này trên Google Cloud để mọi người có thể truy cập vào tác nhân này ở bất cứ đâu. Trong phần còn lại của lớp học lập trình này, bạn sẽ triển khai ứng dụng Flask mẫu này trong Cloud Run dưới dạng một vùng chứa.
Lưu ý: Không chỉ giới hạn ở Cloud Run (Nếu không biết Cloud Run là gì, bạn cũng có thể hỏi), bạn có thể yêu cầu Gemini Code Assist hỗ trợ bạn triển khai tính năng này trong Google Cloud hoặc ở bất kỳ nơi nào theo các phương pháp hay nhất, Gemini Code Assist cũng có thể giúp bạn thực hiện phần đó.
Quay lại Cloud Shell Terminal rồi nhấn tổ hợp phím Ctrl + C để kết thúc quy trình. Nhấp lại vào Open Editor (Mở trình chỉnh sửa) rồi yêu cầu Gemini Code Assist giúp chúng ta tạo vùng chứa cho ứng dụng và triển khai ứng dụng đó trong cloud run.
Can you help me deploy this sample flask app to cloud run service
Nó cung cấp một số hướng dẫn và lệnh cần làm theo để lưu trữ ứng dụng của chúng ta trong dịch vụ Cloud Run. Hãy làm theo hướng dẫn này
Sau đây là phản hồi đầu ra mẫu
Các bước triển khai lên Cloud Run
- Điều kiện tiên quyết:
- Tài khoản Google Cloud: Bạn cần có tài khoản Google Cloud đã bật tính năng thanh toán.
- gcloud CLI: Cài đặt và khởi chạy Google Cloud SDK (gcloud CLI) trên máy cục bộ. Bạn sẽ dùng công cụ này để tương tác với Google Cloud từ cửa sổ dòng lệnh.
- Docker: Cài đặt Docker trên máy cục bộ. Cloud Run sử dụng Docker để tạo vùng chứa cho ứng dụng của bạn.
- Thiết lập dự án: Đảm bảo bạn đã chọn một dự án trên Google Cloud trong gcloud CLI. Bạn có thể kiểm tra bằng
gcloud config list projectvà đặt bằnggcloud config set project YOUR_PROJECT_ID
Lưu ý: Vì chúng ta đang thực hiện toàn bộ hoạt động này trong cloud shell, nên không cần thiết lập dự án
- Tạo **
requirements.txt****:**
- Tệp này liệt kê tất cả các gói Python mà ứng dụng của bạn cần. Trong thư mục dự án (nơi có
main.py), hãy tạo một tệp có tên làrequirements.txtrồi thêm dòng sau
- Tạo **
Dockerfile****:**
Dockerfilexác định cách tạo một hình ảnh Docker cho ứng dụng của bạn. Tạo một tệp có tên làDockerfile(không có đuôi) trong thư mục dự án của bạn rồi thêm nội dung sau:
# Use an official Python runtime as a parent imageFROM python:3.9-slim-buster
# Set the working directory to /appWORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Make port 5000 available to the world outside this container
EXPOSE 5000
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", ".py"]
- Tạo hình ảnh Docker:
- Mở cửa sổ dòng lệnh, chuyển đến thư mục dự án của bạn rồi chạy:
gcloud builds submit –tag gcr.io/bgr-workshop-23rd/travel-buddy
- Triển khai lên Cloud Run:
- Sau khi hình ảnh được tạo và tải lên, hãy triển khai hình ảnh đó lên Cloud Run bằng lệnh sau:
gcloud run deploy travel-buddy --image gcr.io/bgr-workshop-23rd/travel-buddy --region us-central1
Sau khi hoàn tất các bước này, bạn sẽ thấy ứng dụng có tích hợp tác nhân AI đang hoạt động cho người dùng cuối.
Chúc mừng bạn và chúc bạn học tập vui vẻ.
6. Dọn dẹp
Để tránh phát sinh phí cho tài khoản Google Cloud của bạn đối với các tài nguyên được dùng trong lớp học lập trình 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á, rồi nhấp vào Xoá.
- Trong hộp thoại, hãy nhập mã dự án rồi nhấp vào Tắt để xoá dự án.
- Ngoài ra, bạn có thể chuyển đến Cloud Run trên bảng điều khiển, chọn dịch vụ bạn vừa triển khai rồi xoá.