TokenLab

Công cụ lập trình

Visual Studio Code

Dùng các mô hình TokenLab trong chat của VS Code với nhà cung cấp Custom Endpoint

Tổng quan

Chat của VS Code có thể dùng nhà cung cấp mô hình của riêng bạn thông qua Custom Endpoint (tự mang key, BYOK). Trang này kết nối TokenLab qua API Chat Completions.

  • Chat không cần gói Copilot. Các mô hình BYOK của VS Code hoạt động mà không cần đăng nhập GitHub.
  • Một số tính năng vẫn cần GitHub: gợi ý nội tuyến (hoàn thành mã), tìm kiếm ngữ nghĩa và các tính năng dựa trên embedding khác không do mô hình BYOK phục vụ. Key TokenLab không thay thế được chúng.
  • Người dùng Copilot Business hoặc Enterprise: quản trị viên cần cho phép chính sách Bring Your Own Language Model Key in VS Code.

Yêu cầu

  • Bản VS Code ổn định mới nhất có chế độ xem Chat.
  • Một TokenLab API key (lấy key).
  • Một mô hình chấp nhận openai_chat_completions và hỗ trợ gọi công cụ (chế độ agent chỉ liệt kê các mô hình gọi được công cụ). Trang của mô hình cho thấy cả hai: Chat Completions API ở mục định dạng API và Tool use ở mục khả năng, ví dụ GPT-5.6 Luna.

Thêm TokenLab

  1. Mở bộ chọn mô hình trong chế độ xem Chat và chọn Manage Language Models (biểu tượng bánh răng), hoặc chạy Chat: Manage Language Models từ Command Palette.
  2. Chọn Add Models → Custom Endpoint.
  3. VS Code hỏi Group Name. Ô nhập đã điền sẵn Custom Endpoint; hãy đổi thành TokenLab rồi nhấn Enter.
  4. Ngay sau đó một ô nhập có tiêu đề TokenLab: API Key mở ra. Dán TokenLab API key của bạn rồi nhấn Enter. VS Code lưu key trong kho bí mật (secret storage) của nó.
  5. Nếu VS Code hỏi loại API, hãy chọn Chat Completions. Bước này có thể không xuất hiện; apiType trong tệp bên dưới đều thiết lập nó.
  6. VS Code mở chatLanguageModels.json. Giữ nguyên dòng apiKey mà trình hướng dẫn đã tạo (nó trỏ tới key trong kho bí mật), kiểm tra apiType là chat-completions, sửa danh sách models cho khớp với mục bên dưới, rồi lưu.

Hãy nhập key trong trình hướng dẫn. Key gõ trực tiếp vào chatLanguageModels.json sẽ không được gửi, và yêu cầu sẽ lỗi vì thiếu header Authorization.

[
  {
    "name": "TokenLab",
    "vendor": "customendpoint",
    "apiKey": "${input:tokenlabApiKey}",
    "apiType": "chat-completions",
    "models": [
      {
        "id": "gpt-5.6-luna",
        "name": "GPT-5.6 Luna (TokenLab)",
        "url": "https://api.tokenlab.sh/v1/chat/completions",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 200000,
        "maxOutputTokens": 32000
      },
      {
        "id": "claude-sonnet-5-5",
        "name": "Claude Sonnet 5.5 (TokenLab)",
        "url": "https://api.tokenlab.sh/v1/chat/completions",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 200000,
        "maxOutputTokens": 32000
      },
      {
        "id": "gpt-6.1-sol",
        "name": "GPT-6.1 Sol (TokenLab)",
        "url": "https://api.tokenlab.sh/v1/chat/completions",
        "toolCalling": true,
        "vision": false,
        "maxInputTokens": 200000,
        "maxOutputTokens": 32000
      }
    ]
  }
]

Lưu ý:

  • Viết URL đầy đủ, bao gồm /chat/completions. VS Code dùng nguyên văn URL có đường dẫn API rõ ràng.
  • Với loại Chat Completions, VS Code gửi Authorization: Bearer <key>, đúng như TokenLab yêu cầu. Không thêm header xác thực tùy chỉnh.
  • id là ID mô hình TokenLab được gửi trong yêu cầu. Dùng bất kỳ mô hình đang hoạt động nào có accepted_request_formats chứa openai_chat_completions.
  • Giới hạn token: VS Code coi maxInputTokens + maxOutputTokens là cửa sổ ngữ cảnh. Các giá trị trên khá thận trọng; bạn có thể tăng tới giới hạn ghi trên trang của mô hình. Ngữ cảnh càng lớn thì mỗi yêu cầu càng tốn hơn.
  • Nếu mô hình không xuất hiện trong bộ chọn, hãy khởi động lại VS Code.

Khi không đăng nhập GitHub

Việc tạo tiêu đề, thông điệp commit và các tác vụ "utility" chạy nền khác mặc định dùng mô hình GitHub Copilot. Nếu không đăng nhập Copilot, hãy đặt chat.utilityModel và chat.utilitySmallModel thành một mô hình TokenLab (chọn mô hình nhanh, rẻ cho mô hình nhỏ), hoặc đặt chat.byokUtilityModelDefault thành Main Agent Model. Các lệnh gọi nền này được tính vào số dư TokenLab của bạn.

Kiểm tra

  1. Chọn GPT-5.6 Luna (TokenLab) trong bộ chọn mô hình (mô hình chi phí thấp, phù hợp cho lần thử đầu tiên).
  2. Trước tiên hãy hỏi một câu chỉ đọc, ví dụ: Summarize the top-level structure of this workspace. Do not modify files.
  3. Kiểm tra câu trả lời và bản ghi yêu cầu tương ứng trước khi chạy tác vụ agent.

Lưu cấu hình hoặc liệt kê được mô hình không chứng minh key hoạt động. Mỗi prompt sẽ dùng số dư TokenLab.

Khắc phục sự cố

  • Thiếu header Authorization: key không nằm trong kho bí mật. Chạy lại Add Models → Custom Endpoint và nhập key trong trình hướng dẫn thay vì trong tệp JSON.
  • 401 / xác thực thất bại: nhập lại key từ Manage Language Models → biểu tượng bánh răng cạnh nhóm TokenLab.
  • Không tìm thấy mô hình: id phải là ID mô hình TokenLab chính xác; xem trang của mô hình.
  • Không thấy mô hình trong chế độ agent: đặt "toolCalling": true và dùng mô hình hỗ trợ công cụ.
  • Loại API Messages hoặc Responses: trang này chưa đề cập; hãy dùng Chat Completions.

Không commit API key vào chatLanguageModels.json hay bất kỳ tệp nào được Git theo dõi; giữ ${input:...} trong tệp.

Trên trang này