Firebase Genkit полностью оснащен OpenTelemetry и обеспечивает встроенную поддержку телеметрии для трассировки и метрик.
Конфигурация телеметрии
Genkit автоматически управляет трассировкой и метриками, не требуя явной настройки. Вы можете включить экспорт телеметрии для Firebase или Google Cloud, используя соответствующие плагины и вспомогательные функции. Использование любого плагина обеспечивает работу панели мониторинга Firebase AI Monitoring (частная предварительная версия), которая имеет идиоматическое представление данных телеметрии в стиле AI.
Для Firebase:
import { genkit } from 'genkit';
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry({
// Firebase-specific configuration options
});
const ai = genkit({
plugins: [ ... ]
});
Более подробная информация изложена в документации плагина Firebase .
Для Google Cloud:
import { genkit } from 'genkit';
import { enableGoogleCloudTelemetry } from '@genkit-ai/google-cloud';
enableGoogleCloudTelemetry({
// Google Cloud-specific configuration options
});
const ai = genkit({
plugins: [ ... ]
});
Более подробная информация изложена в документации плагина Google Cloud .
Ведение журнала
Genkit предоставляет централизованную систему журналирования, которую можно настроить с помощью модуля журналирования. Журналы будут экспортированы в пакет операций Google Cloud, если включен экспорт телеметрии.
import { logger } from 'genkit/logging';
// Set the desired log level
logger.setLogLevel('debug');
Хранилище трассировки и пользовательский интерфейс разработчика
Трассировки автоматически фиксируются, и их можно просмотреть в пользовательском интерфейсе разработчика Genkit. Чтобы запустить пользовательский интерфейс:
npx genkit start -- <command to run your code>
При использовании Firebase данные трассировки автоматически сохраняются в Firestore. Рекомендуется включить TTL (время жизни) для отслеживаемых документов, чтобы управлять расходами на хранение и сохранностью данных.