Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

Vue d’ensemble

Type: Framework ou plateformeChemin principal: compatible OpenAI par défautNiveau de support: Modèle d’intégration recommandé
Pour TokenLab, 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 TokenLab. 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 tokenlab = createOpenAICompatible({
  name: 'tokenlab',
  apiKey: process.env.TOKENLAB_API_KEY,
  baseURL: 'https://api.tokenlab.sh/v1',
});

Générer du texte

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

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

console.log(text);

Diffuser du texte en flux

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

const result = await streamText({
  model: tokenlab.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 { tokenlab } from './tokenlab';

const result = await generateText({
  model: tokenlab.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 { tokenlab } from './tokenlab';

const { object } = await generateObject({
  model: tokenlab.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 tokenlabResponses = createOpenAI({
  apiKey: process.env.TOKENLAB_API_KEY,
  baseURL: 'https://api.tokenlab.sh/v1',
});
import { generateText } from 'ai';
import { tokenlabResponses } from './tokenlab-responses';

const { text } = await generateText({
  model: tokenlabResponses('gpt-5.4'),
  prompt: 'Explain TokenLab 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
TOKENLAB_API_KEY=sk-your-tokenlab-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 TokenLab dans le code côté client. Placez la configuration du fournisseur dans des fichiers serveur ou des routes API.