Weave Observability
Weave Observability
Weave는 Weights & Biases가 만든, LLM 기반 애플리케이션을 추적·실험·평가·배포·개선하기 위한 툴킷이에요.
AI SDK와 통합한 후 Weave를 사용해 프롬프트, 응답, 플로우, 비용 등을 포함한 AI SDK 애플리케이션의 trace 정보를 보고 상호작용할 수 있어요.
출처: 문서
본문
설정
Weave를 OpenTelemetry 백엔드로 설정하려면 trace를 Weave의 OpenTelemetry 엔드포인트로 라우팅하고 API 키를 설정하며 팀과 프로젝트를 지정해야 해요. trace를 Weave에 로그하려면 Weights & Biases 계정이 있어야 해요.
인증
먼저 wandb.ai/authorize로 가서 API 키를 복사하고 다음을 실행해 base64로 인코딩된 인증 문자열을 생성해요:
echo -n "api:<YOUR_API_KEY>" | base64
출력을 기록해 두세요. 환경 구성에서 사용하게 됩니다.
프로젝트 구성
W&B 프로젝트 ID는 텔레메트리 데이터가 로그될 위치를 식별해요.
형식은 <YOUR_TEAM_NAME>/<YOUR_PROJECT_NAME>이에요.
- Weights & Biases 대시보드로 이동해요.
- Teams 섹션에서 팀을 선택하거나 만들어요.
- 기존 프로젝트를 선택하거나 새로 만들어요.
- 다음 단계를 위해
<YOUR_TEAM_NAME>/<YOUR_PROJECT_NAME>을 기록해 두세요.
Next.js
Next.js 앱의 .env 파일에 OTEL 환경 변수를 설정해요. <BASE64_AUTH_STRING>과 <YOUR_TEAM_NAME>/<YOUR_PROJECT_NAME>을 이전 단계의 값으로 바꿔요:
OTEL_EXPORTER_OTLP_ENDPOINT="https://trace.wandb.ai/otel/v1/traces"
OTEL_EXPORTER_OTLP_HEADERS="Authorization=Basic <BASE64_AUTH_STRING>,project_id=<YOUR_TEAM_NAME>/<YOUR_PROJECT_NAME>"
@ai-sdk/otel을 설치하고 instrumentation.ts 파일에서 LegacyOpenTelemetry를 등록해요:
import { registerTelemetry } from 'ai';
import { LegacyOpenTelemetry } from '@ai-sdk/otel';
registerTelemetry(new LegacyOpenTelemetry());
그런 다음 telemetry 옵션을 사용해 지원되는 AI SDK 함수 호출에서 텔레메트리를 활성화할 수 있어요:
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
const result = await generateText({
model: openai('gpt-6-luna'),
prompt: 'What is 2 + 2?',
telemetry: {
metadata: {
query: 'math',
difficulty: 'easy',
},
},
});
자료
더 알아보기 (Learn more)
- 출처 문서: Weave Observability