Mẫu tác nhân ADK có bộ nhớ và MCP

1. Kiến thức bạn sẽ học được

Chào mừng bạn đến với Lớp học chuyên sâu về ADK – Hành trình khám phá Hệ thống đa tác nhân

Bạn sắp bước vào thế giới thú vị của các tác nhân AI. Hãy quên đi những chatbot đơn giản chỉ trả lời câu hỏi. Chúng tôi đang tìm hiểu kỹ về Agent Development Kit (ADK) để xây dựng các hệ thống tự động, tinh vi có thể suy luận, lập kế hoạch và sử dụng các công cụ để hoàn thành những nhiệm vụ phức tạp.

bản cover

Sau khi hoàn thành hướng dẫn này, bạn sẽ có thể:

  • Xây dựng tác nhân AI đầu tiên: Từ con số không đến một tác nhân có đầy đủ chức năng, có thể hiểu nhu cầu của người dùng, sử dụng các công cụ như Google Tìm kiếm và tạo ra những câu trả lời chi tiết, hữu ích.
  • Xây dựng hệ thống nhiều tác nhân: Tìm hiểu mẫu "Tác nhân dưới dạng công cụ", một khái niệm mang tính cách mạng trong đó các tác nhân uỷ quyền nhiệm vụ cho các tác nhân chuyên biệt khác, tạo ra một nhóm chuyên gia AI làm việc cùng nhau.
  • Điều phối quy trình công việc phức tạp: Vượt xa việc uỷ quyền đơn giản và nắm vững các mẫu nâng cao như Bộ định tuyến, Chuỗi tuần tự, Vòng lặpThực thi song song để xây dựng các ứng dụng mạnh mẽ, hiệu quả và thông minh có thể xử lý hầu hết mọi yêu cầu.
  • Cung cấp bộ nhớ cho các trợ lý: Hiểu rõ vai trò quan trọng của bộ nhớ đàm thoại, cho phép các trợ lý của bạn xử lý các câu hỏi nối tiếp, học hỏi từ ý kiến phản hồi và quản lý các tác vụ nhiều bước một cách liền mạch.
  • Kết nối với MCP: Kết nối với hộp công cụ MCP.

Hãy bắt đầu! 🚀

2. Thiết lập GCP và khoá Gemini API

Thiết lập dự án GCP và khoá Gemini API

Để hỗ trợ các tác nhân AI của chúng tôi, bạn cần có 2 thứ: một Dự án Google Cloud để cung cấp nền tảng và một Khoá Gemini API để truy cập vào các mô hình mạnh mẽ của Google.

Bước 1: Bật Tài khoản thanh toán

  • Bạn cần phải yêu cầu tài khoản thanh toán có khoản tín dụng 5 đô la để triển khai. Đảm bảo bạn đã đăng nhập vào tài khoản gmail.

Bước 2: Tạo một dự án GCP mới

  • Truy cập vào Google Cloud Console rồi tạo một dự án mới.

tạo tài khoản gcp mới

  • Truy cập vào Google Cloud Console rồi tạo một dự án mới.
  • Mở bảng điều khiển bên trái, nhấp vào Billing, kiểm tra xem tài khoản thanh toán có được liên kết với tài khoản GCP này hay không.

Liên kết tài khoản thanh toán với tài khoản gcp

Nếu bạn thấy trang này, hãy kiểm tra manage billing account, chọn Google Cloud Trial One và liên kết với trang đó.

Bước 3: Tìm mã dự án Google Cloud

👉Nhấp vào biểu tượng Kích hoạt Cloud Shell ở đầu bảng điều khiển Google Cloud (Đây là biểu tượng có hình dạng thiết bị đầu cuối ở đầu ngăn Cloud Shell), cloud-shell.png

👉Nhấp vào nút "Mở trình chỉnh sửa" (nút này trông giống như một thư mục đang mở có bút chì). Thao tác này sẽ mở Cloud Shell Code Editor trong cửa sổ. Bạn sẽ thấy một trình khám phá tệp ở bên trái. open-editor.png

