Latitude Observability
Latitude Observability
Latitude (GitHub) 는 시맨틱 트레이스 검색과 이슈 추적을 갖춘 AI 에이전트 관측성을 위한 오픈소스 MIT 라이선스 플랫폼이에요. AI SDK와 연동되어 다음을 캡처해요:
- 모든
generateText,streamText, tool 호출의 트레이스 - 호출별 토큰 사용량과 지연시간
- 반복 이슈로 묶이는 오류 및 실패 패턴
출처: 문서
본문
설정 (Setup)
Latitude의 SDK는 전역 OpenTelemetry 트레이서를 등록해요. AI SDK의 텔레메트리 통합을 등록하면 모든 AI SDK 호출이 자동으로 스팬을 발생시켜요.
두 패키지를 모두 설치하세요:
app.latitude.so 에 로그인하고 대시보드에서 API 키와 프로젝트 슬러그를 가져오세요. 환경에 설정하세요:
LATITUDE_API_KEY="..."
LATITUDE_PROJECT_SLUG="..."
시작 시 한 번 Latitude를 초기화하고 텔레메트리를 등록하세요. 그 후에는 모든 AI SDK 호출이 자동으로 트레이스를 발생시켜요:
import { Latitude } from '@latitude-data/telemetry';
import { registerTelemetry, generateText } from 'ai';
import { OpenTelemetry } from '@ai-sdk/otel';
import { openai } from '@ai-sdk/openai';
const latitude = new Latitude({
apiKey: proces...EY!,
project: process.env.LATITUDE_PROJECT_SLUG!,
});
registerTelemetry(new OpenTelemetry());
const { text } = await generateText({
model: openai('gpt-6-astra'),
prompt: 'Hello',
});
await latitude.shutdown();
네임드 트레이스와 호출별 메타데이터(태그, 사용자 ID, 세션 ID)를 원한다면 Latitude의 capture() 헬퍼로 호출을 감싸세요:
import { capture } from '@latitude-data/telemetry';
await capture('generate-support-reply', async () => {
const { text } = await generateText({
model: openai('gpt-6-astra'),
prompt: 'Hello',
});
return text;
});