TokenLab

Frameworks et plateformes

Vercel AI SDK

Intégrez TokenLab avec le Vercel AI SDK en utilisant des fournisseurs compatibles OpenAI ou natifs Responses

Aperçu

Pour TokenLab, le défaut le plus stable dans le Vercel AI SDK est le fournisseur compatible OpenAI.

Si vous avez spécifiquement besoin d'un comportement natif Responses, vous pouvez passer au fournisseur OpenAI tout en conservant la même URL de base TokenLab.

Considérez cette page comme un modèle d'intégration recommandé, et non comme une garantie que chaque assistant du Vercel AI SDK est pris en charge par TokenLab.

Package du fournisseur TokenLab

TokenLab maintient également un wrapper de fournisseur léger pour le Vercel AI SDK :

npm install ai @tokenlabai/ai-sdk-provider
import { generateText } from 'ai';
import { tokenlab } from '@tokenlabai/ai-sdk-provider';

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

console.log(text);

Recommandation par défaut : Fournisseur compatible OpenAI

npm install ai @ai-sdk/openai-compatible zod
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.6-terra'),
  prompt: 'Explain TokenLab in one sentence.',
});

console.log(text);

Diffuser du texte (Stream)

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

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

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

Appel d'outils (Tool Calling)

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

const result = await generateText({
  model: tokenlab.chatModel('gpt-5.6-terra'),
  prompt: 'What is the weather in San Francisco?',
  stopWhen: stepCountIs(2),
  tools: {
    weather: tool({
      description: 'Get weather in a location',
      inputSchema: 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.6-terra'),
  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.6-terra'),
  prompt: 'Explain TokenLab in one sentence.',
});

Utilisez @ai-sdk/openai-compatible comme valeur par défaut sécurisée pour les intégrations de type proxy. Ne passez à @ai-sdk/openai que si vous souhaitez explicitement un chemin de fournisseur basé sur /v1/responses.

Variables d'environnement

# .env.local
TOKENLAB_API_KEY=sk-your-tokenlab-key

Bonnes pratiques

Sur cette page