Плагин телеметрии и журналирования Google Cloud

Плагин Google Cloud экспортирует данные телеметрии и журналирования Firebase Genkit в операционный пакет Google Cloud .

Предварительные условия

Если вы хотите локально запускать потоки, использующие этот плагин, вам необходимо установить инструмент Google Cloud CLI .

Настройте учетную запись Google Cloud

Для этого плагина требуется учетная запись Google Cloud ( зарегистрируйтесь, если у вас ее еще нет) и проект Google Cloud.

Прежде чем добавлять плагин, убедитесь, что для вашего проекта включены следующие API:

Эти API должны быть перечислены на панели управления API вашего проекта.

Нажмите здесь , чтобы узнать больше о включении и отключении API.

Конфигурация

Чтобы включить экспорт в Google Cloud Tracing, Logging and Monitoring, импортируйте пакет googlecloud и запустите Init() . После вызова Init() ваша телеметрия автоматически экспортируется.

import "github.com/firebase/genkit/go/plugins/googlecloud"
if err := googlecloud.Init(
    ctx,
    googlecloud.Config{ProjectID: "your-google-cloud-project"},
); err != nil {
    return err
}

Вы должны указать проект Google Cloud, в который вы хотите экспортировать данные телеметрии. Есть также некоторые необязательные параметры:

  • ForceExport : экспорт данных телеметрии даже при работе в среде разработки (например, при использовании genkit start или genkit flow:run ). Это быстрый способ протестировать вашу интеграцию и отправить первые события для мониторинга в Google Cloud.

    Если вы используете этот вариант, вам также необходимо сделать свои учетные данные Cloud доступными локально:

    gcloud auth application-default login
    
  • MetricInterval : интервал в наносекундах, через который экспортируются данные телеметрии. По умолчанию это 60 секунд ( 60e9 наносекунд).

  • LogLevel : минимальный уровень серьезности записей журнала для экспорта. По умолчанию slog.LevelInfo .

Плагину требуются учетные данные вашего проекта Google Cloud. Если вы запускаете свои потоки из среды Google Cloud (Cloud Run и т. д.), учетные данные устанавливаются автоматически. Для работы в других средах требуется настройка учетных данных приложения по умолчанию .

Мониторинг производства с помощью операционного пакета 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 минуты.

Квоты и лимиты

Есть несколько квот, которые важно учитывать:

Расходы

Cloud Logging, Cloud Trace и Cloud Monitoring имеют щедрые уровни бесплатного пользования. Конкретные цены можно найти по следующим ссылкам: