River Studio River Studio Google Google Microsoft Microsoft Spotify Spotify 🤖 AI Adobe Adobe 🔷 Autodesk 🛡️ Bảo mật

Hướng dẫn cấu hình config.toml cho Codex để dùng 9Router với API từ ChiaseGPU

Nếu anh muốn dùng Codex ổn định hơn, dễ đổi nhà cung cấp hơn và kiểm soát key tốt hơn, thì mô hình Codex → 9Router → ChiaseGPU là một cách đi khá hợp lý.

Tại sao nên dùng 9Router ở giữa?

9Router đóng vai trò như một lớp điều phối trung gian giữa Codex và nhà cung cấp model. Thay vì để Codex gọi thẳng đến từng dịch vụ AI, anh gom tất cả về một đầu mối rồi quản lý ở đó.

  • Dễ thay nhà cung cấp: hôm nay dùng ChiaseGPU, ngày mai muốn đổi sang nguồn khác thì chỉ cần sửa ở 9Router, không phải đi sửa lại từng file cấu hình.
  • Quản lý key gọn hơn: Codex chỉ biết key của 9Router. Key upstream được giữ trong dashboard 9Router, đỡ lộ và đỡ rối.
  • Dễ route nhiều model: cùng một lớp 9Router, anh có thể nối nhiều provider, nhiều model và điều khiển theo nhu cầu.
  • Dễ debug hơn: khi có lỗi, anh biết đang lỗi ở tầng Codex, tầng 9Router hay tầng nhà cung cấp model.
  • Dễ scale về sau: nếu sau này anh muốn thêm nhiều app cùng dùng AI, 9Router giúp gom tất cả về một chỗ quản trị.
Giao diện provider trong 9Router đang trỏ tới endpoint của ChiaseGPU
Giao diện provider trong 9Router. Ở đây anh có thể thấy provider Anthropic Compatible đang trỏ tới endpoint của ChiaseGPU.

Tại sao nên dùng LLM API của ChiaseGPU?

Nếu mục tiêu là có một nguồn model dùng được ở Việt Nam, chi phí dễ kiểm soát và có thể tự tạo key theo nhu cầu, thì ChiaseGPU khá hợp cho các bài toán kiểu Codex, automation hoặc agent nội bộ.

  • Chủ động tạo key: ChiaseGPU có lớp API quản trị riêng để tạo PAT, tạo LLM key và quản lý subscriptions.
  • Phù hợp cho tích hợp: API v2 cho phép quản lý key, usage và model theo hướng khá rõ ràng.
  • Dễ tách tầng quản trị và tầng gọi model: PAT dùng để quản trị, còn LLM key dùng để gọi model. Cách này sạch hơn về mặt vận hành.
  • Phù hợp với luồng qua router: khi đi qua 9Router, mô hình key của ChiaseGPU khá hợp vì có thể tạo key riêng cho từng mục đích.
  • Thuận tiện cho team nội bộ: có thể cấp key cho từng app hoặc từng workflow mà không cần dùng chung một khóa duy nhất.
Màn hình đăng nhập console của ChiaseGPU
Console của ChiaseGPU là nơi anh quản lý tài khoản, tạo PAT và tạo LLM key để dùng cho 9Router.

Sơ đồ hoạt động

Luồng request chuẩn sẽ là: Codex → 9Router local → ChiaseGPU → model

Điều quan trọng nhất khi cấu hình là phân biệt đúng 3 loại key:

  • ChiaseGPU PAT (pat-...) — dùng để quản lý tài khoản, tạo LLM key qua API v2
  • ChiaseGPU LLM key (sk-...) — dùng để gắn vào provider trong 9Router
  • 9Router API key (sk-...) — dùng trong config.toml của Codex

Thông tin thực tế từ dashboard 9Router hiện tại

Dựa trên dashboard đang chạy local, provider hiện tại có các thông tin sau:

  • Provider type: Anthropic Compatible
  • Upstream base URL: https://llm.chiasegpu.vn/v1
  • API path: /messages
  • Model đang thấy: claude-sonnet-4.6
  • Tunnel endpoint của 9Router: https://rtgp347.9router.com/v1

Nếu anh dùng local theo đúng máy đang chạy hiện tại, Codex vẫn nên trỏ vào http://127.0.0.1:20128/v1. Còn tunnel là lựa chọn khi muốn gọi từ nơi khác.

Bước 1: Tạo PAT trong ChiaseGPU

Vào console ChiaseGPU → phần Tài khoản → tạo Personal Access Token.

  • Mỗi user có 1 PAT duy nhất
  • Token chỉ hiện ra 1 lần khi tạo — cần lưu lại ngay
  • PAT dùng với header: Authorization: Bearer pat-your-token

