이번에 New Relic이 OpenTelemetry(OTel) 표준의 생성형 AI 트레이스(trace)를 'AI Monitoring'에 통합하는 기능을 네이티브로 지원하게 되었습니다!
Dify나 LiteLLM 환경에서는 LLM 모니터링을 위해 Langfuse나 Phoenix 등을 별도로 Docker를 이용해 띄워 셀프 호스팅하는 경우가 많지만, 이제는 별도의 환경 셀프 호스팅 없이 생성형 AI 앱에서 확인해야 할 중요한 지표들을 관측할 수 있게 되었습니다.
본 기사에서는 Dify / LiteLLM Proxy 환경에 이 업데이트를 적용하여, 생성형 AI 앱에서 LLM으로의 호출이 어떻게 가시화되고 분석될 수 있는지 설명합니다.
Dify 상에서 기사 작성 에이전트를 구성했습니다.
멀티 에이전트 구성을 통해 각 에이전트의 역할은 다음과 같습니다.
| 에이전트 | 역할 |
|---|
| 조사 에이전트 (下調べエージェント) | 리서치 담당 에이전트. 주어진 주제에 대해 기사를 작성하는 데 필요한 사실, 논점, 배경, 구체적인 예시를 목록으로 정리합니다. |
| ... | |
3개의 AI 에이전트(조사 → 집필 → 교정)를 순차적으로 거치는 Chatflow를 구동하고, 그 모든 LLM 호출을 LiteLLM Proxy를 경유하여 New Relic의 AI Monitoring에 OpenTelemetry로 가시화하는 구성을 이번에 시도했습니다.
실행 환경은 Docker를 이용했습니다.
Dify의 각 LLM 노드 → LiteLLM Proxy → Gemini 경로가 되며, Proxy가 모든 LLM 호출을 OpenTelemetry 스팬(span)으로 New Relic에 전송하도록 설정되어 있습니다.
# LiteLLM Proxy를 로컬에서 실행하는 Docker Compose 파일입니다.
#
services:
...
# LiteLLM Proxy에 OpenTelemetry의 Export 의존성을 포함한 커스텀 이미지입니다.
#
# 공식 litellm 이미지에는 OTel SDK / OTLP Exporter가 포함되어 있지 않기 때문에,
...
# LiteLLM Proxy의 환경 변수 샘플입니다.
# === Gemini ===
# Google AI Studio에서 얻은 API 키: https://aistudio.google.com/app/apikey
...
# ===== OpenTelemetry (New Relic AI Monitoring) =====
# OpenTelemetry 설정 부분만 기재
ENABLE_OTEL=true
...
Dify의 UI에서 생성한 에이전트에 테스트 프롬프트를 입력하여 LLM으로부터 출력 결과를 얻습니다.
image.png
Dify 앱에서 호출된 LLM으로의 호출이 트레이스(trace)로 확인될 수 있습니다. LLM 호출마다 토큰 소비 경향이나, 각 AI 에이전트 중 어느 부분에서 시간이 오래 걸리는지, 오류가 발생했는지 등을 트레이스를 통해 추적할 수 있습니다.
image.png
image.png
image.png
LiteLLM Proxy를 거쳐 호출된 여러 LLM 모델별의 토큰 소비 경향이나 에러 등의 품질 상황이 전용 UI에서 즉시 가시화됩니다. 어떤 LLM 모델이 품질 및 비용 측면에서 최적화되어 있는지 서비스에서의 실제 이용 상황을 고려하여 판단할 수 있습니다.
image.png
image.png
image.png
Dify / LiteLLM Proxy와 같은 생성형 AI 앱의 실행 환경에서, 'OTel 표준으로 출력하고 New Relic AI Monitoring에서 일원적으로 관리하는' 패턴은 현재 LLM 관측 가능성(Observability) 분야에서 최적의 해법 중 하나입니다.
꼭 사용해 보시기 바랍니다!!
New Relic에서는 새로운 기능이나 그 활용 방법에 대해 Qiita나 X를 통해 발신하고 있습니다!
무료 계정 생성도 가능하니 꼭 사용해 보세요!