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 để 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 rõ BigQuery, Looker, LLM và các 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ẽ tìm hiểu được:
- Cách sử dụng Conversational Analytics với Looker
- Cách thiết lập và sử dụng ứng dụng bắt đầu nhanh Conversational Analytics Python (và cách ứng dụng 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 cuộc trò chuyện
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 ASC Demographic Data Looker Block
- Quyền truy cập API và quyền truy cập của nhà phát triển vào thực thể Looker
- Một 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 trò chuyện bằng BigQuery
Trước tiên, hãy thiết lập và dùng thử ứng dụng Conversational Analytics (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 API Cloud
- 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
- Thiết lập 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 lệnh ví dụ 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 hướng dẫn 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 ở trên 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 tác nhân.
- 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 tác nhân 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
Bây giờ, 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 trên 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 tác nhân.
- Đặ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 khác 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 liên tục để 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ốc gia > Tên quốc gia
- Đị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ý đó (được 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 trò chuyện 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 Mô hình:
data_block_acs_bigquery
- Đặt trường Khám phá:
cbsa
- Chọn Tạo tác nhân.
- 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 tác nhân mô tả tập dữ liệu: "Bạn có dữ liệu nào?"
- Hãy hỏi 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 cao nhất tính trên đầu người 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 trò chuyện 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 dưới dạng 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 rồi 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 Conversational Analytics 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 đế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ý ảo.
- 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 trò chuyện, 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 cuộc trò chuyện. 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 Conversational Analytics
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 cuộc trò chuyện, 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 để trực quan hoá 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 trong tương lai.
Lợi ích khi sử dụng Looker với CA API
Looker cung cấp mô hình 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 Conversational Analytics, 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.