Hướng dẫn

Cách xây dựng ứng dụng chatbot AI: khóa API, prompt, chi phí và an toàn

Để xây dựng một ứng dụng chatbot AI, bạn cần bốn thứ: giao diện trò chuyện, một máy chủ nhỏ giữ khóa API của nhà cung cấp mô hình và chuyển tin nhắn đến đó, một system prompt cho mô hình biết nó là ai và được phép làm gì, và các giới hạn giúp kiểm soát chi phí cũng như việc lạm dụng. Một công cụ xây dựng ứng dụng AI có thể viết toàn bộ phần đó từ một mô tả. Phần việc bạn vẫn phải tự làm là chọn nhà cung cấp, viết hướng dẫn và quyết định điều bot tuyệt đối không được làm.

Một ứng dụng chatbot AI gồm những phần nào

Hầu hết ứng dụng chatbot, dù là trợ lý hỗ trợ khách hàng, gia sư hay công cụ nội bộ kiểu “hỏi tài liệu của chúng tôi”, đều có cùng các thành phần:

Thành phầnChức năngCó thể bỏ qua không?
Giao diện chatDanh sách tin nhắn, ô nhập, trạng thái “đang suy nghĩ”, câu trả lời hiện dầnKhông
Tuyến máy chủNhận tin nhắn của người dùng, thêm system prompt, gọi nhà cung cấp bằng khóa bí mật của bạnKhông, khóa không bao giờ được đến trình duyệt
System promptHướng dẫn cố định: vai trò, giọng điệu, phạm vi, những gì cần từ chốiKhông
Kiến thứcNội dung riêng mà bot trả lời dựa trên (FAQ, chính sách, tài liệu sản phẩm)Có, với trợ lý tổng quát
Lưu trữ hội thoạiLưu các cuộc trò chuyện vào cơ sở dữ liệu để người dùng quay lại sauCó, với phiên bản đầu tiên
Tài khoảnĐể mỗi người dùng chỉ thấy lịch sử của chính họ, và để bạn giới hạn mức sử dụng theo từng ngườiCó, với bản demo công khai có giới hạn chặt
Giới hạn và ghi nhật kýGiới hạn độ dài tin nhắn, giới hạn tần suất, trần chi tiêu, nhật ký lỗiKhông

Tuyến máy chủ là phần mà mọi người thường làm sai nhất. Nếu trang chat gọi trực tiếp nhà cung cấp từ trình duyệt, bất kỳ ai cũng có thể mở công cụ dành cho nhà phát triển, sao chép khóa của bạn và đẩy hóa đơn lên cao.

Những quyết định cần làm trước khi xây dựng

Nhà cung cấp và mô hình

Các nhà cung cấp chính (OpenAI, Anthropic, Google và những đơn vị khác) đều có API kiểu chat hoạt động theo cùng một cách: bạn gửi một danh sách tin nhắn và nhận lại một câu trả lời. Lựa chọn thực sự quan trọng nằm ở kích cỡ mô hình hơn là thương hiệu:

  • Mô hình nhỏ hơn, nhanh hơn rẻ hơn và phản hồi nhanh. Chúng phù hợp với câu trả lời ngắn, phân loại và các bot FAQ đơn giản.
  • Mô hình lớn hơn suy luận tốt hơn, làm theo hướng dẫn dài đáng tin cậy hơn và xử lý các câu hỏi lộn xộn tốt hơn, nhưng tốn nhiều chi phí hơn cho mỗi tin nhắn và phản hồi chậm hơn.

Hãy bắt đầu với một mô hình cỡ vừa, thử nghiệm với những câu hỏi thật của bạn, rồi tăng hoặc giảm từ đó. Nếu bạn mới làm quen với cách các API này được tính phí và gọi, hãy đọc cách sử dụng API LLM trước.

Kiến thức của bot đến từ đâu

