1. Câu hỏi phạm vi guardrail streaming
Một quy tắc guardrail mang một giai đoạn (input, output, hoặc
both) và một hành động — một trong năm: block, mask, flag,
annotate, hoặc spotlight. Giai đoạn quyết định khi nào gateway chạy
nó; hành động quyết định nó làm gì. Nơi duy nhất streaming thay đổi hình
dạng của câu trả lời là giai đoạn output — vì đó là giai đoạn duy nhất
nơi gateway đang chuyển tiếp các byte tới client của bạn khi chúng đến,
không có cơ hội giữ toàn bộ payload trước.
Nên ma trận có hai ô nơi streaming quan trọng, và chúng hành xử khác nhau:
block output hoàn toàn được thực thi trên một stream (scanner cắt
nó), nhưng mask output chỉ được thực thi trên phản hồi non-streaming.
Trên một phản hồi streaming, scanner vẫn phát hiện match và có thể hành
động trên một quyết định block, nhưng nó không viết lại văn bản đã che
vào stream hôm nay — masking output streaming trong luồng nằm trong lộ
trình.
Input không bao giờ là vấn đề. Quy tắc giai đoạn input chạy trước
mô hình — gateway sàng lọc (và, với
mask, viết lại) request của bạn, rồi
chuyển tiếp phiên bản đã làm sạch lên thượng nguồn. Việc phản hồi có
stream hay không không liên quan; request là một payload hoàn chỉnh mà
gateway giữ đầy đủ. Quét input hoàn toàn trực tiếp, gồm cả masking,
trên mọi request.2. Ma trận phạm vi
Đọc cái này từ trên xuống dưới. Mọi ô block trực tiếp, gồm cả streaming — nhưng output + mask + streaming là ô duy nhất không được thực thi trong stream: một quy tắc mask redact một phản hồi non-streaming, và trên một phản hồi streaming nó phát hiện match mà không viết lại delta (masking output trong-stream nằm trong lộ trình).| Giai đoạn · hành động | Non-streaming | Streaming |
|---|---|---|
input · block | từ chối request | từ chối request |
input · mask | viết lại request | viết lại request |
output · block | từ chối phản hồi | cắt stream |
output · mask | redact phản hồi | phát hiện match; không redact trong-stream (lộ trình) |
| bất kỳ · flag | chỉ ghi lại | chỉ ghi lại |
annotate và spotlight gắn một ghi chú (hoặc bọc văn bản đã match) mà
không từ chối traffic và là các hành động giai đoạn input trên thực tế,
nên chúng không thay đổi các ô output/streaming ở trên; chúng ghi lại một
match như bất kỳ quy tắc nào khác.
input — hoàn toàn trực tiếp, cả hai hướng (block + mask)
input — hoàn toàn trực tiếp, cả hai hướng (block + mask)
Quy tắc giai đoạn input sàng lọc request trước khi mô hình thượng
nguồn chạy. Một
block ngắn mạch cuộc gọi (HTTP 400
guardrail_blocked, trước khi đo lường, nên nó không tốn quota). Một
mask viết lại các trường đã match trong prompt tại chỗ — văn bản
đã làm sạch là cái đi lên thượng nguồn, và mô hình không bao giờ thấy
bản gốc. Không cái nào trong số này phụ thuộc vào việc phản hồi có
stream hay không.output · block — được thực thi streaming VÀ non-streaming
output · block — được thực thi streaming VÀ non-streaming
Trên một phản hồi non-streaming, completion được sàng lọc đầy đủ trước
khi nó trả về — một block hiện ra như HTTP 400
guardrail_blocked.
Trên một phản hồi streaming, một stream scanner theo dõi các delta
khi chúng tuôn chảy; khi một quy tắc block kích hoạt, nó cắt stream
— niêm phong scanner, phát một thông báo thay thế ngắn thay cho phần
còn lại, và đóng kênh SSE trước khi nội dung bị block nữa đến client.
Vì các header SSE 200 đã ra đi đến lúc đó, một block streaming không
thể trả về một 400: nó giao block như một delta cuối trong luồng thay
vì một lỗi HTTP.output · mask — chỉ non-streaming (streaming nằm trong lộ trình)
output · mask — chỉ non-streaming (streaming nằm trong lộ trình)
Trên một phản hồi non-streaming, một quy tắc
mask viết lại completion
— ví dụ một email trở thành [EMAIL] — và văn bản đã làm sạch là cái
client của bạn nhận. Trên một phản hồi streaming, stream scanner
vẫn phát hiện match và tính toán mask, nhưng nó không chuyển tiếp
văn bản đã che vào delta — output đã che bị loại bỏ và chỉ một quyết
định block được hành động. Nên một quy tắc mask không redact một
phản hồi streaming hôm nay; masking output streaming trong luồng nằm
trong lộ trình. Nếu bạn cần PII được giữ khỏi một phản hồi streamed
ngay bây giờ, soạn quy tắc thành block (scanner cắt stream khi match)
hoặc sàng lọc non-streaming.flag — chỉ quan sát, giống hệt ở mọi nơi
flag — chỉ quan sát, giống hệt ở mọi nơi
Một quy tắc
flag không bao giờ thay đổi traffic — nó ghi lại một
match và cho các byte đi qua. Giai đoạn và stream không thay đổi hành
vi của nó. Dùng nó để đo tỷ lệ kích hoạt của một quy tắc trước khi bạn
thăng cấp nó lên block.3. Một ví dụ cụ thể — giữ PII khỏi một phản hồi streamed
Giả sử mô hình có thể hiện một email khách hàng từ context RAG, và app của bạn stream.mask output không redact trong stream hôm nay (masking
output trong-stream nằm trong lộ trình) — nên để giữ PII khỏi một phản hồi
streamed, soạn quy tắc output thành block: scanner giết stream ngay
khi một match xuất hiện. (mask output có redact trên một phản hồi
non-streaming.)
Chỉnh sửa chính sách là một hành động quản lý trên phiên console của
bạn (gate cho Developer+); relay key sk-orca-... chỉ gửi traffic
/v1/* và không bao giờ chỉnh sửa chính sách.
- Mở
/console/guardrails, New guardrail, đặt tên nóstream-pii-out. - Thêm một quy tắc:
- Type: PII detection
- Stage:
output - Action:
block← cắt stream khi match; trên một streammaskchỉ phát hiện (nó redact phản hồi non-streaming)
- Lưu, rồi gắn nó trên
/console/tokenqua dropdown Guardrail của key.
stream: true, y như trước:
4. PII Shield trên ma trận
Preset PII Shield là một quy tắcpii duy nhất, hành động mask,
giai đoạn both. Ánh xạ nó lên ma trận và phạm vi chính xác như bạn kỳ
vọng từ §2:
- Giai đoạn input — hoàn toàn trực tiếp, dù streaming hay không. Request được che trước khi mô hình thấy nó (giá trị tiêu đề của masking input).
- Giai đoạn output, non-streaming — completion được che trước khi nó trả về.
- Giai đoạn output, streaming — stream scanner phát hiện match nhưng không viết lại delta hôm nay, nên dạng đã che không đến một client streamed (masking output trong-stream nằm trong lộ trình).
block
(hoặc gọi non-streaming) để stream bị cắt khi match. Xem
PII Shield và
định dạng masking.
5. Một block streaming tốn gì
Một block streaming mang cùng kế toán như bất kỳ block output nào — mô hình đã chạy, nên gateway xử lý hoàn lại cho bạn:- Trên một phản hồi non-streaming, cuộc gọi trả về HTTP 400
guardrail_blockednêu tên guardrail và quy tắc đã kích hoạt. Trên một phản hồi streaming, các header SSE200đã trên dây, nên block đến như một delta thay thế trong luồng cuối và một lần đóng kênh sạch sẽ thay vì một400. - Không tính quota. Một block input kích hoạt trước khi đo lường; một block output (streaming hay không) hoàn lại quota đã tiêu trước khi phản hồi bị từ chối. Dù cách nào, người gọi không trả gì.
- Request được đánh dấu skip-retry — chạy lại cùng prompt sẽ chỉ block lại, nên gateway sẽ không đốt một retry trên một channel khác.
GET /api/guardrail/match, mở cho bất kỳ
Member nào); chuỗi con đã match chỉ được bắt khi công tắc Log raw
content của guardrail được bật (mặc định tắt). Chi tiết đầy đủ nằm trong
lỗi guardrail_blocked và
matches feed.
6. Chứng minh tổ hợp giai đoạn/hành động của bạn trước khi phát hành
Đừng đoán ô nào của ma trận áp dụng cho chính sách của bạn — xác minh nó. Cả hai công cụ chạy trên phiên console của bạn qua management API:Tab Test
Mỗi editor guardrail có một tab Test: dán một mẫu, chọn giai đoạn,
và chạy chính sách hiện tại không có cuộc gọi thượng nguồn và không
quota. Xem verdict và, với quy tắc mask, văn bản đã render. Sandbox
Test được gate cho Developer+ (nó có thể kích hoạt các cuộc gọi
judge/grounding trả phí và các request tích hợp đi ra ngoài).
Tab Eval
Tab Eval chấm một guardrail đối với các corpus JSONL đi kèm hoặc
tùy chỉnh — hữu ích để xác nhận một quy tắc block bắt một rò rỉ đã biết
trước khi bạn gắn một key. Chạy một eval chỉ cần quyền đọc (viewer+).
7. Đi đâu tiếp theo
Quy tắc an toàn-stream
Cách scanner cắt một SSE stream giữa chừng, và cách soạn một chính sách
giữ vững trên traffic streaming.
Giai đoạn output
Sàng lọc phản hồi của mô hình — block so với mask, hoàn lại quota, và
grounding.
Giai đoạn input
Sàng lọc request trước mô hình — gồm cả masking, dù streaming hay không.
Hành động
block, mask, flag, annotate, và spotlight chuyên sâu — khi nào mỗi cái
là lựa chọn đúng.
Khái niệm liên quan
Khái niệm liên quan
Mối đe dọa cái này giải quyết
Mối đe dọa cái này giải quyết
Tài liệu tham khảo engine đầy đủ
Tài liệu tham khảo engine đầy đủ
Guardrails — mọi loại quy tắc, trường, và
route, bao gồm grounding và LLM judge.
