메인 콘텐츠로 건너뛰기

개요

유형: 프레임워크 / 플랫폼주요 경로: OpenAI-compatible 기본 경로지원 수준: 권장 통합 패턴
LemonData에서 Vercel AI SDK의 가장 안정적인 기본값은 OpenAI-compatible 제공자입니다. 특별히 Responses-native 동작이 필요한 경우, OpenAI 제공자로 전환하면서 동일한 LemonData base URL을 유지할 수 있습니다. 이 페이지는 권장 통합 패턴으로 참고해야 하며, 이 저장소가 Vercel AI SDK의 모든 헬퍼에 대해 전용 end-to-end 회귀를 갖고 있다는 뜻은 아닙니다.

권장 기본값: OpenAI-compatible 제공자

npm install ai @ai-sdk/openai-compatible
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';

export const lemondata = createOpenAICompatible({
  name: 'lemondata',
  apiKey: process.env.LEMONDATA_API_KEY,
  baseURL: 'https://api.lemondata.cc/v1',
});

텍스트 생성

import { generateText } from 'ai';
import { lemondata } from './lemondata';

const { text } = await generateText({
  model: lemondata.chatModel('gpt-5.4'),
  prompt: 'Explain LemonData in one sentence.',
});

console.log(text);

텍스트 스트리밍

import { streamText } from 'ai';
import { lemondata } from './lemondata';

const result = await streamText({
  model: lemondata.chatModel('gpt-5.4'),
  prompt: 'Write a short poem about coding.',
});

for await (const textPart of result.textStream) {
  process.stdout.write(textPart);
}

Tool 호출

import { generateText, tool } from 'ai';
import { z } from 'zod';
import { lemondata } from './lemondata';

const result = await generateText({
  model: lemondata.chatModel('gpt-5.4'),
  prompt: 'What is the weather in San Francisco?',
  tools: {
    weather: tool({
      description: 'Get weather in a location',
      parameters: z.object({
        location: z.string(),
      }),
      execute: async ({ location }) => ({
        location,
        temperature: 72,
        condition: 'sunny',
      }),
    }),
  },
});

console.log(result.text);

구조화된 출력

import { generateObject } from 'ai';
import { z } from 'zod';
import { lemondata } from './lemondata';

const { object } = await generateObject({
  model: lemondata.chatModel('gpt-5.4'),
  schema: z.object({
    name: z.string(),
    role: z.string(),
  }),
  prompt: 'Generate a fake developer profile.',
});

console.log(object);

명시적으로 Responses-Native 동작이 필요한 경우

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

export const lemondataResponses = createOpenAI({
  apiKey: process.env.LEMONDATA_API_KEY,
  baseURL: 'https://api.lemondata.cc/v1',
});
import { generateText } from 'ai';
import { lemondataResponses } from './lemondata-responses';

const { text } = await generateText({
  model: lemondataResponses('gpt-5.4'),
  prompt: 'Explain LemonData in one sentence.',
});
프록시 스타일 통합에는 안전한 기본값으로 @ai-sdk/openai-compatible를 사용하세요. /v1/responses 기반 경로를 명시적으로 원하는 경우에만 @ai-sdk/openai로 전환하세요.

환경 변수

# .env.local
LEMONDATA_API_KEY=sk-your-lemondata-key

모범 사례

서드파티 게이트웨이 및 프록시 백엔드의 경우, @ai-sdk/openai-compatible가 일반적으로 가장 예측 가능하고 무난한 시작점입니다.
/v1/responses에 연결된 제공자 동작이 필요한 경우, 하나의 클라이언트에서 두 패턴을 혼용하지 말고 패키지를 의도적으로 전환하세요.
클라이언트 코드에 LemonData API 키를 절대 노출하지 마세요. 제공자 설정은 서버 파일 또는 API route에 두세요.