👉Tìm mã dự án trên Google Cloud:

  • Mở Google Cloud Console: đường liên kết
  • Chọn dự án mà bạn muốn sử dụng cho hội thảo này trong trình đơn thả xuống dự án ở đầu trang.
  • Mã dự án của bạn sẽ xuất hiện trong thẻ Thông tin dự án trên Trang tổng quan

03-04-project-id.png

👉💻 Trong thiết bị đầu cuối, hãy xác minh rằng 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

👉💻 Sao chép dự án khởi động từ GitHub:

git clone https://github.com/cuppibla/adk_tutorial.git

👉💻 Chạy tập lệnh khởi tạo. Tập lệnh này sẽ nhắc bạn nhập Mã dự án trên Google Cloud. Nhập mã dự án trên Google Cloud mà bạn tìm được ở bước cuối cùng khi được tập lệnh setup_venv.sh nhắc.

cd ~/adk_tutorial
./setup_venv.sh

gcloud services enable  compute.googleapis.com \
                        artifactregistry.googleapis.com \
                        run.googleapis.com \
                        iam.googleapis.com \
                        aiplatform.googleapis.com \
                        cloudresourcemanager.googleapis.com

3. Phiên 1: Tác nhân đầu tiên của bạn trong ADK Web

Mở ADK Web bằng cách chạy:

cd ~/adk_tutorial
source .adk_env/bin/activate
adk web

Sau khi chạy các lệnh, bạn sẽ thấy đầu ra trong thiết bị đầu cuối cho biết Máy chủ web ADK đã khởi động, tương tự như sau:

+-----------------------------------------------------------------------------+
| ADK Web Server started                                                      |
|                                                                             |
| For local testing, access at http://localhost:8000.                         |
+-----------------------------------------------------------------------------+

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

👉 Tiếp theo, để truy cập vào giao diện người dùng dành cho nhà phát triển ADK từ trình duyệt, hãy làm như sau:

Trong thanh công cụ Cloud Shell, hãy chọn biểu tượng Xem trước trên web (thường có dạng con mắt hoặc hình vuông có mũi tên) (thường ở trên cùng bên phải), rồi chọn Thay đổi cổng. Trong cửa sổ bật lên, hãy đặt cổng thành 8000 rồi nhấp vào "Thay đổi và xem trước". Sau đó, Cloud Shell sẽ mở một thẻ hoặc cửa sổ trình duyệt mới hiển thị Giao diện người dùng dành cho nhà phát triển ADK.

webpreview

👉 Nghi thức triệu hồi của bạn đã hoàn tất và tác nhân hiện đang chạy. Giao diện người dùng dành cho nhà phát triển ADK trong trình duyệt là kết nối trực tiếp của bạn với Familiar.

chọn tác nhân quy trình song song Trong trình đơn thả xuống ở đầu giao diện người dùng, hãy chọn parallel_agent.

Bạn có thể chọn biểu tượng single_agent tại đây: hình ảnh phác thảo của các tác nhân đơn lẻ

Bạn có thể xem thông tin theo dõi tại đây: hình ảnh phác thảo của một nhân viên hỗ trợ

👉 Câu lệnh thử nghiệm:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art.

4. Phiên 2: Tác nhân quy trình công việc: Tác nhân tuần tự, Tác nhân song song, Tác nhân vòng lặp

Parallel Agent

chọn tác nhân quy trình song song Trong trình đơn thả xuống ở đầu giao diện người dùng, hãy chọn parallel_agent.

👉 Câu lệnh thử nghiệm:

Plan my trip to San Francisco, I want to find some good concert, restaurant and museum.

Bạn có thể chọn biểu tượng parallel_agent tại đây: hình ảnh phác thảo của các tác nhân song song

Bạn có thể xem thông tin theo dõi tại đây: hình ảnh phác thảo của các tác nhân song song