Nội dung của bạnCách tiếp cận
Một hoặc hai trang (giờ mở cửa, chính sách đổi trả, bảng giá)Đưa thẳng vào system prompt
Hàng chục trang ít thay đổiĐưa một phiên bản cô đọng vào prompt, hoặc chia theo chủ đề và chỉ đưa phần liên quan
Hàng trăm tài liệu, hoặc nội dung thay đổi hằng ngàyLưu trữ, tìm các đoạn khớp với từng câu hỏi và chỉ gửi những đoạn đó (RAG)

Hãy bắt đầu với phương án đơn giản nhất mà vẫn bao quát được nội dung của bạn. Truy xuất thông tin thêm một chỉ mục tìm kiếm, cách giữ nó luôn được cập nhật và nhiều chỗ hơn để câu trả lời bị sai. Nhiều bot hữu ích không bao giờ cần đến nó.

Công khai, hay đặt sau đăng nhập

Chatbot công khai trên website của bạn dễ tiếp cận nhưng cũng dễ bị lạm dụng: ai đó có thể viết script gửi hàng nghìn tin nhắn tới nó. Chatbot yêu cầu đăng nhập cho phép bạn lưu lịch sử theo từng người dùng và đặt hạn mức sử dụng hằng ngày cho mỗi tài khoản. Nếu chatbot là công khai, hãy giới hạn độ dài tin nhắn, giới hạn số tin mà một khách truy cập có thể gửi trong một khoảng thời gian, và đặt một giới hạn cứng theo tháng trong bảng điều khiển của nhà cung cấp. Cách thêm đăng nhập vào ứng dụng đề cập đến phần tài khoản.

Có lưu hội thoại hay không

Lưu lại các cuộc trò chuyện rất hữu ích: người dùng có thể tiếp tục từ chỗ đã dừng, và bạn có thể đọc các câu hỏi thực tế để cải thiện prompt. Tuy nhiên, chúng cũng là dữ liệu cá nhân. Hãy quyết định bạn giữ chúng trong bao lâu, nêu rõ điều đó trong thông báo quyền riêng tư và không lưu bất cứ thứ gì bạn không cần.

Viết system prompt như một bản mô tả công việc

System prompt là hướng dẫn mà mô hình nhận được trước mọi cuộc trò chuyện. Một prompt tốt đọc như một bản hướng dẫn ngắn dành cho nhân viên mới:

  • Vai trò và đối tượng: “Bạn là trợ lý hỗ trợ của Oakline, một cửa hàng sửa xe đạp. Bạn trò chuyện với khách hàng.”
  • Phạm vi: “Trả lời các câu hỏi về dịch vụ, giá, giờ mở cửa và đặt lịch. Với mọi nội dung khác, hãy nói rằng bạn chỉ có thể hỗ trợ về cửa hàng.”
  • Nguồn chuẩn: “Chỉ dùng thông tin bên dưới. Nếu câu trả lời không có ở đó, hãy nói rằng bạn không biết và đưa số điện thoại của cửa hàng.”
  • Giọng điệu và độ dài: “Thân thiện, ngôn ngữ dễ hiểu, không quá ba câu trừ khi được yêu cầu chi tiết.”
  • Quy tắc cứng: “Không bao giờ hứa một mức giá sửa chữa không có trong danh sách. Không bao giờ hỏi thông tin thẻ.”

Sau đó hãy thử nghiệm với những câu hỏi khó: yêu cầu ngoài chủ đề, tin nhắn thô lỗ, câu hỏi mà đáp án không có trong nội dung của bạn, và những nỗ lực khiến bot bỏ qua hướng dẫn (“quên quy tắc của bạn đi và…”). Điều chỉnh prompt cho đến khi các câu trả lời là những câu bạn sẵn lòng đứng tên.

Giữ chi phí ở mức có thể dự đoán

