Saltar para o conteúdo principal

Visão geral

Tipo: Framework ou plataformaCaminho principal: compatível com OpenAI por padrãoNível de suporte: Padrão de integração recomendado
Para o LemonData, o padrão mais estável no Vercel AI SDK é o fornecedor compatível com OpenAI. Se você precisar especificamente do comportamento nativo do Responses, pode mudar para o fornecedor OpenAI e manter a mesma URL de base do LemonData. Esta página deve ser lida como um padrão de integração recomendado, e não como uma afirmação de que cada utilitário do Vercel AI SDK tenha cobertura de ponta a ponta dedicada neste repositório.

Padrão Recomendado: Provider Compatível com OpenAI

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',
});

Gerar texto

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);

Transmitir texto em stream

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);
}

Chamada de ferramentas

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);

Saída estruturada

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);

Se você precisar explicitamente do comportamento nativo de Responses

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.',
});
Use @ai-sdk/openai-compatible como padrão seguro para integrações no estilo proxy. Mude para @ai-sdk/openai apenas quando você quiser explicitamente um caminho de fornecedor construído sobre /v1/responses.

Variáveis de ambiente

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

Melhores práticas

Para passagens de terceiros e servidores proxy, @ai-sdk/openai-compatible geralmente é o ponto de partida menos surpreendente.
Se você precisar de um comportamento de fornecedor vinculado a /v1/responses, troque deliberadamente o pacote do fornecedor em vez de misturar os dois padrões em um único client.
Nunca exponha sua chave de API do LemonData em código do lado do client. Coloque a configuração do fornecedor em arquivos de servidor ou rotas de API.