TokenLab

Framework và nền tảng

Vercel AI SDK

Tích hợp TokenLab với Vercel AI SDK sử dụng các provider tương thích với OpenAI hoặc Responses-native

Tổng quan

Loại: Framework hoặc Platform

Đường dẫn chính: Mặc định tương thích với OpenAI

Độ tin cậy hỗ trợ: Mô hình tích hợp được khuyến nghị

Đối với TokenLab, mặc định ổn định nhất trong Vercel AI SDK là provider tương thích với OpenAI.

Nếu bạn đặc biệt cần hành vi Responses-native, bạn có thể chuyển sang provider OpenAI và giữ nguyên base URL của TokenLab.

Hãy coi trang này là một mô hình tích hợp được khuyến nghị, không phải là sự đảm bảo rằng mọi helper trong Vercel AI SDK đều được TokenLab hỗ trợ.

Gói Provider TokenLab

TokenLab cũng duy trì một trình bao bọc (wrapper) provider nhẹ cho 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);

Mặc định được khuyến nghị: Provider tương thích với 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',
});

Tạo văn bản (Generate Text)

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

Truyền phát văn bản (Stream Text)

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

Gọi công cụ (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);

Đầu ra có cấu trúc (Structured Output)

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

Nếu bạn cần hành vi Responses-Native một cách rõ ràng

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

Sử dụng @ai-sdk/openai-compatible làm mặc định an toàn cho các tích hợp kiểu proxy. Chỉ chuyển sang @ai-sdk/openai khi bạn muốn một đường dẫn provider được xây dựng trên /v1/responses.

Biến môi trường (Environment Variables)

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

Các phương pháp tốt nhất

Trên trang này