Плагин телеметрии Firebase экспортирует комбинацию метрик, трассировок и журналов в Google Cloud Observability. В этом документе подробно описано, какие метрики, атрибуты трассировки и журналы будут собираться, а также чего можно ожидать с точки зрения задержки, квот и стоимости.
Задержка телеметрии
Может пройти небольшая задержка, прежде чем телеметрия от данного вызова станет доступна в Firebase. Это зависит от вашего интервала экспорта (по умолчанию 5 минут).
Квоты и лимиты
Есть несколько квот, которые важно учитывать:
Расходы
Cloud Logging, Cloud Trace и Cloud Monitoring имеют щедрые бесплатные уровни. Конкретные цены можно найти по следующим ссылкам:
Метрики
Плагин телеметрии Firebase собирает ряд различных показателей для поддержки различных типов действий Genkit, подробно описанных в следующих разделах.
Метрики функций
Функции — это точка входа верхнего уровня в ваш код Genkit. В большинстве случаев это будет поток. В противном случае это будет самый верхний диапазон трассировки.
Имя | Тип | Описание |
---|---|---|
генкит/функция/запросы | Прилавок | Количество запросов |
генкит/функция/задержка | Гистограмма | Задержка выполнения в мс |
Каждая метрика функции содержит следующие измерения:
Имя | Описание |
---|---|
имя | Название функции. В большинстве случаев это поток Genkit верхнего уровня. |
статус | «успех» или «неудача» в зависимости от того, удался ли запрос функции. |
ошибка | Устанавливается только тогда, когда status=failure . Содержит тип ошибки, вызвавшей сбой |
источник | Исходный язык Genkit. Например. 'тс' |
исходная версия | Версия платформы Genkit |
Метрики действий
Действия представляют собой общий этап выполнения в Genkit. На каждом из этих шагов будут отслеживаться следующие показатели:
Имя | Тип | Описание |
---|---|---|
генкит/действие/запросы | Прилавок | Сколько раз это действие было выполнено |
генкит/действие/задержка | Гистограмма | Задержка выполнения в мс |
Каждая метрика действия содержит следующие измерения:
Имя | Описание |
---|---|
имя | Название действия |
имя_функции | Имя выполняемого родительского объекта |
путь | Путь выполнения от корня функции до этого действия. например. '/myFeature/parentAction/thisAction' |
статус | «успех» или «неудача» в зависимости от того, удалось ли действие |
ошибка | Устанавливается только тогда, когда status=failure . Содержит тип ошибки, вызвавшей сбой |
источник | Исходный язык Genkit. Например. 'тс' |
исходная версия | Версия платформы Genkit |
Генерация показателей
Это специальные метрики действий, относящиеся к действиям, которые взаимодействуют с моделью. Помимо запросов и задержки, также отслеживаются входные и выходные данные с учетом конкретных параметров модели, которые упрощают отладку и настройку конфигурации.
Имя | Тип | Описание |
---|---|---|
genkit/ai/генерировать/запросы | Прилавок | Сколько раз вызывалась эта модель |
genkit/ai/генерировать/задержка | Гистограмма | Задержка выполнения в мс |
genkit/ai/генерировать/ввод/токены | Прилавок | Входные токены |
genkit/ai/генерировать/вывод/токены | Прилавок | Выходные токены |
genkit/ai/генерировать/ввод/символы | Прилавок | Ввод символов |
genkit/ai/генерировать/вывод/символы | Прилавок | Выходные символы |
genkit/ai/генерировать/ввод/изображения | Прилавок | Ввод изображений |
genkit/ai/генерировать/вывод/изображения | Прилавок | Вывод изображений |
genkit/ai/генерировать/ввод/аудио | Прилавок | Входные аудиофайлы |
genkit/ai/генерировать/вывод/аудио | Прилавок | Вывод аудиофайлов |
Каждая генерируемая метрика содержит следующие измерения:
Имя | Описание |
---|---|
имя модели | Название модели |
имя_функции | Имя выполняемого родительского объекта |
путь | Путь выполнения от корня функции до этого действия. например. '/myFeature/parentAction/thisAction' |
задержка мс | Время отклика модели |
статус | «успех» или «неудача» в зависимости от того, удался ли запрос функции. |
ошибка | Устанавливается только тогда, когда status=failure . Содержит тип ошибки, вызвавшей сбой |
источник | Исходный язык Genkit. Например. 'тс' |
исходная версия | Версия платформы Genkit |
Следы
Все действия Genkit автоматически обрабатываются для обеспечения подробного отслеживания ваших функций искусственного интеллекта. Локально следы видны в пользовательском интерфейсе разработчика. Для развернутых приложений включите Firebase Genkit Monitoring, чтобы получить тот же уровень видимости.
В следующих разделах описывается, какие атрибуты трассировки можно ожидать в зависимости от типа действия Genkit для определенного диапазона трассировки.
Корневые пролеты
Корневые диапазоны имеют специальные атрибуты, помогающие устранить неоднозначность атрибутов состояния всей трассировки по сравнению с отдельным диапазоном.
Имя атрибута | Описание |
---|---|
генкит/функция | Имя выполняемого родительского объекта |
генкит/isRoot | Помечено как true, если этот диапазон является корневым. |
генкит/rootState | Состояние общего выполнения: success или error . Это не означает, что этот шаг в частности не удался. |
Поток
Имя атрибута | Описание |
---|---|
генкит/вход | Вход в поток. Это всегда будет <redacted> из-за ограничений размера атрибута трассировки. |
генкит/метаданные/подтип | Тип действия Genkit. Для потоков это будет flow . |
генкит/имя | Имя этого действия Genkit. В этом случае имя потока |
генкит/выход | Выходные данные, созданные в потоке. Это всегда будет <redacted> из-за ограничений размера атрибута трассировки. |
генкит/путь | Полный путь выполнения, ведущий к этому шагу трассировки, включая информацию о типе. |
генкит/состояние | Состояние выполнения этого диапазона: success или error . |
генкит/тип | Тип примитива Genkit, соответствующий этому диапазону. Для потоков это будет action . |
Утилита
Имя атрибута | Описание |
---|---|
генкит/вход | Вход в утилиту. Это всегда будет <redacted> из-за ограничений размера атрибута трассировки. |
генкит/имя | Имя этого действия Genkit. В этом случае имя потока |
генкит/выход | Вывод, сгенерированный в файле util. Это всегда будет <redacted> из-за ограничений размера атрибута трассировки. |
генкит/путь | Полный путь выполнения, ведущий к этому шагу трассировки, включая информацию о типе. |
генкит/состояние | Состояние выполнения этого диапазона: success или error . |
генкит/тип | Тип примитива Genkit, соответствующий этому диапазону. Для потоков это будет util . |
Модель
Имя атрибута | Описание |
---|---|
генкит/вход | Входные данные для модели. Это всегда будет <redacted> из-за ограничений размера атрибута трассировки. |
генкит/метаданные/подтип | Тип действия Genkit. Для моделей это будет model . |
генкит/модель | Название модели. |
генкит/имя | Имя этого действия Genkit. В данном случае название модели. |
генкит/выход | Выходные данные, сгенерированные моделью. Это всегда будет <redacted> из-за ограничений размера атрибута трассировки. |
генкит/путь | Полный путь выполнения, ведущий к этому шагу трассировки, включая информацию о типе. |
генкит/состояние | Состояние выполнения этого диапазона: success или error . |
генкит/тип | Тип примитива Genkit, соответствующий этому диапазону. Для потоков это будет action . |
Инструмент
Имя атрибута | Описание |
---|---|
генкит/вход | Входные данные для модели. Это всегда будет <redacted> из-за ограничений размера атрибута трассировки. |
генкит/метаданные/подтип | Тип действия Genkit. Для инструментов это будет tool . |
генкит/имя | Имя этого действия Genkit. В данном случае название модели. |
генкит/выход | Выходные данные, сгенерированные моделью. Это всегда будет <redacted> из-за ограничений размера атрибута трассировки. |
генкит/путь | Полный путь выполнения, ведущий к этому шагу трассировки, включая информацию о типе. |
генкит/состояние | Состояние выполнения этого диапазона: success или error . |
генкит/тип | Тип примитива Genkit, соответствующий этому диапазону. Для потоков это будет action . |
Журналы
Для развернутых приложений с Firebase Genkit Monitoring журналы используются для сбора метаданных ввода, вывода и конфигурации, которые предоставляют подробную информацию о каждом этапе вашей функции ИИ.
Все журналы будут включать следующие общие поля метаданных:
Имя поля | Описание |
---|---|
вставитьId | Уникальный идентификатор записи журнала |
jsonПолезная нагрузка | Контейнер для переменной информации, уникальной для каждого типа журнала. |
этикетки | {module: genkit} |
имя_журнала | projects/weather-gen-test-next/logs/genkit_log |
полученная временная метка | Время получения журнала Cloud |
ресурс | Информация об источнике журнала, включая регион информации о развертывании и идентификатор проекта. |
тяжесть | Уровень журнала записан. См. LogSeverity Cloud. |
спанид | Идентификатор диапазона, создавшего этот журнал. |
временная метка | Время, когда клиент зарегистрировал сообщение |
след | Идентификатор трассировки формата projects/<project-id>/traces/<trace-id> |
трассировкаВыборка | Логическое значение, указывающее, была ли выбрана трассировка. Журналы не выбираются. |
Каждый тип журнала будет иметь разные полезные данные JSON, описанные в каждом разделе.
Вход
Полезная нагрузка JSON:
Имя поля | Описание |
---|---|
сообщение | [genkit] Input[<path>, <featureName>] включая (message X of N) для сообщений, состоящих из нескольких частей |
метаданные | Дополнительный контекст, включая входное сообщение, отправленное действию. |
Метаданные:
Имя поля | Описание |
---|---|
содержание | Содержимое входного сообщения, отправленное в это действие Genkit. |
имя_функции | Имя потока, действия, инструмента, утилиты или помощника Genkit. |
индекс сообщения * | Индекс, указывающий порядок сообщений для входных данных, содержащих несколько сообщений. Для одиночных сообщений это всегда будет 0. |
модель * | Название модели. |
путь | Путь выполнения, при котором был создан этот журнал формата step1 > step2 > step3 |
индекс детали * | Индекс, указывающий порядок частей в сообщении для сообщений, состоящих из нескольких частей. Это типично при объединении текста и изображений в одном входе. |
квалифицированный путь | Путь выполнения, при котором был создан этот журнал, включая информацию о типе в формате: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
всего сообщений * | Общее количество сообщений для этого входа. Для одиночных сообщений это всегда будет 1. |
всегоЧасти * | Общее количество частей этого сообщения. Для сообщений, состоящих из одной части, это всегда будет 1. |
(*) Помеченные элементы присутствуют только в журналах ввода для взаимодействий модели.
Выход
Полезная нагрузка JSON:
Имя поля | Описание |
---|---|
сообщение | [genkit] Output[<path>, <featureName>] включая (message X of N) для сообщений, состоящих из нескольких частей |
метаданные | Дополнительный контекст, включая входное сообщение, отправленное действию. |
Метаданные:
Имя поля | Описание |
---|---|
индекс кандидата * (устарело) | Индекс, указывающий порядок кандидатов для выходных данных, содержащих несколько кандидатов. Для журналов с одним кандидатом это всегда будет 0. |
содержание | Выходное сообщение, созданное действием Genkit. |
имя_функции | Имя потока, действия, инструмента, утилиты или помощника Genkit. |
индекс сообщения * | Индекс, указывающий порядок сообщений для входных данных, содержащих несколько сообщений. Для одиночных сообщений это всегда будет 0. |
модель * | Название модели. |
путь | Путь выполнения, при котором был создан этот журнал в формате `шаг1 > шаг2 > шаг3. |
индекс детали * | Индекс, указывающий порядок частей в сообщении для сообщений, состоящих из нескольких частей. Это типично при объединении текста и изображений в одном выводе. |
квалифицированный путь | Путь выполнения, при котором был создан этот журнал, включая информацию о типе в формате: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
TotalCandidates * (устарело) | Общее количество кандидатов, созданных в результате. Для сообщений с одним кандидатом это всегда будет 1. |
всегоЧасти * | Общее количество частей этого сообщения. Для сообщений, состоящих из одной части, это всегда будет 1. |
(*) Помеченные элементы присутствуют только в журналах вывода для взаимодействий модели.
Конфигурация
Полезная нагрузка JSON:
Имя поля | Описание |
---|---|
сообщение | [genkit] Config[<path>, <featureName>] |
метаданные | Дополнительный контекст, включая входное сообщение, отправленное действию. |
Метаданные:
Имя поля | Описание |
---|---|
имя_функции | Имя потока, действия, инструмента, утилиты или помощника Genkit. |
модель | Название модели. |
путь | Путь выполнения, при котором был создан этот журнал в формате `шаг1 > шаг2 > шаг3. |
квалифицированный путь | Путь выполнения, при котором был создан этот журнал, включая информацию о типе в формате: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
источник | Используемый язык библиотеки Genkit. Всегда будет установлено значение «ts», поскольку это единственный поддерживаемый язык. |
исходная версия | Версия библиотеки Genkit. |
температура | Используемая модельная температура. |
Пути
Полезная нагрузка JSON:
Имя поля | Описание |
---|---|
сообщение | [genkit] Paths[<path>, <featureName>] |
метаданные | Дополнительный контекст, включая входное сообщение, отправленное действию. |
Метаданные:
Имя поля | Описание |
---|---|
имя потока | Имя потока, действия, инструмента, утилиты или помощника Genkit. |
пути | Массив, содержащий все пути выполнения для собранных диапазонов. |