Ngân sách và chính sách
Mọi yêu cầu chạy theo một bộ số — ngân sách tháng, giới hạn tốc độ, và các ngưỡng cảnh báo, dừng — lấy từ cấp cụ thể nhất có các số đó.
Chính sách quy định một người được chi bao nhiêu và nhanh đến đâu: ngân sáchNgân sáchBudgetSố tiền mỗi tháng một cấp được chi cho mô hình — mặc định của tổ chức, phòng ban hoặc cá nhân. Cấp cụ thể nhất đã được đặt sẽ thắng.Mở trong Thuật ngữ, giới hạn tốc độ và hạn mức token hằng tháng. Các số này đến từ một trong ba cấp, và cấp cụ thể nhất thắng. Việc ai được chọn mô hình nào được quyết định riêng.
Quy tắc chính
- Cấp cụ thể nhất thắng mọi con số: cá nhân, rồi phòng ban, rồi tổ chức.
- Hạn mức riêng thắng theo cả hai chiều — cao hơn hay thấp hơn mức của phòng ban.
- Ngân sách phòng ban chia đều cho những người đang hoạt động được tính phí ở đó.
- Cảnh báo ở 80 %, dừng ở 100 % — giá trị mặc định, đổi được ở từng cấp.
- Chỉ phòng ban mới chặn mô hình. Hạn mức riêng chỉ mang tiền và tốc độ.
Ba cấp, một cấp thắng
Tổ chức, phòng ban và từng cá nhân đều có thể giữ cùng một bộ số. Với mỗi yêu cầu, portal lấy bộ cụ thể nhất đang tồn tại và dùng toàn bộ số của nó — không bao giờ trộn ngân sách cấp này với giới hạn cấp khác. Cấp nào không có số riêng sẽ rơi xuống cấp phía trên.
Tran Mai có hạn mức riêng, nên hạn mức đó thắng — với toàn bộ các con số, dù cao hơn nhiều so với phòng ban. Chi phí của cô vẫn tính cho Sales, và các mô hình Sales chặn vẫn bị chặn với cô.
| Cấp | Áp dụng cho |
|---|---|
| Tổ chức | Mọi phòng ban không có số riêng |
| Phòng ban | Mọi người được tính phí ở đó, trừ người có hạn mức riêng |
| Cá nhân | Riêng người đó, dù chi ở đâu |
Hạn mức riêng được ghi theo hai cách: người có policy.manage đặt cho người đó trong Users (người dùng), hoặc duyệt yêu cầu Ask for a higher budget (xin thêm ngân sách) của họ. Yêu cầu được duyệt ghi cùng loại hạn mức, mang ngân sách được xin cùng các số khác mà người đó đang có.
Nếu không cấp nào có số, yêu cầu bị từ chối thay vì chạy không giới hạn.
Phần của bạn trong ngân sách phòng ban
Ngân sách phòng ban chia đều cho các chỗ ngồi đang hoạt động — còn hiệu lực ở nhà cung cấp danh tính và không bị tạm ngưng trong portal — làm tròn xuống đến cent. 300 USD và ba người thì mỗi người được 100.
Người có hạn mức riêng vẫn được tính vào số người, nhưng chi tiêu từ hạn mức của mình — nên không lấy gì từ quỹ chung, và phần của người khác không đổi khi hạn mức được cấp.
- Không ai nhập phần chia bằng tay: nó luôn được tính từ ngân sách và số người, nên cập nhật ngay khi có người vào hoặc rời.
- Phòng ban không có chỗ ngồi hoạt động nào gửi toàn bộ quỹ. Phòng ban không có chính sách nào áp dụng thì không gửi giới hạn thành viên.
- Phần chia làm tròn dưới một cent được gửi là 0,01, vì gateway hiểu 0 là “không giới hạn”.
- Người có hạn mức riêng vẫn được tính vào số người, nhưng chi từ bản ghi riêng — họ không lấy gì từ quỹ chung, và cấp hạn mức riêng không làm thay đổi phần của người khác.
Ai được chọn mô hình nào
Quyền dùng mô hình được phân giải riêng với tiền, và hai việc không bao giờ gộp. Mọi mô hình trong danh mục đều mở cho mọi người; phòng ban thu hẹp bằng cách chặn những mô hình mình bỏ. Hạn mức riêng không bao giờ đổi được mô hình một người dùng.
| Quy tắc | Chi tiết |
|---|---|
| Chỉ chặn được mô hình văn bản (chat) | Embedding và tác vụ nền là gán cấp tổ chức |
| Phải còn lại ít nhất một | Chặn mô hình chat cuối cùng đang phục vụ bị từ chối |
| Mô hình bị tắt | Biến khỏi mọi bộ chọn. Lệnh chặn trên nó vẫn được giữ và áp dụng lại khi bật lại |
| Nơi kiểm tra | Khi lượt bắt đầu, khi phân giải quyền hiệu lực của agent, và khi tạo hoặc sửa agent |
| Nơi thiết lập | Chỉ ở tab Models của phòng ban; màn hình danh mục chỉ hiển thị phòng ban nào chặn, không sửa được |
Giới hạn tốc độ
Mỗi cấp còn giữ hai trần theo phút: số yêu cầu mỗi phút (RPM) và số token mỗi phút (TPM). Chúng lấy từ cùng bộ số thắng với ngân sách.
Giới hạn theo phút tự hết, nên một lượt chịu được ba lần bị từ chối rồi mới bỏ cuộc. Ngân sách đã hết thì hết cho đến cuối tháng, nên lượt bỏ cuộc ngay lần đầu.
Cảnh báo và dừng
Hai ngưỡng trên mỗi ngân sách quyết định điều gì xảy ra khi chi tiêu tăng. Cả hai lấy từ cùng cấp với ngân sách được so, nên một tỉ lệ phần trăm không bao giờ áp lên con số do cấp khác ghi.
Hệ thống phát cảnh báo ngân sách. Không yêu cầu nào bị từ chối — mọi người vẫn làm việc bình thường.
Các lệnh gọi mô hình mới bị từ chối cho đến khi ngân sách đặt lại vào tháng sau. Câu trả lời đang chạy sẽ dừng ở lệnh gọi kế tiếp.
| Ngưỡng | Mặc định | Tác dụng |
|---|---|---|
| Cảnh báo mềmCảnh báo (ngưỡng mềm)Alert (soft limit)Mức, mặc định 80%, mà hệ thống phát cảnh báo ngân sách. Không yêu cầu nào bị từ chối.Mở trong Thuật ngữ | 80 % | Một cảnh báo ngân sách được tạo. Không từ chối gì |
| Dừng cứng | 100 % | Một cảnh báo ngân sách được tạo và các lời gọi mô hình mới bị từ chối đến khi ngân sách đặt lại vào tháng sau |
Phòng ban đặt dừng ở 90 % thì bị từ chối ở 90 %. Ngưỡng được kiểm tra sau mỗi lời gọi mô hình, hai lần: một lần cho chi tiêu từ đầu tháng của phòng ban, và một lần cho riêng người đó so với con số thực sự sẽ dừng họ — hạn mức riêng, hoặc phần chia. Lần kiểm tra thứ hai giúp không ai bị dừng ở một mức mà chưa có gì cảnh báo trước.
Phí guardrail được tính vào chi tiêu và cảnh báo ngân sách của phòng ban. Dừng cứng ở gateway chỉ tính chi phí mô hình.
Ai cũng có thể xem phần của mình trong Settings › Usage & budget (cài đặt › mức dùng và ngân sách) và xin thêm ngay tại đó.
Khoá tự trả (BYOK)
Phòng ban hoặc cá nhân có thể dán khoá mô hình của riêng mình (BYOK hoạt động thế nào). Lời gọi trên mô hình do khoá đó phục vụ được chủ khoá trả, không trừ ngân sách nào của portal:
- Nó thắng cả hạn mức riêng, vốn chỉ nói ngân sách portal của ai trả.
- Trần của nó là mức tháng riêng của khoá; hai trần tốc độ lấy từ chính sách của chủ khoá.
- Chi tiêu đó không tính vào hai phép cộng cảnh báo của phòng ban (quỹ chung và phần chia).
- Báo cáo vẫn ghi tên phòng ban, và bảng phân tích theo mô hình đánh dấu đó là khoá riêng.
Vì sao lại như vậy
Vì sao hạn mức riêng thay thế toàn bộ thay vì cộng thêm?
Trộn số từ nhiều cấp khiến câu hỏi “người này bị giới hạn ở mức nào?” không thể trả lời trong một câu. Lấy trọn một bộ giúp quản trị viên luôn thấy đúng một đáp án, và yêu cầu được duyệt ghi cùng loại hạn mức mà quản trị viên tự nhập.
Vì sao chia đều thay vì ai đến trước dùng trước?
Với một quỹ chung, người dùng nhiều đầu tiên có thể tiêu hết cả tháng và dừng mọi người khác. Chia đều nghĩa là chạm mức chỉ dừng riêng bạn.
Tải tài liệu và tìm kiếm có bị tính không?
Có. Đọc và lập chỉ mục tài liệu chạy trên phòng ban của người tải lên, còn chuyển câu tìm kiếm thành truy vấn chạy trên phòng ban của người tìm, nên cả hai đều bị giới hạn bởi ngân sách và mô hình bị chặn của phòng ban đó. Tìm theo từ khoá thì không tốn gì.
Bên dưới
Lưu chính sách và mã lỗi
Một bảng lưu cả ba cấp; mỗi dòng ghi phòng ban, cá nhân, hoặc không ghi gì (tổ chức). Mỗi dòng giữ sáu con số: ngân sách, ngưỡng mềm và cứng, RPM, TPM và hạn mức token tháng.
| Giới hạn | Cột |
|---|---|
| Ngân sách | Số thập phân cố định, 8 chữ số + 6 số lẻ (tối đa 99999999.999999 USD) |
| RPM, TPM | Số nguyên 32-bit (tối đa 2147483647) |
| Hạn mức token tháng | Số nguyên 64-bit |
| Mã | Khi nào |
|---|---|
409 no_policy_resolved | Không có dòng nào ở mọi cấp |
409 department_needs_chat_model | Chặn mô hình chat cuối cùng đang phục vụ |
400 policy_budget_invalid / policy_limits_invalid | Con số vượt cột — bị từ chối trước khi gửi tới gateway |
Quyền dùng mô hình được phân giải bằng hai truy vấn dù hỏi cho bao nhiêu người: danh mục, và các lệnh chặn của các phòng ban liên quan. Kết quả tiếp nhận được ghi là BLOCKED_MODEL, BLOCKED_BUDGET, BLOCKED_RATE_LIMIT, v.v.
Team và virtual key của LiteLLM
Mọi truy cập mô hình đi qua LiteLLMLiteLLM (cổng mô hình)LiteLLM (model gateway)Cổng mà mọi lệnh gọi mô hình đi qua. Nó định tuyến tới Bedrock, áp khoá và ngân sách của từng phòng ban, và ghi chi phí từng lệnh gọi.Mở trong Thuật ngữ, nhắm tới Bedrock; ứng dụng không bao giờ gọi Bedrock trực tiếp. Mỗi phòng ban ánh xạ tới một team LiteLLM mang quỹ tháng, hai trần tốc độ và phần chia thành viên. Người có hạn mức riêng ánh xạ tới một bản ghi gateway riêng.
Mỗi lời gọi chạy trên một virtual keyKhoá ảoVirtual keyKhoá cổng cấp cho từng phòng ban, để mỗi lệnh gọi mô hình được giới hạn và tính phí đúng phòng ban. Người dùng không bao giờ phải dùng tới khoá này.Mở trong Thuật ngữ ngắn hạn, phân giải từ người gọi:
- Không có hạn mức riêng: khoá ghi tên team phòng ban và người đó, cache theo cặp. Tên thành viên là thứ khiến phần chia được thực thi.
- Có hạn mức riêng: khoá mang id riêng và không có team, trừ vào bản ghi gateway của họ.
- Khoá dán vào (BYOK): khoá ghi tên credential đó, không thuộc team nào.
Vì khoá ngắn hạn, hạn mức vừa lưu áp dụng cho khoá kế tiếp, không phải khoá đang chạy. Xoá hạn mức riêng chỉ xoá dòng chính sách; bản ghi gateway nằm yên cho đến khi hạn mức được ghi lại.
Admin port: khi nào gateway được ghi
Admin port tạo team, đặt quỹ và trần tốc độ, cấp khoá và ghi hạn mức riêng. Nó chạy khi tạo tổ chức (cấp team cho General với số mặc định trước), khi tạo phòng ban, khi ghi chính sách ở bất kỳ cấp nào, và khi một lượt cần khoá. Phòng ban và dòng virtual key của nó được ghi trong cùng một transaction; thiếu dòng đó, tin nhắn đầu tiên bị từ chối.
Thứ được gửi đi là số của dòng thắng. Ngân sách phòng ban đặt lại trần cho team của nó; ngân sách tổ chức chỉ đặt lại trần cho team của các phòng ban không có số riêng. Phòng ban mới bắt đầu với số của tổ chức — không bao giờ là 0, vì 0 sẽ từ chối yêu cầu thứ hai. Lỗi cơ sở dữ liệu sau một lời gọi gateway thành công được ghi log, không rollback.
Mô hình port: giữ gateway đồng bộ
Đây là bộ đối soát: LiteLLM phục vụ đúng những gì danh mục ghi, và gateway đã đúng thì không nhận lời gọi nào. Mô hình thay đổi được cập nhật tại chỗ, nên lượt đang dùng nó không gặp lỗi mô hình không tồn tại giữa xoá và tạo. Credential đã phân giải chỉ được truyền vào lời gọi, không bao giờ ghi log hay lưu. Mỗi mô hình ghi lại việc endpoint phục vụ có trả lời cho nó hay không. Thao tác ghi thay đổi thứ được phục vụ sẽ đối soát ngay; một tác vụ định kỳ thử lại các lần đẩy thất bại khi gateway ngừng. Không có bước publish.
Tính idempotent của cảnh báo ngân sách
Sau mỗi lời gọi mô hình — ngay sau khi ghi audit và rollup — bước kiểm tra cộng chi tiêu từ đầu tháng từ rollup hằng ngày và tạo một cảnh báo cho mỗi ngưỡng bị vượt. Nó tự nuốt lỗi, nên không bao giờ làm hỏng một lượt đã thành công.
| Phạm vi | Idempotency |
|---|---|
| Phòng ban | Ràng buộc duy nhất; xung đột trả về cảnh báo hiện có |
| Cá nhân | Ràng buộc duy nhất trên chỗ ngồi, tháng và ngưỡng |
| Tổ chức | Advisory lock (điều kiện partial không thể là ràng buộc duy nhất) |