Trình bổ trợ Google Cloud sẽ xuất dữ liệu đo từ xa và dữ liệu nhật ký của Firebase Genkit sang bộ hoạt động của Google Cloud.
Cài đặt
npm i --save @genkit-ai/google-cloud
Nếu muốn chạy cục bộ các luồng sử dụng trình bổ trợ này, bạn cũng cần cài đặt công cụ Google Cloud CLI.
Thiết lập tài khoản Google Cloud
Trình bổ trợ này yêu cầu bạn phải có tài khoản Google Cloud (đăng ký nếu bạn chưa có tài khoản) và một dự án Google Cloud.
Trước khi thêm trình bổ trợ, hãy nhớ bật các API sau cho dự án của bạn:
Các API này phải được liệt kê trong trang tổng quan API cho dự án của bạn.
Nhấp vào đây để tìm hiểu thêm về cách bật và tắt API.
Cấu hình Genkit
Để cho phép xuất sang tính năng Theo dõi, Ghi nhật ký và Giám sát của Google Cloud, hãy thêm trình bổ trợ googleCloud
vào cấu hình Genkit của bạn:
import { googleCloud } from '@genkit-ai/google-cloud';
export default configureGenkit({
plugins: [googleCloud()],
enableTracingAndMetrics: true,
telemetry: {
instrumentation: 'googleCloud',
logger: 'googleCloud',
},
});
Khi chạy phiên bản chính thức, dữ liệu đo từ xa của bạn sẽ tự động được xuất.
Trình bổ trợ này yêu cầu bạn phải có mã dự án trên Google Cloud và thông tin đăng nhập cho dự án trên Google Cloud. Nếu bạn đang chạy quy trình từ một môi trường Google Cloud (Cloud Functions, Cloud Run, v.v.), thì mã dự án và thông tin đăng nhập sẽ được đặt tự động. Khi chạy trong các môi trường khác, bạn phải đặt biến môi trường GCLOUD_PROJECT
thành dự án Google Cloud và xác thực bằng công cụ gcloud
:
gcloud auth application-default login
Để biết thêm thông tin, hãy xem tài liệu về Thông tin xác thực mặc định của ứng dụng.
Cấu hình trình bổ trợ
Trình bổ trợ googleCloud()
sẽ lấy một đối tượng cấu hình không bắt buộc:
{
projectId?: string,
telemetryConfig?: TelemetryConfig
}
mã dự án
Lựa chọn này cho phép chỉ định rõ mã dự án trên Google Cloud. Trong hầu hết các trường hợp, điều này là không cần thiết.
Cấu hình đo từ xa
Tuỳ chọn này định cấu hình thực thể OpenTelemetry NodeSDK.
import { AlwaysOnSampler } from '@opentelemetry/sdk-trace-base';
googleCloud({
telemetryConfig: {
forceDevExport: false, // Set this to true to export telemetry for local runs
sampler: new AlwaysOnSampler(),
autoInstrumentation: true,
autoInstrumentationConfig: {
'@opentelemetry/instrumentation-fs': { enabled: false },
'@opentelemetry/instrumentation-dns': { enabled: false },
'@opentelemetry/instrumentation-net': { enabled: false },
},
metricExportIntervalMillis: 5_000,
},
});
forceDevExport
Tuỳ chọn này sẽ buộc Genkit xuất dữ liệu đo từ xa và nhật ký khi chạy trong môi trường dev
(ví dụ: trên thiết bị).
bộ lấy mẫu
Đối với trường hợp không thể xuất tất cả dấu vết, OpenTelemetry cho phép lấy mẫu dấu vết.
Có 4 trình lấy mẫu được định cấu hình sẵn:
- AlwaysOnSampler – lấy mẫu tất cả các dấu vết
- AlwaysoffSampler – mẫu không có dấu vết
- Cha mẹ – các mẫu dựa trên khoảng thời gian gốc
- TraceIdRatioBased – lấy mẫu tỷ lệ phần trăm dấu vết có thể định cấu hình
tự động đo lường và autoInstrumentationConfig
Việc bật tính năng đo lường tự động cho phép OpenTelemetry thu thập dữ liệu đo từ xa từ thư viện bên thứ ba mà không cần sửa đổi mã.
chỉ số xuất khoảng thời gian
Trường này chỉ định khoảng thời gian xuất chỉ số tính bằng mili giây.
Kiểm thử quá trình tích hợp
Khi định cấu hình trình bổ trợ này, hãy dùng forceDevExport: true
để bật tính năng xuất dữ liệu đo từ xa cho các lần chạy cục bộ. Đây là một cách nhanh chóng để gửi các sự kiện đầu tiên của bạn đi để giám sát trong Google Cloud.
Giám sát hoạt động sản xuất thông qua bộ công cụ vận hành của Google Cloud
Sau khi quy trình được triển khai, hãy chuyển đến Bộ công cụ vận hành của Google Cloud rồi chọn dự án của bạn.
Nhật ký và dấu vết
Trong trình đơn bên, hãy tìm phần "Ghi nhật ký" rồi nhấp vào "Trình khám phá nhật ký".
Bạn sẽ thấy mọi nhật ký được liên kết với quy trình đã triển khai, bao gồm cả console.log()
. Mọi nhật ký có tiền tố [genkit]
đều là nhật ký nội bộ của Genkit chứa thông tin có thể thú vị cho mục đích gỡ lỗi. Ví dụ: nhật ký Genkit ở định dạng Config[...]
chứa siêu dữ liệu như nhiệt độ và giá trị topK để suy luận các mô hình ngôn ngữ lớn (LLM) cụ thể. Nhật ký ở định dạng Output[...]
chứa phản hồi của mô hình ngôn ngữ lớn (LLM), còn nhật ký Input[...]
chứa các câu lệnh. Tính năng Ghi nhật ký trên đám mây có các Danh sách kiểm soát quyền truy cập (ACL) mạnh mẽ cho phép kiểm soát chi tiết các nhật ký nhạy cảm.
Đối với các dòng nhật ký cụ thể, bạn có thể chuyển đến các dấu vết tương ứng bằng cách nhấp vào biểu tượng trình đơn mở rộng rồi chọn "Xem trong thông tin chi tiết về dấu vết".
Thao tác này sẽ mở ra một ngăn xem trước dấu vết để xem nhanh thông tin chi tiết về dấu vết đó. Để xem toàn bộ thông tin chi tiết, hãy nhấp vào đường liên kết "Xem trong dấu vết" ở trên cùng bên phải của ngăn.
Phần tử điều hướng nổi bật nhất trong Cloud Trace là biểu đồ tán xạ theo dõi. Tệp này chứa tất cả dấu vết đã thu thập trong một khoảng thời gian nhất định.
Nhấp vào từng điểm dữ liệu sẽ hiển thị thông tin chi tiết về điểm dữ liệu đó bên dưới biểu đồ tán xạ.
Chế độ xem chi tiết chứa hình dạng luồng, bao gồm tất cả các bước và thông tin quan trọng về thời gian. Cloud Trace có thể kết hợp mọi nhật ký liên kết với một dấu vết nhất định trong chế độ xem này. Chọn tuỳ chọn "Hiển thị mở rộng" trong trình đơn thả xuống "Nhật ký và sự kiện".
Chế độ xem kết quả cho phép kiểm tra chi tiết nhật ký trong bối cảnh theo dõi, bao gồm cả câu lệnh và phản hồi của mô hình ngôn ngữ lớn (LLM).
Chỉ số
Bạn có thể xem tất cả các chỉ số có thể xuất dữ liệu của Genkit bằng cách chọn "Ghi nhật ký" trong trình đơn bên, rồi nhấp vào "Quản lý chỉ số".
Bảng điều khiển quản lý chỉ số chứa chế độ xem dạng bảng về tất cả các chỉ số được thu thập, bao gồm cả những chỉ số liên quan đến Cloud Run và môi trường xung quanh. Khi nhấp vào tuỳ chọn "Tải công việc", bạn sẽ thấy một danh sách chứa các chỉ số do Genkit thu thập. Mọi chỉ số có tiền tố genkit
đều cấu thành chỉ số Genkit nội bộ.
Genkit thu thập một số loại chỉ số, bao gồm chỉ số ở cấp luồng, cấp hành động và cấp tạo. Mỗi chỉ số có một vài phương diện hữu ích hỗ trợ cho việc lọc và nhóm hiệu quả.
Các phương diện phổ biến bao gồm:
flow_name
– tên cấp cao nhất của luồng.flow_path
– span và chuỗi span gốc của nó lên đến span gốc.error_code
– mã lỗi tương ứng trong trường hợp xảy ra lỗi.error_message
– trong trường hợp xảy ra lỗi, sẽ hiển thị thông báo lỗi tương ứng.model
– tên mô hình.temperature
– giá trị nhiệt độ suy luận.topK
– giá trị hàng đầu của suy luận.topP
– giá trị đỉnh suy luận.
Chỉ số ở cấp luồng
Tên | Phương diện |
---|---|
genkit/flow/requests | flow_name, error_code, error_message |
genkit/flow/Latency | tên_luồng |
Chỉ số ở cấp hành động
Tên | Phương diện |
---|---|
bộ tạo/hành động/yêu cầu | flow_name, error_code, error_message |
genkit/action/Latency | tên_luồng |
Chỉ số ở cấp độ tạo
Tên | Phương diện |
---|---|
genkit/ai/generate | flow_path, mô hình, nhiệt độ, topK, topP, error_code, error_message |
genkit/ai/generate/input_tokens | flow_path, mô hình, nhiệt độ, topK, topP |
genkit/ai/generate/output_tokens | flow_path, mô hình, nhiệt độ, topK, topP |
genkit/ai/generate/input_characters | flow_path, mô hình, nhiệt độ, topK, topP |
genkit/ai/generate/output_characters | flow_path, mô hình, nhiệt độ, topK, topP |
genkit/ai/generate/input_images | flow_path, mô hình, nhiệt độ, topK, topP |
genkit/ai/generate/output_images | flow_path, mô hình, nhiệt độ, topK, topP |
genkit/ai/generate/Latency | flow_path, mô hình, nhiệt độ, topK, topP, error_code, error_message |
Bạn có thể trực quan hoá chỉ số thông qua Trình khám phá chỉ số. Sử dụng trình đơn bên, chọn "Ghi nhật ký" rồi nhấp vào "Trình khám phá chỉ số"
Chọn chỉ số bằng cách nhấp vào trình đơn thả xuống "Chọn chỉ số", chọn "Nút chung", "Genkit" và một chỉ số.
Hình ảnh của chỉ số sẽ phụ thuộc vào loại chỉ số đó (bộ đếm, biểu đồ, v.v.). Trình khám phá chỉ số cung cấp các phương tiện tổng hợp và truy vấn mạnh mẽ để giúp lập biểu đồ các chỉ số theo nhiều phương diện.
Độ trễ khi đo từ xa
Có thể có chút chậm trễ trước khi đo từ xa đối với một quá trình thực thi cụ thể của một luồng được hiển thị trong bộ vận hành của Cloud. Trong hầu hết trường hợp, thời gian trễ này là dưới 1 phút.
Hạn mức và giới hạn
Có một số hạn mức quan trọng cần ghi nhớ:
- Hạn mức của Cloud Trace
- 128 byte cho mỗi khoá thuộc tính
- 256 byte cho mỗi giá trị thuộc tính
- Hạn mức ghi nhật ký trên Cloud
- 256 KB mỗi mục nhập nhật ký
- Hạn mức giám sát trên Cloud
Chi phí
Cloud Logging, Cloud Trace và Cloud Monitoring có nhiều cấp miễn phí. Bạn có thể xem giá cụ thể tại các đường liên kết sau:
- Giá của tính năng ghi nhật ký trên Cloud
- Giá của Cloud Trace
- Định giá của dịch vụ giám sát trên đám mây