PAT không phải key để gọi model. Đây là key quản trị tài khoản.

Bước 2: Tạo LLM key trên ChiaseGPU

Sau khi có PAT, tạo LLM API key bằng endpoint:

POST https://chiasegpu.vn/api/v2/llm/keys

Ví dụ bằng curl:

curl -X POST "https://chiasegpu.vn/api/v2/llm/keys" 
  -H "Authorization: Bearer pat-your-token" 
  -H "Content-Type: application/json" 
  -d '{"name": "9Router Claude Key"}'

Response trả về raw_key: "sk-xxx..." — đây là key chỉ hiện 1 lần, cần lưu lại ngay.

Nếu không muốn dùng API, anh có thể tạo key trực tiếp trong console ChiaseGPU.

Bước 3: Subscribe model cho LLM key

Nếu LLM key chưa được gán model, 9Router sẽ gọi upstream được nhưng model không chạy.

Có thể subscribe qua console ChiaseGPU, hoặc qua API:

POST https://chiasegpu.vn/api/v2/llm/keys/:id/subscriptions

{
  "provider_id": "provider-uuid",
  "model_id": "model-id",
  "alias": "my-alias"
}

Bước 4: Gắn ChiaseGPU LLM key vào 9Router

Mở dashboard 9Router, vào provider Anthropic Compatible đang trỏ tới https://llm.chiasegpu.vn/v1/messages.

  1. Bấm Edit ở phần Connections
  2. Dán ChiaseGPU LLM key dạng sk-... vào ô API Key
  3. Bấm Save

Lưu ý quan trọng: Ô này dùng ChiaseGPU LLM key (sk-...), không phải PAT (pat-...).

Bước 5: Lấy Base URL và API key của 9Router

Mở trang Endpoint của 9Router và lấy 2 thông tin:

  • Base URL local: http://127.0.0.1:20128/v1
  • 9Router API key: key do 9Router cấp ở mục API Keys

Đây là thông tin Codex dùng để gọi vào 9Router — không phải key của ChiaseGPU.

Bước 6: Cấu hình file config.toml cho Codex

Trên Windows, file thường nằm ở:

C:\Users\ADMIN\.codex\config.toml

Cấu hình tối giản để chạy ngay:

model = "claude-sonnet-4.6"
model_provider = "9router"
model_reasoning_effort = "high"

[model_providers.9router]
name = "9Router"
base_url = "http://127.0.0.1:20128/v1"
api_key = "sk-REPLACE_WITH_YOUR_9ROUTER_KEY"
wire_api = "responses"

Ý nghĩa từng dòng

  • model — tên model đang có trong 9Router provider
  • model_provider — tên provider khai báo ở block bên dưới
  • base_url — Codex gọi vào 9Router local, không gọi thẳng ChiaseGPU
  • api_key — là 9Router key, không phải key ChiaseGPU
  • wire_api = "responses" — kiểu giao tiếp chuẩn của Codex với provider này

Các lỗi thường gặp

1. Dùng nhầm PAT trong 9Router provider

PAT (pat-...) chỉ dùng để gọi API quản trị ChiaseGPU. Ô API Key trong 9Router phải là LLM key dạng sk-....

2. Dùng nhầm ChiaseGPU key trong config.toml

config.toml chỉ dùng 9Router API key. ChiaseGPU key lưu bên trong 9Router, Codex không cần biết.

3. Trỏ base_url thẳng sang ChiaseGPU

Nếu đặt base_url = "https://llm.chiasegpu.vn/v1" thì Codex sẽ bỏ qua 9Router, mất lớp routing và quản lý key tập trung.

4. Chọn sai tên model

Tên model trong config.toml phải khớp với model đã có trong provider của 9Router. Kiểm tra lại dashboard nếu gặp lỗi model not found.

Kết luận

Nếu anh muốn một cấu hình dễ quản lý, dễ đổi nguồn model và ít phải sửa lại nhiều nơi, thì dùng 9Router ở giữa là hợp lý. Còn nếu anh cần một nguồn key tách bạch giữa tầng quản trị và tầng gọi model, ChiaseGPU là một lựa chọn khá gọn để ghép vào luồng đó.

  • ChiaseGPU lo phần key và model
  • 9Router lo phần route và điều phối
  • Codex chỉ cần nói chuyện với một endpoint duy nhất

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Need Help? Chat with us
aixanh
Typically replies within a day.
Chào bạn. Cần hỗ trợ gì bạn cứ để lại tin nhắn nhé!
Translate »
📞Hotline 💬Zalo 🔵Telegram 💬Facebook ⬆️Top