Bỏ qua điều hướng

Hướng dẫn xây dựng chatbot bằng Python từ đầu

Hướng dẫn xây dựng chatbot bằng Python từ lần gọi API đầu tiên đến giao diện web, có nhớ hội thoại và trả lời theo kiểu streaming.

Tuan Tran Van
7 phút đọc
Mục lục (10 phần)
  1. Bước 1 — Dựng môi trường Python và khoá API
  2. Bước 2 — Gọi API lần đầu và xác nhận nó chạy
  3. Bước 3 — Cho chatbot nhớ hội thoại (dành cho thành viên)
  4. Bước 4 — Bật streaming để phản hồi thời gian thực (dành cho thành viên)
  5. Bước 5 — Đưa chatbot lên giao diện web bằng Streamlit (dành cho thành viên)
  6. Bước 6 — Xử lý lỗi, retry và quản lý token (dành cho thành viên)
  7. Chọn khung giao diện và khi nào cần đến agent SDK (dành cho thành viên)
  8. Xử lý các lỗi thường gặp (dành cho thành viên)
  9. Việc nên làm ngay sau đó (dành cho thành viên)
  10. Tài liệu tham khảo (dành cho thành viên)

Làm xong bài này, bạn có một chatbot bằng Python chạy trên giao diện web, nhớ được ngữ cảnh hội thoại và trả lời theo kiểu streaming thời gian thực.

Chatbot gọi tới các mô hình ngôn ngữ lớn (LLM) qua API để xử lý yêu cầu người dùng.

Điều kiện tiên quyết:

  • Cài đặt Python 3.10 trở lên.
  • API Key từ OpenAI hoặc Anthropic.
  • Môi trường dòng lệnh (Terminal/Command Prompt) đã sẵn sàng.

Chatbot viết bằng Python trả lời người dùng theo thời gian thực

Bước 1 — Dựng môi trường Python và khoá API

Dựng môi trường ảo trước để các thư viện của dự án này không đụng vào Python hệ thống.

bash
# Khởi tạo và kích hoạt môi trường ảo
python -m venv chatbot_env
source chatbot_env/bin/activate  # Windows: chatbot_env\Scripts\activate
 
# Cài đặt thư viện lõi
pip install openai anthropic python-dotenv streamlit reflex tenacity

Tạo file .env tại thư mục gốc để quản lý biến môi trường:

env
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key

Trang quản lý API key trên console của nhà cung cấp, nơi tạo khoá mới cho dự án

Kiểm tra: Chạy python --version để xác nhận phiên bản.

Bước 2 — Gọi API lần đầu và xác nhận nó chạy

Chọn một trong hai nhà cung cấp dưới đây để kiểm tra kết nối.

OpenAI (Sử dụng Responses API)

Sử dụng model gpt-5.6 với phương thức responses.create mới nhất.

python
from openai import OpenAI
import os
from dotenv import load_dotenv
 
load_dotenv()
client = OpenAI()
 
response = client.responses.create(
    model="gpt-5.6",
    input=[{"role": "user", "content": "Kết nối thành công?"}]
)
print(response.output_text)

Anthropic

Sử dụng model claude-opus-5 để khởi tạo phiên làm việc đầu tiên.

python
from anthropic import Anthropic
import os
 
client = Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY"))
 
message = client.messages.create(
    max_tokens=1024,
    messages=[{"role": "user", "content": "Kết nối thành công?"}],
    model="claude-opus-5",
)
print(message.content[0].text)

Chia sẻ bài viết

X / TwitterFacebookLinkedIn