Thu thập dữ liệu đo từ xa

Trình bổ trợ đo từ xa Firebase xuất một tổ hợp các chỉ số, dấu vết và nhật ký sang Google Cloud Observability. Tài liệu này trình bày chi tiết những chỉ số, thuộc tính theo dõi và nhật ký sẽ được thu thập cũng như những gì bạn có thể mong đợi về độ trễ, hạn mức và chi phí.

Độ trễ của dữ liệu đo từ xa

Có thể sẽ có độ trễ nhỏ trước khi dữ liệu đo từ xa từ một lệnh gọi nhất định có sẵn trong Firebase. Điều này phụ thuộc vào khoảng thời gian xuất (5 phút theo mặc định).

Hạn mức

Bạn cần lưu ý một số hạn mức quan trọng sau:

Chi phí

Cloud Logging, Cloud Trace và Cloud Monitoring có các cấp miễn phí hào phóng. Bạn có thể xem mức giá cụ thể tại các đường liên kết sau:

Chỉ số

Trình bổ trợ đo từ xa Firebase thu thập một số chỉ số khác nhau để hỗ trợ nhiều loại hành động Genkit được nêu chi tiết trong các phần sau.

Chỉ số về tính năng

Tính năng là điểm truy cập cấp cao nhất vào mã Genkit. Trong hầu hết các trường hợp, đây sẽ là một luồng. Nếu không, đây sẽ là span trên cùng trong một dấu vết.

Tên Loại Mô tả
genkit/feature/requests Bộ đếm Số lượng yêu cầu
genkit/feature/latency Biểu đồ Độ trễ thực thi (mili giây)

Mỗi chỉ số về tính năng đều chứa các phương diện sau:

Tên Mô tả
name Tên của tính năng. Trong hầu hết các trường hợp, đây là luồng Genkit cấp cao nhất
trạng thái "success" (thành công) hoặc "failure" (không thành công) tuỳ thuộc vào việc yêu cầu tính năng có thành công hay không
error Chỉ đặt khi status=failure. Chứa loại lỗi gây ra lỗi
nguồn Ngôn ngữ nguồn Genkit. Ví dụ: 'ts'
sourceVersion Phiên bản khung Genkit

Chỉ số hành động

Thao tác đại diện cho một bước thực thi chung trong Genkit. Mỗi bước trong số này sẽ có các chỉ số sau được theo dõi:

Tên Loại Mô tả
genkit/action/requests Bộ đếm Số lần thực thi hành động này
genkit/action/latency Biểu đồ Độ trễ thực thi (mili giây)

Mỗi chỉ số hành động chứa các phương diện sau:

Tên Mô tả
name Tên của hành động
featureName Tên của tính năng mẹ đang được thực thi
đường dẫn Đường dẫn thực thi từ thư mục gốc của tính năng đến hành động này. Ví dụ: '/myFeature/parentAction/thisAction'
trạng thái "success" (thành công) hoặc "failure" (không thành công) tuỳ thuộc vào việc hành động có thành công hay không
error Chỉ đặt khi status=failure. Chứa loại lỗi gây ra lỗi
nguồn Ngôn ngữ nguồn Genkit. Ví dụ: 'ts'
sourceVersion Phiên bản khung Genkit

Tạo chỉ số

Đây là các chỉ số hành động đặc biệt liên quan đến các hành động tương tác với một mô hình. Ngoài các yêu cầu và độ trễ, dữ liệu đầu vào và đầu ra cũng được theo dõi, với các phương diện dành riêng cho mô hình giúp việc gỡ lỗi và điều chỉnh cấu hình trở nên dễ dàng hơn.

Tên Loại Mô tả
genkit/ai/generate/requests Bộ đếm Số lần gọi mô hình này
genkit/ai/generate/latency Biểu đồ Độ trễ thực thi (mili giây)
genkit/ai/generate/input/tokens Bộ đếm Mã thông báo đầu vào
genkit/ai/generate/output/tokens Bộ đếm Mã thông báo đầu ra
genkit/ai/generate/input/characters Bộ đếm Nhập ký tự
genkit/ai/generate/output/characters Bộ đếm Ký tự đầu ra
genkit/ai/generate/input/images Bộ đếm Nhập hình ảnh
genkit/ai/generate/output/images Bộ đếm Hình ảnh đầu ra
genkit/ai/generate/input/audio Bộ đếm Tệp âm thanh đầu vào
genkit/ai/generate/output/audio Bộ đếm Tệp âm thanh đầu ra

