速率限制
限制每個工作階段可傳送的訊息數量,以防止濫用並控管成本。
速率限制可控制每位訪客在滾動時間窗口內可傳送的訊息數量。用它來防止濫用、降低成本,並確保所有訪客都能公平使用你的代理程式。
設定速率限制
- 前往你的代理程式設定分頁
- 點選安全性
- 找到速率限制
- 設定最大訊息數與時間窗口(以秒為單位)
- 自訂限制訊息(選用)
- 儲存變更
設定選項
每個窗口的訊息數
單一訪客在滾動窗口期間可傳送的最大訊息數:
- 最小值:1
- 最大值:100
- 預設值:20
窗口(秒)
滾動窗口持續的時間:
- 最小值:10 秒
- 最大值:3600 秒(1 小時)
- 預設值:240 秒(4 分鐘)
限制訊息
自訂文字,會在訪客達到限制時顯示。上限為 500 個字元。預設值:"Too many messages in a row"。
如何識別訪客
每位訪客都會依其用戶端 IP 位址追蹤。若無法取得 IP,則會改用對話 ID 作為備援。此限制是在伺服器端依各聊天機器人分別強制執行,因此訪客無法透過清除瀏覽器資料來繞過限制。
達到限制時會發生什麼事
當訪客超過限制時,聊天機器人會回覆你設定的限制訊息,而不是產生新的回應。隨著滾動窗口向前推進,計數器會自然重設——只要經過足夠的時間,訪客就能繼續對話。
訊息範例:
"Too many messages in a row. Please try again later or contact us directly at [email protected]."
選擇合適的限制
| 使用情境 | 建議限制 |
|---|---|
| 常見問答/簡單問題 | 10–15 則訊息 / 4 分鐘 |
| 客戶支援 | 20–30 則訊息 / 4 分鐘 |
| 技術文件 | 30–50 則訊息 / 5 分鐘 |
| 複雜諮詢 | 50–100 則訊息 / 10 分鐘 |
速率限制一律會啟用——允許的最低值是每 10 秒 1 則訊息。如果你想要更寬鬆的設定,可以將 maxMessages 提高到接近 100,並縮短窗口時間。
注意事項
設定過低:
- 讓訪客在對話進行到一半時感到受挫
- 支援互動無法完整進行
- 使用者體驗不佳
設定過高:
- 有遭濫用的風險
- 成本較高
- 可能出現垃圾訊息
先從預設值(每 4 分鐘 20 則訊息)開始,再依據你的聊天記錄資料進行調整。
速率限制與方案限制
| 功能 | 速率限制 | 方案限制 |
|---|---|---|
| 範圍 | 依訪客(IP)、滾動時間窗口 | 依工作區、每月 |
| 目的 | 防止濫用 | 控管成本 |
| 發生的情況 | 傳回限制訊息 | 代理程式暫停 |
| 重設時機 | 滾動窗口向前推進時 | 計費週期 |
兩者可以同時啟用。方案限制可保護你的整體用量;速率限制則可保護每位訪客的用量。
監控速率限制
檢查訪客是否達到限制:
- 前往聊天記錄
- 尋找突然中斷的對話
- 檢視每個對話的訊息數量
如果許多訪客都達到限制,可以考慮:
- 提高限制
- 提升回答品質(減少來回對話次數)
- 新增建議訊息,引導對話方向
略過速率限制
如需進行內部測試,你可以:
- 使用 Playground(仍受相同限制約束)
- 建立另一個測試用代理程式,並設定非常高的限制(例如每 10 秒 100 則訊息)
- 在負載測試期間暫時提高限制
最佳做法
- 從預設值開始——每 4 分鐘 20 則訊息是不錯的基準值
- 留意回饋意見——檢查是否有訪客對限制提出抱怨
- 搭配網域限制使用——提供額外保護
- 提供替代方案——在限制訊息中附上聯絡資訊
- 定期檢視——依實際使用模式進行調整