Trình bổ trợ Google Cloud

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:

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.

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.
  • temperaturegiá trị nhiệt độ suy luận.
  • topKgiá trị hàng đầu của suy luận.
  • topPgiá 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ớ:

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: