Hướng dẫn kết nối Kimi K3: Một key là gọi được mô hình open-weight lớn nhất trên EXAIV
Hướng dẫn kết nối Kimi K3: Một key là gọi được mô hình open-weight lớn nhất trên EXAIV
Kimi K3 là flagship open-weight của Moonshot AI ra mắt tháng 7 năm 2026: kiến trúc mixture-of-experts có 2.8 nghìn tỷ tham số tổng, mỗi lần chỉ kích hoạt khoảng 104 tỷ, ngữ cảnh 1,000,000 token và hiểu trực tiếp ảnh với video. Nó đạt GPQA 93.5%, AIME 91.2% và Arena.ai frontend code 80.6% — điểm mở cao nhất. EXAIV serving qua model ID kimi-k3 trên endpoint tương thích OpenAI — bạn giữ nguyên SDK hiện tại, chỉ đổi ba chỗ thiết lập. Hướng dẫn này lần lượt đi qua kết nối, streaming, output cấu trúc và xử lý lỗi.
Phiên bản 30 giây
Model ID: kimi-k3. Base URL https://exaiv.com/api/ai/v1, key của EXAIV, model kimi-k3. Mọi tham số khác như OpenAI, không đổi SDK.
Mô hình này là gì
Kimi K3 ra mắt 16/7/2026 và công bố weight đầy đủ 27/7. Điểm khác biệt không phải một benchmark đơn lẻ mà là ba thứ cùng đúng
| Khía cạnh | kimi-k3 |
|---|---|
| Tham số / kích hoạt | 2.8T / khoảng 104B (MoE) |
| Cửa sổ ngữ cảnh | 1,000,000 token (input + output chung) |
| Đa phương thức | Ảnh + video |
| GPQA / AIME | 93.5% / 91.2% |
| Arena.ai Frontend Code | 80.6% (cao nhất trong open) |
| Open weight | Có (giấy phép Kimi) |
Open weight nghĩa là bạn có thể chạy offline. Điều cần biết trong giấy phép: bắt buộc ghi tên, và điều khoản thêm nếu bạn cung cấp mô hình dịch vụ khi doanh thu trên 20 triệu USD. Người dùng cá nhân, nghiên cứu và hệ thống nội bộ không bị ảnh hưởng.
Bước kết nối
Bước 1: tạo API key — Đăng ký EXAIV, tạo key trên console, key chỉ hiển thị một lần, hãy đưa vào biến môi trường ngay, không commit vào repo.
Bước 2: xác nhận endpoint
| Thiết lập | Giá trị |
|---|---|
| Base URL | https://exaiv.com/api/ai/v1 |
| Chat | https://exaiv.com/api/ai/v1/chat/completions |
| Auth | Authorization: Bearer <API Key> |
Bước 3: model thành kimi-k3
Kiểm tra bằng curl
curl https://exaiv.com/api/ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $EXAIV_API_KEY" \
-d '{
"model": "kimi-k3",
"messages": [
{"role": "system", "content": "You are a precise technical assistant"},
{"role": "user", "content": "Explain how MoE saves compute in three sentences"}
]
}'
Structure phản hồi giống OpenAI: choices[0].message.content là nội dung, usage báo số token.
Python
from openai import OpenAI
const client = new OpenAI({
apiKey: process.env.EXAIV_API_KEY,
baseURL: "https://exaiv.com/api/ai/v1",
});
const resp = await client.chat.completions.create({
model: "kimi-k3",
messages: [
{ role: "user", content: "Turn this requirement into a development task list" },
],
});
console.log(resp.choices[0].message.content);
Streaming output
Giao diện tương tác nên luôn streaming, không thì người dùng nhìn màn hình trắng. kimi-k3 hỗ trợ SSE chuẩn
stream = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "Compare open weights versus closed API access"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta
if delta and delta.content:
print(delta.content, end="", flush=True)
Parsing event SSE và reconnect ở hướng dẫn streaming. Đoạn trả lời dài của kimi-k3 giữ được sự liên tục tốt.
Output cấu trúc JSON
Với công việc tái cấu trúc, phân loại và trích xuất, yêu cầu mô hình trả JSON trực tiếp đáng tin hơn parsing regex sau. kimi-k3 hỗ trợ output nghiêm ngặt
resp = client.chat.completions.create(
model="kimi-k3",
messages=[
{"role": "system", "content": "Extract people, companies, and dates as JSON"},
{"role": "user", "content": "Zhang San met Li Si in Hangzhou last Friday"},
],
response_format={"type": "json_object"},
)
print(resp.choices[0].message.content)
Xử lý lỗi thường gặp
| Triệu chứng | Nguyên nhân có thể | Khắc phục |
|---|---|---|
| 401 | key sai hoặc bị xóa | Tạo mới, kiểm tra biến môi trường |
| 404 model not found | ID sai chính tả hoặc catalog đổi | Kiểm tra ID ở trang mô hình |
| 429 | Chạm giới hạn | Backoff và retry, giảm parallel |
| Trả lời bị cắt ngang | max_tokens quá nhỏ | Tăng max_tokens hoặc chia nhỏ |
| Input quá dài | Vượt cửa sổ ngữ cảnh | 1 triệu token khó chạm, kiểm tra ghép lặp trước |
Truyền ảnh để phân tích
K3 đa phương thức trực tiếp, endpoint cùng một cái nhận ảnh kèm text qua image_url, hỗ trợ base64 hoặc URL công khai
import base64
with open("chart.png", "rb") as f:
data_url = "data:image/png;base64," + base64.b64encode(f.read()).decode()
resp = client.chat.completions.create(
model="kimi-k3",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Describe the trend and list outliers"},
{"type": "image_url", "image_url": {"url": data_url}},
],
}],
)
Workflow screenshot thành UI, đọc tài liệu và agent hiểu video đều dùng endpoint này, không cần vision API riêng.
Tham số cần xem xét
| Tham số | Lời khuyên |
|---|---|
| max_tokens | Giới hạn rõ vì output chiếm cửa sổ chung |
| temperature | Thấp cho trích xuất, cao cho brainstorm |
| response_format | json_object khi máy cần xử lý kết quả |
| stream | Luôn stream cho giao diện tương tác |
| tools | Định nghĩa chuẩn, K3 load tool động được |
Dùng trong framework
Endpoint tương thích OpenAI nên framework phổ biến kết nối được bằng một lần thiết lập. Ví dụ LangChain
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="kimi-k3",
api_key=os.environ["EXAIV_API_KEY"],
base_url="https://exaiv.com/api/ai/v1",
)
LlamaIndex, Dify, LobeChat, Cherry Studio đều như vậy — đặt base URL, dán key, gọi tên mô hình.
Thiết lập môi trường đúng cách
Phần lớn lỗi lần đầu là do thiết lập chứ không phải code
EXAIV_API_KEY=sk-...your-key...
EXAIV_BASE_URL=https://exaiv.com/api/ai/v1
Ba thói quen: load key từ biến môi trường không viết thẳng vào code, đặt base URL vào config để đổi giữa EXAIV và máy local chỉ một dòng, và đưa key vào luân phiên bảo mật.
Các mã lỗi
| Mã | Nghĩa | Xử lý chung |
|---|---|---|
| 400 | Yêu cầu lỗi | Kiểm tra JSON và loại tham số |
| 401 | Key không hợp lệ | Tạo mới, kiểm tra khoảng trắng sau |
| 404 | Không biết mô hình | So sánh với catalog live |
| 413 | Payload quá lớn | Tối ưu input, nén ảnh trước |
| 429 | Bị giới hạn tần suất | Backoff exponential + jitter |
| 5xx | Lỗi upstream | Retry, theo dõi trang trạng thái |
Wrap client bằng helper coi 429 và 5xx là có thể retry, các lỗi khác fail fast.
ID mô hình theo catalog live
kimi-k3 là ID thật trong catalog EXAIV lúc viết bài này. Catalog thay đổi theo upstream, kiểm tra ID ở trang mô hình trước khi đưa vào sản phẩm để tránh 404 với tên cũ.
Cloud hay tự host
- Cloud (EXAIV): phù hợp production, không cần quản lý GPU, tính theo token, mở rộng tức thì. Ngữ cảnh 1 triệu token đủ cho đa số workload.
- Tự host (open weight): phù hợp team nhạy cảm dữ liệu hoặc cần fine-tune sâu. Weight K3 đã công bố, triển khai local qua GGUF cộng đồng.
Quyết định đơn giản: nếu dữ liệu không thể ra ngoài và bạn có ngân sách compute, tự host; muốn lên nhanh và ổn định, dùng cloud. Chạy lại cùng một tập prompt trên hai môi trường, kết quả nên tương đồng.
Lưu ý về độ trễ
Prompt ngắn thường trả về trong vài giây, input ngữ cảnh dài sẽ chậm theo kích thước. Thiết kế cho phù hợp: call tương tác giữ ngữ cảnh ngắn, việc đọc sâu dành cho nền hoặc streaming. Nếu giao diện phải chờ request dài, stream để người dùng thấy tiến độ.
Mẹo vận hành production
Vài kinh nghiệm thực tế khi đưa kimi-k3 vào sản phẩm:
- Ghim phiên bản cấu hình: model ID có thể thay đổi theo catalog, hãy đặt tên model trong config thay vì rải rác trong code để đổi một chỗ là xong
- Giám sát token theo tính năng: log
usagetheo từng loại công việc, thường một workflow chiếm phần lớn ngân sách mà không ai để ý - Warm-up sau deploy: request đầu tiên sau khi deploy luôn chậm hơn, gửi một prompt ngắn để làm nóng trước khi traffic thật vào
- Xử lý lỗi phân tầng: 429 và 5xx retry với backoff, 4xx fail fast — đừng retry mù quáng lỗi do lập trình
- Đo trước khi tối ưu: dùng số liệu token thật để quyết định cắt gì, đừng đoán theo cảm giác
Với ngữ cảnh dài, thêm một nguyên tắc: đừng gửi toàn bộ tài liệu nếu chỉ cần một phần. Bước chọn lọc trước khi gọi model rẻ hơn nhiều so với việc trả tiền cho token không dùng đến. Và luôn đặt tên model trong file cấu hình thay vì nhiều nơi trong code — khi catalog đổi, bạn chỉ sửa một chỗ.
FAQ
kimi-k3 trên EXAIV có giống Kimi chính thức không
Có cần tài khoản Moonshot không
Xử lý ảnh và video được không
Ngữ cảnh 1 triệu token nghĩa là gì trong thực tế
Xem giá ở đâu
Giấy phép weight ràng buộc thương mại gì
Bài viết này trả lời những gì
- tích hợp Kimi K3 API thế nào
- gọi kimi-k3 với một key thế nào
- viết streaming và structured output thế nào
Sơ đồ tình huống nhanh
| Nếu bạn cần | Xem phần |
|---|---|
| chạy thật nhanh | Bước kết nối |
| phân tích ảnh | Truyền ảnh |
| chẩn đoán lỗi | Xử lý lỗi thường gặp |
Nhìn về phía trước
Catalog và trọng số tiếp tục thay đổi; các quy ước tích hợp và gọi ở đây theo tài liệu chính thức tại thời điểm xuất bản.
Nguồn và xác minh
Các sự kiện chính trong bài viết này lấy từ model card chính thức của Kimi K3, trang mô hình EXAIV và tài liệu tham khảo OpenAI API và được xác minh vào 2026-11-09. Model ID, giá và khả dụng theo catalog trực tiếp của nền tảng — cố tình không ghi số cố định dễ lỗi thời. Code mẫu theo hợp đồng API tại thời điểm xuất bản; kiểm tra tài liệu chính thức trước khi đưa vào production.
Phạm vi và đối tượng
Đối tượng: các developer tích hợp Kimi K3 vào ứng dụng. Phạm vi: cấu hình kết nối, gọi API, streaming, structured output và xử lý lỗi thường gặp. Không bao gồm: nội bộ mô hình, phương pháp fine-tune, hoặc thương lượng giá.
Ghi chú biên tập và chính tả
Viết bởi đội nội dung EXAIV từ các sự kiện kiểm chứng được, kiểm tra nguồn và code trước khi xuất bản. Nếu có nội dung lỗi thời hoặc sai, trang phát hành chính thức và catalog trực tiếp là chuẩn — hãy báo qua kênh phản hồi của trang để chúng tôi cập nhật.
Đọc tiếp
- Hướng dẫn Kimi K3 và GLM
- Ngữ cảnh dài của Kimi K3
- Screenshot thành UI
- Chuyển OpenAI SDK
- Xử lý lỗi API