LLM API, Bài 1: Mô hình ngôn ngữ nhìn từ phía API
Token, cửa sổ ngữ cảnh, không trạng thái và nhiệt độ - bốn thứ quyết định mọi lời gọi.
Điều kiện hoàn thành & nhận XP
- Đọc hết 100% nội dung bài
- Hoàn thành "Kiểm tra nhanh" (0/4 câu)
Vì sao bài này quan trọng
Từ phía giao diện chat, mô hình có vẻ nhớ bạn và đọc chữ như người. Từ phía API thì khác: nó đếm token, quên sạch sau mỗi lời gọi, và trả lời ngẫu nhiên có kiểm soát. Không nắm bốn điều này, bạn sẽ thiết kế sai từ chỗ lưu lịch sử tới chỗ tính tiền.
Người dùng chat 20 lượt với bot của bạn. Ở lượt 21, ứng dụng gửi lên API những gì để mô hình còn nhớ ngữ cảnh?
Token: đơn vị của mọi thứ
Không trạng thái: lịch sử là việc của bạn
const SYSTEM = 400;
const MOI_TIN = 60;
let tongVao = 0;
for (let luot = 1; luot <= 30; luot++) {
// lịch sử: (luot - 1) cặp hỏi-đáp trước đó, cộng câu hỏi mới
const vao = SYSTEM + (luot - 1) * 2 * MOI_TIN + MOI_TIN;
tongVao += vao;
if (luot === 1 || luot === 10 || luot === 30) {
console.log("Lượt " + luot + ": " + vao + " token vào");
}
}
console.log("Cả hội thoại: " + tongVao + " token vào");Ba tham số hay bị hiểu lầm
- Cửa sổ ngữ cảnhContext window
- Trần token vào + ra của một lời gọi. Hiểu lầm hay gặp: nghĩ là chỉ giới hạn đầu vào.
- Max tokensMax tokens
- Trần token đầu ra của lời gọi này. Hiểu lầm hay gặp: nghĩ là độ dài mô hình sẽ viết.
- Nhiệt độTemperature
- Độ ngẫu nhiên khi lấy mẫu token: thấp thì ổn định hơn, không đúng hơn. Hiểu lầm hay gặp: nghĩ nhiệt độ 0 thì không bịa.
Sắp chạm trần thì làm gì
Bài tập·JavaScript·Không bắt buộc
Cửa sổ trượt cho lịch sử hội thoại
Mô hình không nhớ gì nên mỗi lượt bạn gửi lại lịch sử. Ngân sách đầu vào là 1.000 token, system prompt tốn 400. Mã dưới đang gửi lại cả 8 tin nên vượt ngân sách. Sửa để giữ các tin MỚI nhất cho tới khi hết chỗ (không được cắt đôi một tin), rồi in số tin giữ lại và tổng token vào.
Sửa mã bên dưới, bấm Chạy và kiểm tra. Chấm theo kết quả in ra - viết cách nào cũng được.
Kết quả cần in ra
Giữ 6/8 tin, 930 token vào Trong ngân sách: có
Dừng & Kiểm tra
Điểm giữa bàiVì sao chi phí mỗi lượt chat tăng dần khi hội thoại dài ra?
Từ phía API, mô hình là một hàm: token vào, token ra, không nhớ gì.
Bài sau: cấu trúc một lời gọi, từng trường một.
Ví dụ thực tế · Bot chăm sóc khách hàng nội bộ