Langsung ke konten utama

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.

Gambaran Umum

Untuk TokenLab, default yang paling stabil di Vercel AI SDK adalah penyedia yang kompatibel dengan OpenAI. Jika Anda secara khusus memerlukan perilaku Responses native, Anda dapat beralih ke penyedia OpenAI dan tetap menggunakan URL dasar TokenLab yang sama. Halaman ini sebaiknya dibaca sebagai pola integrasi yang direkomendasikan, bukan sebagai klaim bahwa setiap helper di Vercel AI SDK memiliki pengujian end-to-end khusus di repo ini.
Jenis: Framework atau platformJalur utama: Default yang kompatibel dengan OpenAITingkat dukungan: Pola integrasi yang direkomendasikan

Default yang Direkomendasikan: Penyedia yang Kompatibel dengan 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',
});

Menghasilkan Teks

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

Streaming Teks

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

Pemanggilan Tool

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

Output Terstruktur

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

Jika Anda Secara Eksplisit Memerlukan Perilaku Native 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.',
});
Gunakan @ai-sdk/openai-compatible sebagai default yang aman untuk integrasi bergaya proxy. Beralihlah ke @ai-sdk/openai hanya jika Anda secara eksplisit menginginkan jalur penyedia yang dibangun di atas /v1/responses.

Variabel Environment

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

Praktik Terbaik

Untuk gateway pihak ketiga dan backend proxy, @ai-sdk/openai-compatible biasanya merupakan titik awal yang paling minim kejutan.
Jika Anda memerlukan perilaku penyedia yang terkait dengan /v1/responses, ganti package penyedia secara sengaja alih-alih mencampurkan kedua pola dalam satu client.
Jangan pernah mengekspos TokenLab API key Anda dalam kode sisi client. Tempatkan setup penyedia di file server atau route API.