Respan Observability

Respan Observability

Respan(구 Keywords AI)은 observability, evaluation, gateway 라우팅을 위한 LLM 엔지니어링 플랫폼이에요. Respan은 AI SDK와 연동되어 다음을 제공해요:

  • AI SDK 호출마다 트레이싱 (입력, 출력, 토큰 사용량, 비용, 지연시간)
  • Tool 호출 및 구조화된 출력 캡처
  • 단일 엔드포인트 뒤에서 250개 이상의 모델에 걸친 선택적 gateway 라우팅

출처: 문서

본문

설정 (Setup)

AI SDK는 OpenTelemetry를 통한 트레이싱을 지원해요. @respan/instrumentation-vercel 의 VercelAIInstrumentor 를 사용하면 트레이스가 Respan으로 자동 내보내져요.

설치 (Install)

npm install ai @ai-sdk/openai @respan/respan @respan/instrumentation-vercel

환경 변수 설정

RESPAN_API_KEY="your-respan-api-key"

API 키는 platform.respan.ai에서 받을 수 있어요.

Respan 초기화

<Tabs items={["Next.js", "Serverless / Node"]}>

Next.js 프로젝트 루트에 instrumentation.ts 를 만드세요:

import { Respan } from '@respan/respan';
import { VercelAIInstrumentor } from '@respan/instrumentation-vercel';

export async function register() {
  const respan = new Respan({
    apiKey: proces...KEY,
    instrumentations: [new VercelAIInstrumentor()],
  });
  await respan.initialize();
}

그런 다음 next.config.ts 에서 SDK 패키지를 서버 외부 패키지로 표시하세요:

import type { NextConfig } from 'next';

const nextConfig: NextConfig = {
  serverExternalPackages: ['@respan/respan', '@respan/instrumentation-vercel'],
};

export default nextConfig;

핸들러나 진입점의 맨 위에서 Respan을 초기화하세요:

import { Respan } from '@respan/respan';
import { VercelAIInstrumentor } from '@respan/instrumentation-vercel';

const respan = new Respan({
  apiKey: proces...KEY,
  instrumentations: [new VercelAIInstrumentor()],
});
await respan.initialize();

텔레메트리를 활성화한 텍스트 생성

import { openai } from '@ai-sdk/openai';
import { generateText } from 'ai';

const result = await generateText({
  model: openai('gpt-6-luna'),
  prompt: 'Tell me a joke about AI',
  experimental_telemetry: { isEnabled: true },
});

스팬은 입력, 출력, 토큰 사용량, 비용과 함께 Respan 트레이스 페이지에 나타나요.

Gateway 라우팅 (선택)

Respan을 프로바이더 전반의 통합 게이트웨이로 사용하려면, 어떤 AI SDK 프로바이더든 https://api.respan.ai/api 와 RESPAN_API_KEY 를 가리키게 하면 돼요. 프로바이더 키는 Respan에서 관리하며, 런타임에는 Respan 키만 필요해요.

import { createOpenAI } from '@ai-sdk/openai';
import { generateText } from 'ai';

const provider = createOpenAI({
  apiKey: proces...EY!,
  baseURL: 'https://api.respan.ai/api',
});

const result = await generateText({
  model: provider('gpt-5.4-nano'),
  prompt: 'Tell me a joke about AI',
  experimental_telemetry: { isEnabled: true },
});

동일한 게이트웨이 엔드포인트는 각각의 AI SDK 프로바이더(createAnthropic, createGoogleGenerativeAI)와 일치하는 base path(/api/anthropic, /api/google/gemini)를 사용하면 Anthropic 및 Google 모델도 허용해요.

자료

더 알아보기 (Learn more)

전체 사이트맵