Mỗi chỉ số được tạo chứa các phương diện sau:

Tên Mô tả
modelName Tên mô hình
featureName Tên của tính năng mẹ đang được thực thi
đường dẫn Đường dẫn thực thi từ thư mục gốc của tính năng đến hành động này. Ví dụ: '/myFeature/parentAction/thisAction'
latencyMs Thời gian phản hồi của mô hình
trạng thái "success" (thành công) hoặc "failure" (không thành công) tuỳ thuộc vào việc yêu cầu tính năng có thành công hay không
error Chỉ đặt khi status=failure. Chứa loại lỗi gây ra lỗi
nguồn Ngôn ngữ nguồn Genkit. Ví dụ: 'ts'
sourceVersion Phiên bản khung Genkit

Theo dõi

Tất cả hành động Genkit đều được tự động đo lường để cung cấp dấu vết chi tiết cho các tính năng AI của bạn. Trên máy, các dấu vết sẽ xuất hiện trong Giao diện người dùng dành cho nhà phát triển. Đối với các ứng dụng đã triển khai, hãy bật tính năng Giám sát Genkit của Firebase để có cùng mức độ hiển thị.

Các phần sau đây mô tả những thuộc tính theo dõi mà bạn có thể mong đợi dựa trên loại thao tác Genkit cho một span cụ thể trong dấu vết.

Vùng gốc

Các span gốc có các thuộc tính đặc biệt để giúp phân biệt các thuộc tính trạng thái cho toàn bộ dấu vết so với một span riêng lẻ.

Tên thuộc tính Mô tả
genkit/feature Tên của tính năng mẹ đang được thực thi
genkit/isRoot Đánh dấu là đúng nếu span này là span gốc
genkit/rootState Trạng thái của quá trình thực thi tổng thể là success hoặc error. Điều này không cho biết bước này không thành công.

Dòng chảy

Tên thuộc tính Mô tả
genkit/input Dữ liệu đầu vào cho flow. Giá trị này sẽ luôn là <redacted> do giới hạn kích thước thuộc tính theo dõi.
genkit/metadata/subtype Loại hành động Genkit. Đối với luồng, giá trị này sẽ là flow.
genkit/name Tên của thao tác Genkit này. Trong trường hợp này là tên của luồng
genkit/output Kết quả được tạo trong luồng. Giá trị này sẽ luôn là <redacted> do giới hạn kích thước thuộc tính theo dõi.
genkit/path Đường dẫn thực thi đủ điều kiện dẫn đến bước này trong dấu vết, bao gồm cả thông tin loại.
genkit/state Trạng thái thực thi của span này là success hoặc error.
genkit/type Loại nguyên hàm Genkit tương ứng với span này. Đối với luồng, giá trị này sẽ là action.

Util

Tên thuộc tính Mô tả
genkit/input Dữ liệu đầu vào cho util. Giá trị này sẽ luôn là <redacted> do giới hạn kích thước thuộc tính theo dõi.
genkit/name Tên của thao tác Genkit này. Trong trường hợp này là tên của luồng
genkit/output Kết quả được tạo trong util. Giá trị này sẽ luôn là <redacted> do giới hạn kích thước thuộc tính theo dõi.
genkit/path Đường dẫn thực thi đủ điều kiện dẫn đến bước này trong dấu vết, bao gồm cả thông tin loại.
genkit/state Trạng thái thực thi của span này là success hoặc error.
genkit/type Loại nguyên hàm Genkit tương ứng với span này. Đối với luồng, giá trị này sẽ là util.

Mô hình

