1. Giới thiệu
Trong lớp học lập trình này, bạn có thể xem các bước để tóm tắt nội dung được tải lên Google Cloud Storage bằng Mô hình ngôn ngữ lớn của Vertex AI để tạo văn bản ( text-bison) dưới dạng một hàm đám mây trong Python. Danh sách các dịch vụ được sử dụng là:
- Vertex AI PaLM API: Một API mô hình ngôn ngữ lớn (LLM) cho phép truy cập vào mô hình PaLM Text Bison của AI của Google.
- Chức năng đám mây: Một nền tảng không máy chủ để chạy các hàm mà không phải quản lý máy chủ.
- Cloud Storage: Một dịch vụ được quản lý để lưu trữ dữ liệu phi cấu trúc.
- Cloud Logging: Một dịch vụ được quản lý toàn diện, cho phép bạn lưu trữ, tìm kiếm, phân tích, giám sát và nhanh chóng nắm bắt dữ liệu trong nhật ký.
Sản phẩm bạn sẽ tạo ra
Bạn sẽ tạo một ứng dụng được triển khai dưới dạng Hàm đám mây Python để tóm tắt văn bản bằng Palm API.
2. Yêu cầu
3. 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 rằng bạn đã bật tính năng thanh toán cho dự án trên Google Cloud. 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.
- Đảm bảo bạn đều bật tất cả các API cần thiết (Cloud Storage API, Vertex AI API, Cloud Function API và Cloud Logging)
- Bạn sẽ sử dụng Cloud Shell, một môi trường dòng lệnh chạy trong Google Cloud. Hãy tham khảo tài liệu để biết các lệnh gcloud và cách sử dụng.
- Trong Bảng điều khiển Cloud, hãy nhấp vào Kích hoạt Cloud Shell ở góc trên cùng bên phải:
Nếu dự án của bạn chưa được thiết lập, hãy sử dụng lệnh sau để thiết lập dự án:
gcloud config set project <YOUR_PROJECT_ID>
- Đảm bảo bạn đã bật tất cả API cần thiết bằng cách chạy lệnh sau trên Cloud Shell Terminal:
gcloud services enable cloudfunctions.googleapis.com \
aiplatform.googleapis.com \
storage.googleapis.com \
logging.googleapis.com \
eventarc.googleapis.com
- Tạo các biến Môi trường cho REGION và PROJECT_ID bằng cách chạy lệnh sau từ Cloud Shell Terminal:
export PROJECT_ID=<your project id>
export REGION=us-central1
4. Hàm đám mây để gọi Vertex AI API
Chúng ta sẽ tạo một Hàm Cloud Python và gọi Vertex AI API trong hàm này.
Tạo tài khoản dịch vụ mới
Tạo một tài khoản dịch vụ mới bằng cách thực thi lệnh sau trong Cloud Shell Terminal.
gcloud iam service-accounts create vertex-service-acc
Để cấp quyền truy cập vào dự án và tài nguyên của bạn, hãy cấp một vai trò cho tài khoản dịch vụ.
gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:vertex-service-acc@$PROJECT_ID.iam.gserviceaccount.com" --role=roles/ml.developer
Để cấp cho Tài khoản Google của bạn một vai trò cho phép bạn sử dụng các vai trò của tài khoản dịch vụ và đính kèm tài khoản dịch vụ vào các tài nguyên khác, hãy chạy lệnh bên dưới. Thay thế USER_EMAIL bằng mã email Tài khoản Google của bạn.
gcloud iam service-accounts add-iam-policy-binding vertex-service-acc@$PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
Tạo hàm Python
PaLM API cho văn bản lý tưởng cho các tác vụ có thể được hoàn tất bằng một phản hồi API mà không cần cuộc trò chuyện liên tục. Hãy tạo Hàm đám mây ngay bây giờ.
Thực thi các lệnh sau trong Cloud Shell để sao chép kho lưu trữ và chuyển đến dự án (sử dụng chính cửa sổ dòng lệnh đã mở trong phần trước):
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
cd genai-apptemplates-googlecloud/summarization-gcs-cloudfunction
Thư mục mà chúng ta quan tâm ở đây trong dự án này là: summarization-gcs-cloudfunction.
Mở Cloud Shell Editor từ cửa sổ dòng lệnh và kiểm tra nội dung của thư mục dự án vừa được sao chép từ GitHub sang máy shell trên đám mây.
Thư mục này chứa 2 tệp:
- Tệp main.py Python xác định một Hàm đám mây HTTP đơn giản sử dụng Mô hình tạo văn bản Vertex AI để tạo bản tóm tắt ngắn về văn bản nhập vào. Hàm này lấy giá trị nhập vào làm tham số và trả về một bản tóm tắt ngắn về giá trị nhập đó. Hàm này sử dụng nhiều tham số để kiểm soát quá trình tạo, chẳng hạn như tính sáng tạo, tính đa dạng và độ trôi chảy của văn bản được tạo. Hàm đám mây HTTP chấp nhận một đối tượng yêu cầu và trả về bản tóm tắt của mô hình dưới dạng phản hồi.
- Tệp requirements.txt có các phần phụ thuộc của gói:
- functions-framework==3.: Đảm bảo rằng hàm này sử dụng các tính năng và bản sửa lỗi mới nhất của Khung hàm.
- google-cloud-aiplatform: Bắt buộc phải sử dụng Mô hình tạo văn bản Vertex AI.
- google-cloud-storage: Cần thiết để tạo bộ chứa lưu trữ trong Google Cloud Storage.
- google-cloud-logging: Cần thiết để tạo nhật ký.
5. Triển khai hàm
- Tạo hai bộ chứa Cloud Storage:
- Bộ chứa đầu tiên: Bộ chứa $BUCKET_NAME sẽ được dùng để tải các tệp lên để tóm tắt. Tạo biến môi trường để lưu trữ tên Nhóm như sau:
export BUCKET_NAME='Your Bucket Name'
- Nhóm thứ hai: Bộ chứa $BUCKET_NAME-tóm tắt sẽ được dùng để lưu trữ tệp tóm tắt.
- Chúng tôi sẽ sử dụng lệnh UI để tạo các nhóm:
- ProfileInstaller là một ứng dụng Python cho phép bạn truy cập Cloud Storage từ dòng lệnh. Bạn có thể sử dụng OneRoster để thực hiện nhiều tác vụ quản lý đối tượng và nhóm khác nhau.
- mb là viết tắt của "Make Bucket" (Tạo bộ chứa)
gsutil mb -l $REGION gs://"$BUCKET_NAME"
gsutil mb -l $REGION gs://"$BUCKET_NAME"-summaries
- Đến đây, chúng ta đã sẵn sàng triển khai hàm này. Nhưng trước đó, hãy đảm bảo rằng tài khoản dịch vụ của Bộ chứa Cloud Storage có vai trò Nhà xuất bản Pub/Sub.
- Chuyển đến Google Cloud Storage và nhấp vào "Settings" (Cài đặt) trên ngăn bên trái.
- Sao chép "Tài khoản dịch vụ" trong phần cài đặt rồi ghi lại.
- Mở IAM và mục Quản trị trong trình đơn điều hướng của bảng điều khiển Google Cloud.
- Trên thẻ Permissions (Quyền), hãy nhấp vào GRANTE ACCESS và nhập Mã tài khoản dịch vụ mà bạn lưu ý, trong phần New primarys (Quyền chính mới) rồi chọn Vai trò là "Nhà xuất bản Pub/Sub" rồi nhấp vào LƯU.
- Triển khai nguồn này cho Cloud Functions. Chạy lệnh sau trên đám mây Shell Terminal:
- Đảm bảo rằng bạn đang ở thư mục summarization-gcs-cloudfunction trong dự án này.
- Thực thi lệnh sau:
gcloud functions deploy summarizeArticles \
--gen2 \
--runtime=python311 \
--source=. \
--region=$REGION \
--project=$PROJECT_ID \
--entry-point=summarize_gcs_object \
--trigger-bucket=$BUCKET_NAME \
--set-env-vars=GCP_PROJECT=$PROJECT_ID,GCP_REGION=$REGION \
--max-instances=1 \
--quiet
- Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Cloud Functions::
Thao tác này sẽ liệt kê Hàm đám mây đỉnh-ai-hàm mà chúng ta vừa tạo cùng với URL công khai của hàm đó. Chúng ta sẽ sử dụng hàm này để tạo một điều kiện kích hoạt GCS.
6. Gọi hàm
Khi một tệp được tải lên bộ chứa $BUCKET_NAME*,* điều kiện kích hoạt GCS sẽ gọi hàm đó. Bộ chứa $BUCKET_NAME"-summaries
bao gồm tệp tóm tắt có cùng tên.
Trước khi bạn bắt đầu, hãy lưu tệp story.md mẫu từ thư mục summarization-gcs-cloudfunction vào máy cục bộ.
- Trong bảng điều khiển Google Cloud, hãy chuyển đến Cloud Storage.
- Mở bộ chứa
$BUCKET_NAME
trong danh sách các nhóm. - Nhấp vào Tải tệp lên rồi chọn tệp story.md.
Hàm summarizeArticles
được kích hoạt và bắt đầu tóm tắt nội dung của tệp.
- Trong ngăn điều hướng bên trái, hãy nhấp vào Nhóm.
- Mở bộ chứa
$BUCKET_NAME"-summaries
.
Tệp story.md bao gồm thông tin tóm tắt về nội dung của tệp.
7. Dọn dẹp
Để tránh bị tính phí vào tài khoản Google Cloud cho các tài nguyên sử dụng trong bài đăng 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, nhập ID dự án, sau đó nhấp vào Tắt để xoá dự án.
- Nếu bạn muốn giữ lại dự án và chỉ xoá một số tài nguyên, hãy chuyển đến bảng điều khiển Cloud Storage, nhấp vào Bộ chứa và trong danh sách, hãy kiểm tra những bộ chứa bạn muốn xoá rồi nhấp vào XOÁ.
- Bạn cũng có thể xoá Hàm đám mây bằng cách chuyển đến Hàm đám mây và trong danh sách hàm, hãy chọn hàm bạn muốn xoá rồi nhấp vào XOÁ.
8. Xin chúc mừng
Xin chúc mừng! Bạn đã sử dụng thành công một mô hình ngôn ngữ lớn (LLM) dùng tính năng tạo văn bản Vertex AI theo phương thức lập trình để tóm tắt văn bản dựa trên dữ liệu của mình. Hãy xem tài liệu về sản phẩm mô hình ngôn ngữ lớn (LLM) trong Vertex AI để tìm hiểu thêm về các mô hình có sẵn.