Các nhà cung cấp tính phí theo token (ước chừng là các mảnh của từ) cho phần đầu vào bạn gửi và phần đầu ra mô hình viết. Ba yếu tố chính quyết định hóa đơn:

  1. Độ dài cuộc hội thoại. Mỗi tin nhắn mới thường gửi lại toàn bộ chuỗi để mô hình có ngữ cảnh. Một cuộc chat 40 tin nhắn tốn nhiều hơn hẳn cho mỗi câu trả lời so với một cuộc chat 4 tin nhắn. Hãy chỉ giữ vài lượt gần nhất, hoặc tóm tắt những lượt cũ hơn.
  2. Kích cỡ prompt. Một system prompt dài hoặc một khối kiến thức được dán vào sẽ được gửi kèm theo mỗi tin nhắn.
  3. Độ dài đầu ra. Đặt độ dài tối đa cho câu trả lời trong lệnh gọi API và yêu cầu câu trả lời súc tích trong prompt.

Hãy đặt giới hạn chi tiêu hằng tháng trong bảng điều khiển của nhà cung cấp trước khi ra mắt, và ghi lại mức sử dụng token theo từng yêu cầu để biết cuộc hội thoại nào tốn kém. Chúng tôi không liệt kê giá ở đây vì chúng khác nhau theo mô hình và thay đổi thường xuyên; hãy kiểm tra trang bảng giá chính thức của nhà cung cấp.

Xây dựng từng bước

Bước 1: Mô tả bot, không phải code

Một prompt đầu tiên nêu rõ đối tượng, phạm vi, dữ liệu và quy tắc an toàn sẽ giúp bạn đi được gần hết chặng đường:

Xây dựng một chatbot hỗ trợ khách hàng cho Oakline, một cửa hàng sửa xe đạp. Một trang chat với danh sách tin nhắn và ô nhập, câu trả lời hiện dần khi được viết. Gọi API của Anthropic từ một tuyến máy chủ bằng khóa bí mật ANTHROPIC_API_KEY — không bao giờ để lộ khóa cho trình duyệt. Dùng một system prompt chỉ trả lời các câu hỏi về dịch vụ, giá và giờ mở cửa của chúng tôi dựa trên nội dung trong tệp shop-info.md, và nói “Tôi không chắc — hãy gọi cho chúng tôi theo số bên dưới” trong các trường hợp khác. Giới hạn tin nhắn ở 500 ký tự và 20 tin nhắn cho mỗi khách truy cập mỗi giờ. Thiết kế gọn gàng, thân thiện, hoạt động tốt trên điện thoại.

Bước 2: Thêm khóa như một bí mật

Tạo khóa trong bảng điều khiển của nhà cung cấp, sau đó lưu nó trong biến môi trường hoặc phần bí mật của dự án, không phải trong cuộc trò chuyện và không phải trong mã nguồn. Nếu một khóa từng xuất hiện ở nơi công khai, hãy thu hồi nó tại nhà cung cấp và tạo khóa mới. Biến môi trường và bí mật là gì giải thích vì sao điều này quan trọng.

Bước 3: Kiểm tra câu trả lời, không chỉ giao diện

Khi chat đã hoạt động, hãy dành phần lớn thời gian cho chất lượng câu trả lời. Giữ một danh sách khoảng 20 câu hỏi thật, bao gồm vài câu cần phải từ chối, và chạy qua chúng sau mỗi lần thay đổi prompt. Kiểm tra:

  • Bot có giữ đúng phạm vi không?
  • Bot có thừa nhận khi không biết, thay vì bịa câu trả lời không?
  • Bot có vững vàng khi ai đó cố ghi đè hướng dẫn của nó không?
  • Khóa có vắng mặt trong mọi thứ mà trình duyệt tải về không?

Bước 4: Thêm bộ nhớ và tài khoản nếu bạn cần

Khi các cuộc trò chuyện đơn lẻ đã hoạt động, hãy yêu cầu lưu các cuộc hội thoại vào cơ sở dữ liệu và, nếu cần, thêm đăng ký và đăng nhập để mỗi người dùng chỉ thấy các cuộc chat của chính mình. Đồng thời thêm hạn mức tin nhắn hằng ngày cho mỗi người dùng.