Tên thuộc tính Mô tả
genkit/input Dữ liệu đầu vào cho mô hình. Giá trị này sẽ luôn là <redacted> do giới hạn kích thước thuộc tính theo dõi.
genkit/metadata/subtype Loại hành động Genkit. Đối với các mô hình, giá trị này sẽ là model.
genkit/model Tên của mô hình.
genkit/name Tên của thao tác Genkit này. Trong trường hợp này là tên của mô hình.
genkit/output Kết quả do mô hình tạo ra. Giá trị này sẽ luôn là <redacted> do giới hạn kích thước thuộc tính theo dõi.
genkit/path Đường dẫn thực thi đủ điều kiện dẫn đến bước này trong dấu vết, bao gồm cả thông tin loại.
genkit/state Trạng thái thực thi của span này là success hoặc error.
genkit/type Loại nguyên hàm Genkit tương ứng với span này. Đối với luồng, giá trị này sẽ là action.

Công cụ

Tên thuộc tính Mô tả
genkit/input Dữ liệu đầu vào cho mô hình. Giá trị này sẽ luôn là <redacted> do giới hạn kích thước thuộc tính theo dõi.
genkit/metadata/subtype Loại hành động Genkit. Đối với các công cụ, đó sẽ là tool.
genkit/name Tên của thao tác Genkit này. Trong trường hợp này là tên của mô hình.
genkit/output Kết quả do mô hình tạo ra. Giá trị này sẽ luôn là <redacted> do giới hạn kích thước thuộc tính theo dõi.
genkit/path Đường dẫn thực thi đủ điều kiện dẫn đến bước này trong dấu vết, bao gồm cả thông tin loại.
genkit/state Trạng thái thực thi của span này là success hoặc error.
genkit/type Loại nguyên hàm Genkit tương ứng với span này. Đối với luồng, giá trị này sẽ là action.

Nhật ký

Đối với các ứng dụng đã triển khai bằng tính năng Giám sát Genkit của Firebase, nhật ký được dùng để ghi lại siêu dữ liệu đầu vào, đầu ra và cấu hình, cung cấp thông tin chi tiết phong phú về từng bước trong tính năng AI của bạn.

Tất cả nhật ký sẽ bao gồm các trường siêu dữ liệu dùng chung sau:

Tên trường Mô tả
insertId Mã nhận dạng duy nhất của mục nhật ký
jsonPayload Vùng chứa thông tin biến riêng biệt cho từng loại nhật ký
nhãn {module: genkit}
logName projects/weather-gen-test-next/logs/genkit_log
receivedTimestamp Thời gian mà đám mây nhận được nhật ký
tài nguyên Thông tin về nguồn nhật ký, bao gồm cả khu vực thông tin triển khai và projectId
mức độ nghiêm trọng Mức độ nhật ký được ghi. Xem LogSeverity của Cloud
spanId Giá trị nhận dạng cho span đã tạo nhật ký này
dấu thời gian Thời gian mà ứng dụng khách ghi lại một thông báo
dấu vết Giá trị nhận dạng cho dấu vết của định dạng projects/<project-id>/traces/<trace-id>
traceSampled Giá trị boolean thể hiện liệu dấu vết có được lấy mẫu hay không. Nhật ký không được lấy mẫu.

Mỗi loại nhật ký sẽ có một tải trọng json khác nhau được mô tả trong từng phần.

Mục nhập

Gói dữ liệu JSON:

Tên trường Mô tả
thông báo [genkit] Input[<path>, <featureName>] bao gồm (message X of N) đối với thư nhiều phần
siêu dữ liệu Ngữ cảnh bổ sung bao gồm cả thông báo đầu vào được gửi đến hành động

Siêu dữ liệu:

Tên trường Mô tả
nội dung Nội dung tin nhắn đầu vào được gửi đến hành động Genkit này
featureName Tên của luồng, thao tác, công cụ, tiện ích hoặc trình trợ giúp Genkit.
messageIndex * Chỉ mục cho biết thứ tự của thông báo đối với các dữ liệu đầu vào chứa nhiều thông báo. Đối với một tin nhắn, giá trị này sẽ luôn là 0.
model * Tên mô hình.
đường dẫn Đường dẫn thực thi đã tạo nhật ký này ở định dạng step1 > step2 > step3
partIndex * Chỉ mục cho biết thứ tự của các phần trong một thư đối với thư nhiều phần. Đây là trường hợp điển hình khi kết hợp văn bản và hình ảnh trong một phương thức nhập.
qualifiedPath Đường dẫn thực thi đã tạo nhật ký này, bao gồm cả thông tin loại của định dạng: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model
totalMessages * Tổng số thông báo cho dữ liệu đầu vào này. Đối với một tin nhắn, giá trị này sẽ luôn là 1.
tổng số phần * Tổng số phần của thông báo này. Đối với thư một phần, giá trị này sẽ luôn là 1.

