Плагин Google Cloud экспортирует данные телеметрии и журналирования Firebase Genkit в операционный пакет Google Cloud .
Монтаж
npm i --save @genkit-ai/google-cloud
Если вы хотите локально запускать потоки, использующие этот плагин, вам также необходимо установить инструмент Google Cloud CLI .
Настройте учетную запись Google Cloud
Для этого плагина требуется учетная запись Google Cloud ( зарегистрируйтесь, если у вас ее еще нет) и проект Google Cloud.
Прежде чем добавлять плагин, убедитесь, что для вашего проекта включены следующие API:
Эти API должны быть перечислены на панели управления API вашего проекта.
Нажмите здесь , чтобы узнать больше о включении и отключении API.
Конфигурация генкита
Чтобы включить экспорт в Google Cloud Tracing, Logging и Monitoring, добавьте плагин googleCloud
в свою конфигурацию Genkit:
import { googleCloud } from '@genkit-ai/google-cloud';
export default configureGenkit({
plugins: [googleCloud()],
enableTracingAndMetrics: true,
telemetry: {
instrumentation: 'googleCloud',
logger: 'googleCloud',
},
});
При запуске в рабочей среде ваши телеметрические данные автоматически экспортируются.
Плагину требуется идентификатор проекта Google Cloud и учетные данные вашего проекта Google Cloud. Если вы запускаете свой поток из среды Google Cloud (Cloud Functions, Cloud Run и т. д.), идентификатор проекта и учетные данные устанавливаются автоматически. Для работы в других средах необходимо установить переменную среды GCLOUD_PROJECT
для вашего проекта Google Cloud и пройти аутентификацию с помощью инструмента gcloud
:
gcloud auth application-default login
Дополнительные сведения см. в документации по учетным данным приложения по умолчанию .
Конфигурация плагина
Плагин googleCloud()
принимает дополнительный объект конфигурации:
{
projectId?: string,
telemetryConfig?: TelemetryConfig
}
идентификатор проекта
Эта опция позволяет явно указать идентификатор проекта Google Cloud. В большинстве случаев в этом нет необходимости.
телеметрияConfig
Этот параметр настраивает экземпляр 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
Эта опция заставит Genkit экспортировать данные телеметрии и журналов при работе в среде dev
(например, локально).
пробоотборник
В случаях, когда экспорт всех трассировок нецелесообразен, OpenTelemetry позволяет выполнять выборку трассировок.
Существует четыре предварительно настроенных семплера:
- AlwaysOnSampler — выборка всех трассировок
- AlwaysOffSampler — сэмплирует без следов
- ParentBased — образцы на основе родительского диапазона.
- TraceIdRatioBased — выборка настраиваемого процента трассировок.
autoInstrumentation и autoInstrumentationConfig
Включение автоматического инструментирования позволяет OpenTelemetry собирать данные телеметрии из сторонних библиотек без необходимости изменения кода.
метрикиЭкспортИнтервал
В этом поле указывается интервал экспорта метрик в миллисекундах.
Проверьте свою интеграцию
При настройке плагина используйте forceDevExport: true
, чтобы включить экспорт телеметрии для локальных запусков. Это быстрый способ отправить ваши первые события для мониторинга в Google Cloud.
Мониторинг производства с помощью операционного пакета Google Cloud
После развертывания потока перейдите к операционному пакету Google Cloud и выберите свой проект.
Журналы и трассировки
В боковом меню найдите «Журнал» и нажмите «Проводник журналов».
Вы увидите все журналы, связанные с развернутым потоком, включая console.log()
. Любой журнал с префиксом [genkit]
является внутренним журналом Genkit и содержит информацию, которая может быть интересна для целей отладки. Например, журналы Genkit в формате Config[...]
содержат метаданные, такие как значения температуры и topK для конкретных выводов LLM. Журналы в формате Output[...]
содержат ответы LLM, а журналы Input[...]
содержат подсказки. Cloud Logging имеет надежные списки управления доступом, которые обеспечивают детальный контроль над конфиденциальными журналами.
Для определенных строк журнала можно перейти к соответствующим трассировкам, щелкнув расширенное меню. и выберите «Просмотреть в деталях трассировки».
Откроется панель предварительного просмотра трассировки, на которой можно быстро просмотреть детали трассировки. Чтобы просмотреть полную информацию, нажмите ссылку «Просмотреть в трассировке» в правом верхнем углу панели.
Наиболее заметным элементом навигации в Cloud Trace является диаграмма рассеяния трассировки. Он содержит все со��ранные трассировки за определенный промежуток времени.
Нажатие на каждую точку данных покажет ее подробную информацию под диаграммой рассеяния.
Подробное представление содержит форму потока, включая все этапы, а также важную информацию о времени. Cloud Trace имеет возможность чередовать все журналы, связанные с данной трассировкой, в этом представлении. В раскрывающемся списке «Журналы и события» выберите параметр «Показать развернуто».
Полученное представление позволяет детально изучить журналы в контексте трассировки, включая запросы и ответы LLM.
Метрики
Просмотреть все метрики, которые экспортирует Genkit, можно, выбрав «Ведение журнала» в боковом меню и нажав «Управление метриками».
Консоль управления метриками содержит табличное представление всех собранных метрик, включая те, которые относятся к Cloud Run и окружающей среде. При нажатии на опцию «Рабочая нагрузка» откроется список, включающий метрики, собранные Genkit. Любая метрика с префиксом genkit
представляет собой внутреннюю метрику Genkit.
Genkit собирает несколько категорий метрик, включая метрики уровня потока, уровня действия и уровня генерации. Каждая метрика имеет несколько полезных измерений, облегчающих надежную фильтрацию и группировку.
Общие размеры включают в себя:
-
flow_name
— имя потока верхнего уровня. -
flow_path
— диапазон и его родительский диапазон до корневого диапазона. -
error_code
— в случае ошибки соответствующий код ошибки. -
error_message
— в случае ошибки соответствующее сообщение об ошибке. -
model
- название модели. -
temperature
- значение температуры вывода. -
topK
— значение вывода topK. -
topP
— значение вывода topP.
Метрики уровня потока
Имя | Размеры |
---|---|
генкит/поток/запросы | имя_потока, код_ошибки, сообщение_ошибки |
генкит/поток/задержка | имя_потока |
Метрики уровня действий
Имя | Размеры |
---|---|
генкит/действие/запросы | имя_потока, код_ошибки, сообщение_ошибки |
генкит/действие/задержка | имя_потока |
Метрики уровня генерации
Имя | Размеры |
---|---|
генкит/ай/генер��ровать | путь_потка, модель, температура, topK, topP, код_ошибки, сообщение_ошибки |
genkit/ai/generate/input_tokens | flow_path, модель, температура, topK, topP |
genkit/ai/generate/output_tokens | flow_path, модель, температура, topK, topP |
genkit/ai/generate/input_characters | flow_path, модель, температура, topK, topP |
genkit/ai/generate/output_characters | flow_path, модель, температура, topK, topP |
genkit/ai/generate/input_images | flow_path, модель, температура, topK, topP |
genkit/ai/generate/output_images | flow_path, модель, температура, topK, topP |
genkit/ai/генерировать/задержку | путь_потка, модель, температура, topK, topP, код_ошибки, сообщение_ошибки |
Визуализацию метрик можно выполнить с помощью обозревателя метрик. В боковом меню выберите «Ведение журнала» и нажмите «Проводник метрик».
Выберите метрику, щелкнув раскрывающийся список «Выбрать метрику», выбрав «Общий узел», «Genkit» и метрику.
Визуализация метрики будет зависеть от ее типа (счетчик, гистограмма и т. д.). Обозреватель метрик предоставляет надежные средства агрегирования и запроса, помогающие отображать метрики в виде графиков по различным измерениям.
Задержка телеметрии
Перед отображением телеметрии для конкретного выполнения потока в операционном пакете Cloud может пройти небольшая задержка. В большинстве случаев эта задержка составляет менее 1 минуты.
Квоты и лимиты
Есть несколько квот, которые важно учитывать:
- Квоты облачной трассировки
- 128 байт на ключ атрибута
- 256 байт на значение атрибута
- Квоты на ведение облачных журналов
- 256 КБ на запись журнала
- Квоты облачного мониторинга
Расходы
Cloud Logging, Cloud Trace и Cloud Monitoring имеют щедрые уровни бесплатного пользования. С конкретными ценами можно ознакомиться по следующим ссылкам: