Bỏ qua nội dung
Trang chính Tin tức Bảng điều khiển

Đối thoại nhiều lượt

Chat Completions là một API không trạng thái: mô hình sẽ không nhớ yêu cầu trước đó. Nguyên lý của đối thoại nhiều lượt là—— mỗi lần gửi yêu cầu đều mang theo đầy đủ các tin nhắn lịch sử.

Cách dùng cơ bản

messages = [
{"role": "system", "content": "你是一个简洁的中文助手。"},
{"role": "user", "content": "什么是向量数据库?"},
]
r1 = client.chat.completions.create(model="gpt-5.5", messages=messages)
messages.append({"role": "assistant", "content": r1.choices[0].message.content})
messages.append({"role": "user", "content": "它和 Elasticsearch 有什么区别?"})
r2 = client.chat.completions.create(model="gpt-5.5", messages=messages)

Ở vòng thứ hai, mô hình có thể hiểu “nó” đang chỉ gì, vì toàn bộ lịch sử đã nằm trong messages.

Quản lý ngữ cảnh

Lịch sử càng dài, số token đầu vào càng nhiều, chi phí càng cao, và có thể vượt quá giới hạn ngữ cảnh của mô hình. Các chiến lược thường dùng:

Chiến lượcCách làmPhù hợp
Cửa sổ trượtChỉ giữ N lượt gần nhất + systemCSKH, trò chuyện
Nén bằng tóm tắtDùng mô hình giá rẻ để nén lịch sử cũ thành bản tóm tắtTrợ lý hội thoại dài
Tăng cường truy xuấtĐưa lịch sử vào vector database, truy xuất theo nhu cầu các đoạn liên quanỨng dụng tri thức

Lưu ý

  • Tin nhắn system nên luôn được giữ ở dòng đầu tiên, và tận dụng tính phí cache để giảm chi phí lặp lại;
  • Khi cắt bớt lịch sử, hãy xóa theo “lượt” (cặp user+assistant), đừng cắt ngang giữa chừng;
  • Khi chuyển đổi giữa các mô hình (ví dụ từ GPT sang Claude), không cần đổi định dạng lịch sử, chỉ cần thay model là được.