Arize-ai/openinference

OpenTelemetry Instrumentation for AI Observability

OpenInference란 무엇인가요?

OpenInference는 모든 AI/LLM 애플리케이션에 OpenTelemetry 스타일의 추적 기능을 추가할 수 있는 표준 및 즉시 사용 가능한 플러그인 세트입니다. 프롬프트 흐름, 모델 호출, 벡터 저장소 검색, 도구 사용 등을 기록하는 방법을 설명하는 사양(markdown 파일 모음)을 정의합니다. 이 사양은 형식에 구애받지 않으므로 데이터를 JSON, protobuf, DataFrames 또는 기타 전송 형식으로 출력할 수 있습니다.

왜 중요한가요?

  • LLM 애플리케이션의 가시성 – OpenTelemetry가 마이크로서비스의 지연 시간과 오류에 대한 통찰력을 제공하는 것처럼, OpenInference는 생성형 AI 파이프라인의 숨겨진 단계(프롬프트 구성, 검색, 도구 호출, 모델 응답)에 대한 가시성을 제공합니다.
  • 벤더 중립적 – 이 사양은 모든 OpenTelemetry 호환 백엔드(예: Jaeger, Prometheus, Grafana)와 작동하며 Arize의 제품(Phoenix, AX)에 이미 내장되어 있지만 다른 곳에서도 사용할 수 있습니다.
  • 광범위한 언어 지원 – 이 저장소는 가장 인기 있는 LLM 프레임워크 및 서비스(OpenAI, Anthropic, LangChain, LlamaIndex, Bedrock, VertexAI 등)를 위한 방대한 Python 계측 패키지 컬렉션을 제공합니다.

핵심 구성 요소

구성 요소 기능 사용 방법
사양 (/spec) LLM 호출, 검색, 도구 사용 등을 추적하기 위한 의미론적 규칙을 정의합니다. 추적 데이터를 내보낼 때 markdown 사양을 따르세요. 라이브러리가 자동으로 생성할 수 있습니다.
의미론적 규칙 라이브러리 (openinference-semantic-conventions) 추적 페이로드에 포함되어야 하는 상수 이름과 속성 정의를 제공합니다. 계측 코드에서 상수를 가져와 규정 준수를 보장합니다.
계측 유틸리티 (openinference-instrumentation) 기존 코드를 쉽게 래핑할 수 있는 도우미 함수, 데코레이터 및 구성 객체입니다. LLM 클라이언트 호출 주위에 데코레이터를 추가하거나 도우미 함수를 호출합니다.
프레임워크별 플러그인 (예: openinference-instrumentation-openai, ‑langchain, ‑llama-index, ‑anthropic, …) 인기 있는 SDK를 자동 계측하여 수동 보일러플레이트 없이 모든 요청/응답을 추적합니다. 사용하는 SDK와 일치하는 패키지를 설치하세요. 가져오기 시 SDK를 자동으로 패치합니다.

시작하기 (Python 예제)

# 핵심 규칙과 사용하는 SDK용 플러그인을 설치합니다
pip install openinference-semantic-conventions openinference-instrumentation-openai
from openinference.instrumentation.openai import OpenAIInstrumentor
from openai import OpenAI

# 자동 추적 활성화
OpenAIInstrumentor().instrument()

client = OpenAI()
# 이 호출은 이제 OpenInference 사양을 따르는 OpenTelemetry 스팬을 생성합니다
response = client.chat.completions.create(model="gpt-4", messages=[{"role": "user", "content": "Hello"}])

생성된 스팬은 모든 OpenTelemetry 수집기(예: Jaeger, Zipkin)로 전송되어 대시보드에서 시각화할 수 있으며, 지연 시간, 오류율, 토큰 사용량 및 LLM 워크플로우의 전체적인 모습을 파악할 수 있습니다.

누가 사용해야 하나요?

  • ML 엔지니어 및 데이터 과학자: 프로덕션 LLM 서비스를 구축하고 모니터링 및 디버깅이 필요한 분.
  • DevOps / SRE 팀: 이미 OpenTelemetry를 운영 중이며 AI 워크로드까지 가시성을 확장하려는 팀.
  • 제품 팀: 사용량을 감사하고, 이상 징후를 감지하거나, 다양한 모델 공급자 간의 성능을 측정하려는 팀.

TL;DR – OpenInference는 커뮤니티 주도의 사양과 풍부한 Python 플러그인 생태계로, 생성형 AI 애플리케이션에 OpenTelemetry 스타일의 추적 기능을 제공하여 LLM 파이프라인을 관찰 가능하고 디버깅 가능하며 모니터링 백엔드 간에 이식 가능하게 만듭니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트