Passer au contenu principal

Vue d’ensemble

Type: Framework ou plateformeChemin principal: compatible OpenAI par défautNiveau de support: Modèle d’intégration recommandé
Pour LemonData, l’option par défaut la plus stable dans le SDK AI Vercel est le fournisseur compatible OpenAI. Si vous avez spécifiquement besoin d’un comportement natif Responses, vous pouvez passer au fournisseur OpenAI et conserver la même URL de base LemonData. Cette page doit être lue comme un modèle d’intégration recommandé, et non comme une affirmation selon laquelle chaque utilitaire du Vercel AI SDK est couvert par des régressions de bout en bout dédiées dans ce dépôt.

Option par défaut recommandée : fournisseur compatible 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',
});

Générer du texte

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

Diffuser du texte en flux

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

Appel d’outils

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

Sortie structurée

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

Si vous avez explicitement besoin d’un comportement natif 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.',
});
Utilisez @ai-sdk/openai-compatible comme option par défaut sûre pour les intégrations de type proxy. Passez à @ai-sdk/openai uniquement lorsque vous souhaitez explicitement un chemin de fournisseur construit sur /v1/responses.

Variables d’environnement

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

Bonnes pratiques

Pour les passerelles tierces et les serveurs proxy, @ai-sdk/openai-compatible est généralement le point de départ le plus prévisible.
Si vous avez besoin d’un comportement du fournisseur lié à /v1/responses, changez délibérément de package fournisseur au lieu de mélanger les deux modèles dans un seul client.
N’exposez jamais votre clé API LemonData dans le code côté client. Placez la configuration du fournisseur dans des fichiers serveur ou des routes API.