Сбор телеметрии

Плагин телеметрии 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.
пути Массив, содержащий все пути выполнения для собранных диапазонов.