Sequential Agent

chọn tác nhân quy trình làm việc tuần tự Trong trình đơn thả xuống ở đầu giao diện người dùng, hãy chọn sequential_agent.

👉 Câu lệnh thử nghiệm:

Find a good sushi near Standford and tell me how to get there.

Bạn có thể chọn biểu tượng sequential_agent tại đây: hình ảnh theo dõi của các tác nhân tuần tự

Bạn có thể xem thông tin theo dõi tại đây: hình ảnh theo dõi sequential_agent

Loop Agent

chọn tác nhân quy trình làm việc lặp lại Trong trình đơn thả xuống ở đầu giao diện người dùng, hãy chọn loop_agent.

👉 Câu lệnh thử nghiệm:

Plan a trip from Sunnyvale to San Francisco today.

Bạn có thể chọn biểu tượng loop_agent tại đây: hình ảnh phác thảo về các tác nhân vòng lặp

Bạn có thể xem thông tin theo dõi tại đây: hình ảnh phác thảo về các tác nhân vòng lặp

5. Phiên 3: Nhân viên hỗ trợ tuỳ chỉnh

Sau khi mở Giao diện người dùng web ADK, bạn có thể chọn tác nhân Custom_Agent.

👉 Câu lệnh thử nghiệm:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art. Make sure within budget of 100 dollars.

Bạn có thể chọn biểu tượng Custom_Agent tại đây: hình ảnh theo dõi Custom_Agent

Bạn có thể xem thông tin theo dõi tại đây: hình ảnh theo dõi Custom_Agent

6. Phiên 4: Mẫu điều phối – Tác nhân định tuyến

Sau khi mở giao diện người dùng web ADK, bạn có thể chọn biểu tượng routing_agent.

👉 Câu lệnh thử nghiệm:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Bạn có thể chọn biểu tượng routing_agent tại đây: hình ảnh phác thảo về các tác nhân định tuyến

Bạn có thể xem thông tin theo dõi tại đây: hình ảnh phác thảo về các tác nhân định tuyến

7. Phiên 5: Nhân viên hỗ trợ là công cụ

Sau khi mở Giao diện người dùng web ADK, bạn có thể chọn tác nhân Agent_as_tool.

👉 Câu lệnh thử nghiệm:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Bạn có thể chọn biểu tượng agent_as_tool tại đây: hình ảnh phác thảo của nhân viên hỗ trợ dưới dạng công cụ

Bạn có thể xem thông tin theo dõi tại đây: hình ảnh phác thảo về các tác nhân định tuyến

8. Phiên 6: Agent có bộ nhớ dài hạn

👉💻 Kiểm tra trí nhớ dài hạn bằng cách chuyển đến thư mục và sử dụng trình chạy để tăng sức mạnh cho tác nhân:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Câu lệnh thử nghiệm:

I like Art and Italian food.

Sau đó, kết thúc phiên bằng cách nhấn tổ hợp phím "crtl+C". Khởi động lại phiên:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Câu lệnh thử nghiệm:

Plan a trip to San Francisco based on my preference.

9. Phiên 7: Trang bị cho nhân viên hỗ trợ của bạn bằng MCP

Bước 1: Chuẩn bị cơ sở dữ liệu cục bộ

👉💻 chạy lệnh sau trong cửa sổ dòng lệnh

cd ~/adk_tutorial
source .adk_env/bin/activate
chmod +x setup_trip_database.py
./setup_trip_database.py

Bước 2: Cài đặt và chạy MCP Toolbox Server

👉💻 chạy lệnh sau trong cửa sổ dòng lệnh

cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox

sau khi tải xuống xong, rồi chạy

chmod +x toolbox

Bước 3

Trong một dòng lệnh Chạy lệnh sau

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/mcp_tool_box
./toolbox --tools-file "trip_tools.yaml" --port 7001

Trong một cửa sổ dòng lệnh khác Chạy lệnh sau

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/g_agents_mcp
python main.py