Ana içeriğe atla

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.

Genel Bakış

Tür: Framework veya platformBirincil yol: Varsayılan OpenAI ile uyumlu yolDestek seviyesi: Önerilen entegrasyon deseni
TokenLab için Vercel AI SDK’deki en kararlı varsayılan seçenek OpenAI ile uyumlu sağlayıcıdır. Özellikle Responses native davranışına ihtiyacınız varsa, OpenAI sağlayıcısına geçebilir ve aynı TokenLab temel URL’sini kullanmaya devam edebilirsiniz. Bu sayfa önerilen bir entegrasyon deseni olarak okunmalıdır; bu depoda Vercel AI SDK içindeki her yardımcı için özel uçtan uca test bulunduğu iddiası olarak değil.

Önerilen Varsayılan: OpenAI ile uyumlu sağlayıcı

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

Metin Üretme

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

Metni Akış Olarak Alma

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

Tool Çağırma

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

Yapılandırılmış Çıktı

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

Özellikle Responses-Native Davranışına İhtiyacınız Varsa

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.',
});
Proxy tarzı entegrasyonlar için güvenli varsayılan olarak @ai-sdk/openai-compatible kullanın. Yalnızca /v1/responses üzerine kurulu bir sağlayıcı yolu özellikle istediğinizde @ai-sdk/openai’a geçin.

Ortam Değişkenleri

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

En İyi Uygulamalar

Üçüncü taraf geçitler ve proxy arka uçlar için @ai-sdk/openai-compatible genellikle en az sürpriz yaratan başlangıç noktasıdır.
/v1/responses ile ilişkili sağlayıcı davranışına ihtiyacınız varsa, tek bir client içinde iki yaklaşımı karıştırmak yerine sağlayıcı package’ını bilinçli olarak değiştirin.
TokenLab API key’inizi asla client-side code içinde açığa çıkarmayın. Sağlayıcı kurulumunu server dosyalarına veya API route’larına yerleştirin.