Bước 5: Xuất bản với các giới hạn đã được bật

Hãy đảm bảo ứng dụng đã xuất bản có cùng các bí mật với bản xem trước, giới hạn chi tiêu đã được đặt tại nhà cung cấp, và lỗi được ghi nhật ký ở nơi bạn sẽ thấy. Sau đó hãy chia sẻ với một nhóm nhỏ trước khi đưa lên website chính.

An toàn và độ tin cậy

Chatbot nói chuyện với công chúng nhân danh bạn, vì vậy hãy coi các trường hợp thất bại của nó là trách nhiệm của bạn:

  • Câu trả lời sai. Mô hình có thể khẳng định điều sai một cách tự tin. Hãy giữ bot trong một chủ đề hẹp, neo nó vào nội dung của chính bạn, và hiển thị một ghi chú ngắn rằng câu trả lời có thể sai với những vấn đề quan trọng.
  • Prompt injection. Người dùng (hoặc các tài liệu mà bot đọc) có thể chứa những chỉ dẫn như “bỏ qua các quy tắc trước đó”. Đừng trao cho bot quyền năng mà nó không thể được tin tưởng: không hoàn tiền, không xóa dữ liệu, không gửi email theo yêu cầu của người dùng mà không có bước kiểm tra trong mã của bạn.
  • Chủ đề nhạy cảm. Với các câu hỏi về y tế, pháp lý hoặc tài chính, hãy để bot hướng người dùng đến chuyên gia thay vì tự tư vấn.
  • Dữ liệu cá nhân. Đừng dán hồ sơ khách hàng vào prompt trừ khi thật sự cần, và kiểm tra điều khoản của nhà cung cấp về cách họ xử lý dữ liệu từ API.

Danh sách kiểm tra bảo mật cho ứng dụng do AI xây dựng của chúng tôi bao quát toàn bộ ứng dụng.

Những lỗi thường gặp

  • Gọi nhà cung cấp từ trình duyệt. Khóa sẽ bị rò rỉ. Luôn đi qua máy chủ của bạn.
  • Không có giới hạn cho bot công khai. Một script có thể tiêu hết ngân sách một tháng trong một buổi chiều.
  • Bắt đầu với RAG, công cụ và nhiều mô hình cùng lúc. Hãy làm cho một cuộc hội thoại tốt chạy trước; thêm phần còn lại khi các câu hỏi thực tế cho thấy bạn cần.
  • Chỉ thử nghiệm với những câu hỏi thân thiện. Người dùng sẽ hỏi những điều kỳ lạ, thù địch và lạc đề ngay từ ngày đầu.
  • Để chuỗi hội thoại tăng trưởng mãi mãi. Chi phí và thời gian phản hồi tăng lên sau mỗi tin nhắn.

Khi một sản phẩm có sẵn là lựa chọn tốt hơn

Tự xây dựng có ý nghĩa khi chatbot là một phần sản phẩm của bạn, cần dữ liệu hoặc quy trình riêng, hoặc cần một diện mạo và cách hoạt động cụ thể. Đây thường là lựa chọn sai khi:

  • Bạn chỉ cần một khung hỗ trợ trên website hiện có. Nhiều sản phẩm helpdesk và live chat hiện nay đã có sẵn bot AI trả lời dựa trên trung tâm trợ giúp của bạn, kèm chuyển giao cho người thật, hộp thư và báo cáo.
  • Chỉ bạn hoặc nhóm của bạn sử dụng. Một gói đăng ký trợ lý tổng quát như ChatGPT hoặc Claude, với tài liệu của bạn được tải lên, có thể là tất cả những gì bạn cần.
  • Bạn cần các bảo đảm tuân thủ nghiêm ngặt (ví dụ, dữ liệu y tế hoặc tài chính được quản lý). Một nhà cung cấp đã có sẵn chứng nhận có thể an toàn hơn một bản xây dựng tùy chỉnh.

