TokenLab

Hướng dẫn cốt lõi

Định dạng API

Chọn Chat Completions, Responses, Messages hoặc Gemini

Một khóa TokenLab dùng được với bốn định dạng API. Giữ định dạng ứng dụng đang dùng và kiểm tra tokenlab.accepted_request_formats trên trang mô hình hoặc qua GET /v1/models/{model}. Không phải mô hình nào cũng hỗ trợ cả bốn định dạng.

Chat Completions

POST /v1/chat/completions · openai_chat_completions

Phù hợp với ứng dụng chat tương thích OpenAI, lịch sử tin nhắn, streaming và gọi hàm được mô hình hỗ trợ. Các trường riêng của định dạng khác không được bảo đảm hỗ trợ.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["TOKENLAB_API_KEY"],
    base_url="https://api.tokenlab.sh/v1",
)

response = client.chat.completions.create(
    model="gpt-5.6-luna",
    messages=[{"role": "user", "content": "Hello!"}],
)

print(response.choices[0].message.content)

Responses

POST /v1/responses · openai_responses

Dùng khi accepted_request_formats chứa openai_responses. Định dạng này hỗ trợ tạo, lấy, rút gọn, xóa, streaming, tạo và tiếp tục qua WebSocket, cùng phản hồi nền trên mô hình phù hợp. Xóa phản hồi đã lưu không hủy phản hồi đang chạy.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["TOKENLAB_API_KEY"],
    base_url="https://api.tokenlab.sh/v1",
)

response = client.responses.create(
    model="gpt-5.6-terra",
    input="Explain why the sky is blue in two sentences.",
)

print(response.output_text)

Anthropic Messages

POST /v1/messages · anthropic_messages

Trong SDK Anthropic, đặt base URL là máy chủ TokenLab, không thêm /v1. Giữ lệnh gọi công cụ Claude, khối thinking và trường bộ nhớ đệm prompt trong định dạng Messages.

import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ["TOKENLAB_API_KEY"],
    base_url="https://api.tokenlab.sh",
)

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=512,
    messages=[{"role": "user", "content": "Hello!"}],
)

print(message.content[0].text)

Gemini

POST /v1beta/models/:model:generateContent · gemini_generate_content

Phù hợp với ứng dụng dùng contents, parts, tệp, bộ nhớ đệm hoặc công cụ Gemini. Chấp nhận tên ProtoJSON lowerCamelCase và tên snake_case gốc; không gửi cả hai cách viết của cùng một trường trong một yêu cầu.

curl "https://api.tokenlab.sh/v1beta/models/gemini-3.5-flash:generateContent" \
  -H "Authorization: Bearer $TOKENLAB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"parts": [{"text": "Hello!"}]}]
  }'

Giữ nguyên định dạng hội thoại

Mỗi định dạng biểu diễn trạng thái hội thoại và kết quả công cụ khác nhau. Dùng một định dạng cho cả hội thoại; chuyển đổi và xác thực lịch sử trong ứng dụng trước khi di chuyển.

Trường không xác định

Việc chuyển tiếp một trường không bảo đảm mô hình hỗ trợ trường đó. Chỉ dựa vào tính năng được công bố cho mô hình đã chọn và xử lý lỗi trường không được hỗ trợ.

Tài liệu liên quan

Trên trang này