SẢN PHẨM × KỸ THUẬT

Kỹ thuật Chatbot: Hướng dẫn thực hành

CHATBOT ENGINEERING / FIELD GUIDE

Từ phân tích sản phẩm đến data agent, đánh giá model, fine-tuning và vận hành. Học qua ví dụ Commerce Assist, đọc kết quả đo và thử demo EN/VI.

Thử Commerce Assist ↗ · Read in English

Chọn lộ trình đọc

  • Product: bài 1 → 8 → 9, xác định giá trị, chi phí và UX.
  • Engineering: bài 2 → 4 → 3 → 5 → 6 → 7, từ hợp đồng đến vận hành.

Chín chương

  1. Phân tích công việc trước khi xây chatbot

    Xác định công việc, ranh giới rủi ro, mục tiêu chất lượng và lộ trình giảm phụ thuộc model bằng đo lường.

  2. Xây data agent giải thích được các con số

    Thiết kế data agent có semantic layer, tool chỉ đọc, cô lập tenant và câu trả lời kiểm chứng được.

  3. Chọn model chatbot có thể vận hành và train

    So sánh model local, routing CPU và fine-tuning GPU theo chất lượng tác vụ, phần cứng và khả năng vận hành.

  4. Chứng minh model chatbot nhỏ có đủ tốt không

    Tạo bộ test độc lập, chấm câu trả lời có căn cứ và đo chất lượng, chi phí, coverage cùng lúc.

  5. Train hành vi, retrieval kiến thức: thực hành LoRA

    Chuẩn bị dữ liệu có giám sát, cấu hình thử nghiệm adapter và đánh giá giá trị vận hành của fine-tuning.

  6. Tăng tốc chatbot và giữ chất lượng

    Tối ưu context, output, caching, retrieval và inference theo ngân sách độ trễ, token từ đầu đến cuối.

  7. Vận hành chatbot riêng tư trên production

    Thiết kế cô lập tenant, tool giới hạn, kiểm soát phát hành, khôi phục lỗi và observability cho chatbot.

  8. Định giá chatbot theo chi phí thực tế

    Tính chi phí tác vụ thành công, cache write và công suất; xây gói tính phí client minh bạch.

  9. Thiết kế chatbot dễ tin cậy, cấu hình và khôi phục

    Thiết kế quy trình trả lời và phân tích, cấu hình an toàn, accessibility và hướng dẫn dùng demo thực tế.

Thử nghiệm và bằng chứng

Benchmark và training là thử nghiệm trên dữ liệu giả lập do tác giả xây dựng, có các template tương quan. Không chứng minh tương đương model lớn hoặc chất lượng trên dữ liệu khách hàng. Model sinh plan được đo offline; demo công khai dùng baseline có kiểm soát. Benchmark: đã hoàn thành bốn candidate. LoRA: completed, 64/64 bước.

Kết quả thực nghiệm trên bộ test giả lập
Candidate Đúng plan Đúng kết quả / metric Output không hợp lệ p50 / ms RSS / MiB
baseline 120/120 60/60 0 0.043 25
qwen25 8/120 7/60 37 12113.0 618
qwen3 29/120 24/60 9 7200.4 920
adapter 80/120 50/60 2 7888.2 918

Adapter có giúp ích không?

Trên cùng 120 ca, Qwen3 gốc đúng 29 plan; adapter đúng 80, chênh lệch +51 ca. Đây là một lần chạy với một seed trên fixture hẹp, không phải ước lượng chất lượng tổng quát.

Output không hợp lệ giảm từ 9 xuống 2; đề xuất metric ở các ca cần từ chối giảm từ 25 xuống 11. Warm p50 của adapter là 7.89 giây so với 7.20 giây của base. Adapter cải thiện contract nhưng chưa đạt điều kiện bật public; demo tiếp tục dùng baseline. Đây không phải bằng chứng tương đương model lớn.

So sánh từng ca: 51 cải thiện, 0 hồi quy, 69 không đổi. Các ID và output trước/sau có trong results.json.

Challenge riêng: kỳ trước bằng 0

Hai ca EN/VI được báo cáo riêng, không cộng vào 120 ca chính. September so với June có previous total bằng 0; percent change phải là null. Trong cả hai ca EN/VI, cả ba model bỏ mất comparison_period dù câu hỏi yêu cầu so sánh. Arithmetic có bảo vệ vẫn không sửa được lỗi hiểu yêu cầu này.

Candidate Đúng plan / 2
baseline 2/2
qwen25 0/2
qwen3 0/2
adapter 0/2

p50 đo trên CPU workstation, không gồm HTTP/Cloudflare public; subset warm 18 lần, mẫu nhỏ. RSS là snapshot, không phải peak; RSS baseline thuộc process benchmark, không phải toàn bộ web service LXC. Q8_0 GGUF qua llama.cpp; training CPU float32.

Tự chạy ví dụ

Tải code, tests và hướng dẫn · Dataset JSON · Kết quả đo JSON · Results CSV

Weights không nằm trong gói; script tải revision chính thức được pin. Không cần API key inference. Đọc README để phân biệt chạy demo, benchmark và training.