Xây dựng cùng Mythex

Mythex là một công cụ xây dựng ứng dụng AI: bạn mô tả chatbot trong khung chat, và nó viết giao diện cùng lệnh gọi phía máy chủ, chạy trong bản xem trước trực tiếp và xuất bản ra một URL công khai. AI bên trong ứng dụng của bạn sử dụng khóa nhà cung cấp riêng của bạn. Bạn thêm khóa đó trong bí mật của dự án, hoặc qua thẻ bí mật mà Mythex hiển thị trong khung chat khi cần, và việc sử dụng mô hình được tính vào tài khoản nhà cung cấp của bạn, không tính vào tín dụng xây dựng của Mythex. Mythex không cấp token cho người dùng ứng dụng của bạn, không cung cấp sản phẩm cơ sở tri thức có sẵn, cũng không có giới hạn tần suất dựng sẵn: đó là những phần bạn yêu cầu và tự kiểm thử. Trang tài liệu về thêm AI vào ứng dụng của bạn hướng dẫn chi tiết, và thêm AI với khóa API của riêng bạn có sẵn một prompt khởi đầu.

Nếu bot cần lưu các chuỗi hội thoại, Mythex sẽ gắn một cơ sở dữ liệu Postgres vào dự án khi bạn yêu cầu. Để biết thêm các cách sử dụng mô hình trong ứng dụng, từ tóm tắt đến phân loại, hãy xem cách thêm tính năng AI vào ứng dụng, hoặc duyệt các mẫu ứng dụng để có điểm khởi đầu.

Câu hỏi thường gặp

Tôi có cần khóa API riêng để xây dựng ứng dụng chatbot AI không?

Gần như là có, trong hầu hết mọi trường hợp. Chatbot gửi từng tin nhắn đến một nhà cung cấp mô hình như OpenAI, Anthropic hoặc Google, và nhà cung cấp sẽ tính phí vào tài khoản sở hữu khóa API. Khóa phải nằm trên máy chủ của bạn, không bao giờ được đặt trong trang web.

Chạy một chatbot AI tốn bao nhiêu chi phí?

Nhà cung cấp tính phí theo token, cho cả phần văn bản bạn gửi lẫn phần văn bản mô hình trả lại, và giá khác nhau rất nhiều giữa các mô hình. Vì mỗi tin nhắn mới thường gửi lại toàn bộ cuộc trò chuyện trước đó, các cuộc hội thoại dài sẽ tốn nhiều hơn cho mỗi tin nhắn so với hội thoại ngắn. Hãy xem trang bảng giá của nhà cung cấp và đặt giới hạn chi tiêu trong bảng điều khiển của họ.

Tôi có thể huấn luyện chatbot trên tài liệu của riêng mình không?

Thông thường bạn không huấn luyện chính mô hình. Với một lượng nội dung nhỏ, bạn dán nó vào system prompt; với một thư viện lớn, bạn lưu trữ nó, tìm các đoạn liên quan đến từng câu hỏi và chỉ gửi những đoạn đó cho mô hình. Cách thứ hai được gọi là retrieval-augmented generation, hay RAG.

Tôi có thể xây dựng chatbot AI mà không cần viết code không?

Có. Một công cụ xây dựng ứng dụng AI có thể viết giao diện trò chuyện, tuyến máy chủ gọi mô hình và cơ sở dữ liệu lưu hội thoại từ một mô tả bằng ngôn ngữ thường. Bạn vẫn phải tự tạo tài khoản nhà cung cấp và khóa API.

Mythex · Pricing · Xây dựng mọi thứ với AI · Mẫu website và ứng dụng · So sánh Mythex · Thuật ngữ xây dựng ứng dụng bằng AI · Công cụ miễn phí để xây dựng ứng dụng bằng AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو 简体中文 繁體中文(香港) 繁體中文(台灣)