(*) Các mục được gắn dấu sao chỉ xuất hiện trên Nhật ký đầu vào cho các lượt tương tác với mô hình.

Đầu ra

Gói dữ liệu JSON:

Tên trường Mô tả
thông báo [genkit] Output[<path>, <featureName>] bao gồm (message X of N) đối với thư nhiều phần
siêu dữ liệu Ngữ cảnh bổ sung bao gồm cả thông báo đầu vào được gửi đến hành động

Siêu dữ liệu:

Tên trường Mô tả
candidateIndex * (không dùng nữa) Chỉ mục cho biết thứ tự của các đề xuất cho các kết quả chứa nhiều đề xuất. Đối với nhật ký có một đề xuất, giá trị này sẽ luôn là 0.
nội dung Thông báo đầu ra do hành động Genkit tạo ra
featureName Tên của luồng, thao tác, công cụ, tiện ích hoặc trình trợ giúp Genkit.
messageIndex * Chỉ mục cho biết thứ tự của thông báo đối với các dữ liệu đầu vào chứa nhiều thông báo. Đối với một tin nhắn, giá trị này sẽ luôn là 0.
model * Tên mô hình.
đường dẫn Đường dẫn thực thi đã tạo nhật ký này ở định dạng "step1 > step2 > step3
partIndex * Chỉ mục cho biết thứ tự của các phần trong một thư đối với thư nhiều phần. Đây là trường hợp điển hình khi kết hợp văn bản và hình ảnh trong một đầu ra.
qualifiedPath Đường dẫn thực thi đã tạo nhật ký này, bao gồm cả thông tin loại của định dạng: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model
totalCandidates * (không dùng nữa) Tổng số đề xuất được tạo dưới dạng đầu ra. Đối với thông báo có một đề xuất, giá trị này sẽ luôn là 1.
totalParts * Tổng số phần của thông báo này. Đối với thư một phần, giá trị này sẽ luôn là 1.

(*) Các mục được gắn dấu sao chỉ xuất hiện trên Nhật ký đầu ra cho các lượt tương tác với mô hình.

Config

Gói dữ liệu JSON:

Tên trường Mô tả
thông báo [genkit] Config[<path>, <featureName>]
siêu dữ liệu Ngữ cảnh bổ sung bao gồm cả thông báo đầu vào được gửi đến hành động

Siêu dữ liệu:

Tên trường Mô tả
featureName Tên của luồng, thao tác, công cụ, tiện ích hoặc trình trợ giúp Genkit.
mô hình Tên mô hình.
đường dẫn Đường dẫn thực thi đã tạo nhật ký này ở định dạng "step1 > step2 > step3
qualifiedPath Đường dẫn thực thi đã tạo nhật ký này, bao gồm cả thông tin loại của định dạng: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model
nguồn Ngôn ngữ thư viện Genkit được sử dụng. Giá trị này sẽ luôn được đặt thành "ts" vì đây là ngôn ngữ duy nhất được hỗ trợ.
sourceVersion Phiên bản thư viện Genkit.
nhiệt độ Nhiệt độ mô hình được sử dụng.

Đường dẫn

Gói dữ liệu JSON:

Tên trường Mô tả
thông báo [genkit] Paths[<path>, <featureName>]
siêu dữ liệu Ngữ cảnh bổ sung bao gồm cả thông báo đầu vào được gửi đến hành động

Siêu dữ liệu:

Tên trường Mô tả
flowName Tên của luồng, thao tác, công cụ, tiện ích hoặc trình trợ giúp Genkit.
đường dẫn Một mảng chứa tất cả các đường dẫn thực thi cho các span đã thu thập.