1. Trước khi bắt đầu
Lớp học lập trình này sẽ hướng dẫn bạn cách sử dụng Conversational Analytics API (CA API) với Looker và BigQuery để tạo ứng dụng trò chuyện của riêng bạn nhằm truy vấn dữ liệu. Để khai thác tối đa giá trị của tính năng này, bạn cần phải nắm vững BigQuery, Looker, LLM và tác nhân, cũng như Python.
Kiến thức bạn sẽ học được
Sau khi hoàn thành lớp học lập trình này, bạn sẽ học được:
- Cách sử dụng Phân tích đàm thoại với Looker
- Cách thiết lập và sử dụng ứng dụng Bắt đầu nhanh Streamlit Phân tích đàm thoại Python (và cách ứng dụng này hoạt động)
- Lợi ích của việc sử dụng Looker để lập mô hình ngữ nghĩa bằng tính năng Phân tích đàm thoại
Bạn cần có
Để hoàn tất lớp học lập trình này, bạn cần có:
- Một phiên bản Looker đã cài đặt Khối Looker Dữ liệu Nhân khẩu học ASC
- Quyền truy cập vào API và quyền truy cập của nhà phát triển vào thực thể Looker
- Môi trường cục bộ đã cài đặt Python phiên bản 3.11 trở lên, Git và gcloud.
- Một dự án trên đám mây có các vai trò IAM này được thiết lập cho tài khoản người dùng của bạn:
roles/bigquery.dataViewerNgười xem dữ liệu BigQueryroles/bigquery.userNgười dùng BigQueryroles/looker.instanceUserNgười dùng phiên bản Looker
2. Tạo và dùng thử ứng dụng nhắn tin bằng BigQuery
Trước tiên, hãy thiết lập và dùng thử ứng dụng Phân tích đàm thoại khởi động nhanh với BigQuery làm nguồn dữ liệu.
Xác thực và bật Cloud APIs
- Xác thực cục bộ bằng tài khoản người dùng của bạn:
gcloud auth login
- Bật các API dự án trên đám mây. Vui lòng thay thế
YOUR_PROJECT_IDbằng mã dự án trên Google Cloud của bạn:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- Đặt thông tin xác thực mặc định của ứng dụng (ADC) và thông tin thanh toán:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
Thiết lập ứng dụng bắt đầu nhanh
- Sao chép kho lưu trữ github bắt đầu nhanh vào môi trường cục bộ của bạn. Hãy xem ví dụ về lệnh sau đây:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- Chuyển đến thư mục
ca-api-quickstartsmà bạn đã sao chép:
cd ca-api-quickstarts
- Tạo một tệp
secrets.tomltrong thư mục.streamlit.YOUR_LOOKER_CLIENT_IDvàYOUR_LOOKER_CLIENT_SECRETphải là mã ứng dụng khách Looker và khoá bí mật của ứng dụng khách Looker trong phiên bản Looker của bạn. Nội dung tệp phải như sau:
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
Bạn có thể dùng ví dụ về lệnh sau đây để tạo tệp. Nhớ thay thế các giá trị bằng mã dự án, mã ứng dụng khách và khoá bí mật của ứng dụng khách:
cat > .streamlit/secrets.toml <<'EOF'
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
EOF
- Cài đặt các yêu cầu về Python của ứng dụng bắt đầu nhanh:
pip install -r requirements.txt
- Chạy ứng dụng bắt đầu nhanh:
streamlit run app.py
- Mở https://localhost:8501 trong trình duyệt bạn chọn.
Dùng thử ứng dụng bắt đầu nhanh
Giờ bạn đang ở trang nhân viên hỗ trợ của ứng dụng khởi động nhanh. Bạn không có tác nhân dữ liệu nào.
- Bây giờ, hãy tạo một tác nhân dữ liệu nói như một tên cướp biển trong biểu mẫu Tạo tác nhân:
- Đặt trường Tên hiển thị:
Pirate BQ Agent
- Đặt trường Hướng dẫn hệ thống:
You are a pirate. Answer questions like a pirate
- Chọn mục BigQuery.
- Đặt trường Dự án:
bigquery-public-data
- Đặt trường Tập dữ liệu:
google_trends
- Đặt trường Bảng:
top_rising_terms
- Chọn Tạo nhân viên hỗ trợ.
- Bây giờ, hãy chuyển đến trang trò chuyện thông qua trình đơn điều hướng chính bên trái. Nhân viên hỗ trợ mới tạo của chúng tôi hiện có thể trò chuyện. Hãy bắt đầu trò chuyện bằng cách thêm một câu lệnh/tin nhắn: "Chào bạn, bạn có khoẻ không?"
- Bây giờ, hãy tìm hiểu một chút về tập dữ liệu này: "Tập dữ liệu này nói về điều gì?"
- Đặt một câu hỏi khác, chẳng hạn như:
- "Tập dữ liệu có những vị trí nào ở [Nhập tiểu bang]?"
- "Bạn có thể cung cấp cho tôi dữ liệu trong 2 tuần qua cho [Thành phố, Tiểu bang] không?"
- "Bạn có thể tạo một hình ảnh trực quan không?"
Bạn vừa có một cuộc trò chuyện nhiều lượt với trợ lý dữ liệu và dữ liệu BigQuery trong ứng dụng trò chuyện của riêng mình.
3. Lập mô hình và khám phá dữ liệu của bạn trong Looker
Giờ đây, hãy mô hình hoá và khám phá cùng một dữ liệu BigQuery trong Looker.
Truy vấn dữ liệu điều tra dân số của BigQuery
Điều gì xảy ra khi chúng ta kết nối với một tập dữ liệu quan hệ lớn hơn? Trước tiên, chúng ta sẽ tạo một tác nhân mới.
- Quay lại biểu mẫu Tạo tác nhân của trang nhân viên hỗ trợ.
- Đặt trường Tên hiển thị:
BQ Census Agent
- Đặt trường Hướng dẫn hệ thống:
You are really excited about census data, you love learning about the demographics in your area because you want to come up with marketing campaigns for your company
- Chọn mục BigQuery.
- Đặt trường Dự án:
bigquery-public-data
- Đặt trường Tập dữ liệu:
census_bureau_acs
- Đặt trường Bảng:
blockgroup_2018_5yr
- Chọn Tạo nhân viên hỗ trợ.
- Đặt cho tác nhân mới tạo cả hai câu hỏi sau:
- "Bạn có dữ liệu gì?"
- "Bạn có thể cho tôi xem trước dữ liệu của tôi không?"
Sử dụng Looker để mô hình hoá dữ liệu điều tra dân số
Bây giờ, chúng ta sẽ sử dụng một mô hình LookML để xác định dữ liệu điều tra dân số của BigQuery. Chúng ta sẽ giải quyết những vấn đề mà chúng ta vừa thấy trước đó.
- Đăng nhập vào phiên bản Looker của bạn
- Chuyển đến các tệp khối dữ liệu nhân khẩu học ACS bằng cách chuyển đến trình đơn điều hướng chính bên trái, chọn Phát triển, rồi chọn marketplace_acs_census-v2.
- Hãy cùng xem một khung hiển thị Looker. Mở thư mục
imported_project, thư mụcacs_census-v2và thư mụcgeography. - Cuối cùng, hãy mở tệp
cbsa.view. - Trên dòng 17, chúng ta có thể thấy rằng LookML đang tạo một bảng dẫn xuất. Nói cách khác, mã này đang tạo một bảng kết hợp mới bằng cách kết hợp hai tập dữ liệu công khai trên BigQuery, một tập dữ liệu có dữ liệu điều tra dân số và một tập dữ liệu có dữ liệu ranh giới địa lý. LookML cho phép chúng ta kết hợp nhiều tập dữ liệu bằng cách tạo một bảng dẫn xuất cố định để truy vấn.
Ngoài ra, thao tác kết hợp được xác định trong mã có thể lập phiên bản (LookML) thay vì hướng dẫn hệ thống, giúp việc phát triển tác nhân có khả năng mở rộng hơn. Với LookML, bạn có thể xác định các giả định và ràng buộc cụ thể về dữ liệu để hỗ trợ người dùng khi họ trò chuyện với dữ liệu thông qua một tác nhân dữ liệu.
Khám phá dữ liệu điều tra dân số được lập mô hình trên Looker
Hãy chạy một truy vấn nhanh trong công cụ Khám phá để minh hoạ rằng chúng ta có một nguồn dữ liệu tập trung để truy vấn.
- Trong trình đơn điều hướng chính ở bên trái, hãy chọn Khám phá, sau đó chọn Khối dữ liệu điều tra dân số,rồi chọn Tiểu bang và quận.
- Chọn chỉ số Học vấn > Bằng liên kết.
- Chọn các phương diện sau:
- Địa lý > Nhóm khối
- Vị trí địa lý > Quận > Tên quận
- Địa lý > Tiểu bang > Tiểu bang.
- Chạy truy vấn (trên cùng bên phải) và giờ đây, bạn sẽ thấy rằng những mã địa lý đó (gọi là "Nhóm khối") hiện được liên kết với các chuỗi mà con người có thể đọc được.
- Mở thẻ trực quan hoá và bạn sẽ thấy dữ liệu này trên bản đồ.
4. Dùng thử ứng dụng nhắn tin với Looker
Bây giờ, hãy tạo một tác nhân dữ liệu cho Looker.
- Chuyển đến biểu mẫu Tạo tác nhân trên trang tác nhân của ứng dụng khởi động nhanh:
- Đặt trường Tên hiển thị:
Cartoon character data analyst
- Đặt trường Hướng dẫn hệ thống:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- Chọn Looker.
- Đặt trường Url thành URL của thực thể Looker: "https://..."
- Đặt trường Model (Mô hình):
data_block_acs_bigquery
- Đặt trường Khám phá:
cbsa
- Chọn Tạo nhân viên hỗ trợ.
- Chuyển đến trang trò chuyện rồi chọn tác nhân mới tạo.
- Hãy bắt đầu trò chuyện bằng cách thêm một câu lệnh/tin nhắn: "Chào bạn, bạn có khoẻ không?"
- Hãy yêu cầu trợ lý mô tả tập dữ liệu: "Bạn có dữ liệu nào?"
- Hãy đặt thêm một vài câu hỏi:
- "Quận nào ở New York có dân số lớn nhất?"
- "Còn tỷ lệ tốt nghiệp trung học phổ thông trên đầu người cao nhất thì sao?"
- "Bạn có thể cho tôi biết dân số theo giới tính và tiểu bang không?"
- "Tôi muốn xem biểu đồ thanh về 10 tiểu bang có dân số đông nhất."
5. Ứng dụng khởi động nhanh còn có thể làm gì khác?
Giờ đây, bạn có thể:
- Thiết lập ứng dụng nhắn tin cục bộ
- Tạo một tác nhân dữ liệu BigQuery và một tác nhân dữ liệu Looker
- Tổ chức các cuộc trò chuyện với các trợ lý dữ liệu
- Tìm hiểu về lợi ích của việc mô hình hoá ngữ nghĩa trong Looker làm bối cảnh cho các cuộc trò chuyện của bạn
Hãy thử các chức năng khác của ứng dụng khởi động nhanh:
- Tải lại trang web của ứng dụng khởi động nhanh và chuyển đến trang trò chuyện.
- Bạn có thể xem các cuộc trò chuyện trước đây cùng với tất cả tin nhắn tương ứng của cả tác nhân BigQuery và Looker. Giao diện người dùng của ứng dụng không lưu trữ các cuộc trò chuyện hoặc tin nhắn trước đây mà đang tìm nạp chúng từ CA API.
- Giờ đây, hãy chuyển đến trang nhân viên hỗ trợ và chọn nhân viên hỗ trợ Looker của bạn trong danh sách.
- Bạn có thể cập nhật cấu hình của nhân viên hỗ trợ hoặc xoá nhân viên hỗ trợ nếu muốn. Không có tác nhân nào được lưu trữ ở giao diện người dùng của ứng dụng.
6. Thử thách không bắt buộc và khám phá thêm
Nếu muốn, bạn có thể nhân cơ hội này để làm quen với Phân tích đàm thoại và ứng dụng khởi động nhanh. Hoặc thử thách bản thân bằng cách sửa đổi ứng dụng khởi động nhanh. Bạn có thể thử một số đề xuất và thử thách sau đây hoặc chuyển thẳng đến phần cuối cùng.
Làm quen thêm với CA API và ứng dụng khởi động nhanh
- Tìm hiểu thêm về hướng dẫn chi tiết về hệ thống để kiểm soát hành vi của trợ lý.
- Thiết lập một tác nhân dữ liệu khác trỏ đến một tập dữ liệu BigQuery mới.
- Cài đặt một khối Looker mới trong phiên bản Looker, tạo một tác nhân và trỏ tác nhân đó đến một tập dữ liệu Looker mới.
Thử thách sửa đổi ứng dụng khi mới bắt đầu
- Bạn có biết về tính năng nhúng Looker không? Nếu có, hãy thử nhúng một trang tổng quan Looker vào ứng dụng khởi động nhanh. Cân nhắc sử dụng thành phần iframe của Streamlit.
- Tìm một tập dữ liệu công khai có chứa URL của video và cập nhật logic kết xuất cuộc trò chuyện của ứng dụng để hiển thị video trong cuộc trò chuyện.
7. Kết luận và nội dung cần ghi nhớ
Bạn đã đến được câu cuối cùng! Bạn đã tạo một ứng dụng nhắn tin, tạo các tác nhân dữ liệu và trò chuyện với dữ liệu của mình bằng API Phân tích đàm thoại. Hãy cùng xem xét một số chức năng và khái niệm chính!
Các tính năng của Phân tích đàm thoại
Chúng ta đã tìm hiểu nhiều về các chức năng của tính năng Phân tích đàm thoại, chẳng hạn như khả năng:
- Tạo, cập nhật, liệt kê, nhận và xoá các tác nhân dữ liệu.
- Chỉ định các tác nhân dữ liệu đến BigQuery hoặc Looker làm nguồn dữ liệu.
- Tạo, liệt kê và nhận các cuộc trò chuyện cũng như tin nhắn tương ứng.
- Tạo quy cách biểu đồ vega để có hình ảnh trực quan sống động trong các cuộc trò chuyện.
- Sử dụng các tin nhắn trước đây trong một cuộc trò chuyện làm ngữ cảnh hữu ích cho các tin nhắn sau này.
Lợi ích của việc sử dụng Looker với CA API
Looker cung cấp mô hình hoá ngữ nghĩa tập trung, có thể kiểm thử và có thể quản lý cho dữ liệu của bạn. Kết hợp với Phân tích đàm thoại, Looker cung cấp một cách thức có thể mở rộng để cung cấp bối cảnh cho các tác nhân dữ liệu của bạn.
Bước tiếp theo
- Hãy xem tài liệu về Phân tích đàm thoại để biết thêm hướng dẫn, tính năng và trường hợp sử dụng.
- Luôn cập nhật và đóng góp cho kho lưu trữ ứng dụng bắt đầu nhanh.