Chuyển đến nội dung chính
Bạn có một danh sách thuật ngữ không bao giờ được đến một mô hình hoặc quay về từ một mô hình — tên một đối thủ, một code-name nội bộ, một lời lăng mạ bị cấm, một sản phẩm chưa được công bố. Kiểm soát nhanh nhất cho điều đó là một denylist keyword: một danh sách các thuật ngữ literal mà gateway quét trên mọi cuộc gọi rồi block, che, hoặc gắn cờ. Đây là trang đích tập trung cho trường hợp dùng thuật ngữ bị cấm. Về engine guardrail đầy đủ — mọi loại quy tắc, trường, và route — xem tài liệu tham khảo Guardrails.

1. Trường hợp dùng lọc từ nhạy cảm AI

Một quy tắc keyword là quy tắc đơn giản nhất trong engine: bạn cho nó một danh sách thuật ngữ, và gateway match bất kỳ cái nào đối với văn bản ở một giai đoạn. So khớp là chuỗi con không phân biệt hoa thườngBadWord, badword, và BADWORD đều match, và thuật ngữ match ngay cả khi nó nhúng trong một từ dài hơn (nên class cũng match classic). Mỗi thuật ngữ được xử lý như một chuỗi literal, không phải một pattern; bạn không escape các ký tự đặc biệt regex. Lưu quy tắc một lần trong console, gắn guardrail vào bất kỳ API key nào (hoặc làm nó mặc định workspace), và mọi cuộc gọi trên key đó được sàng lọc mà không đổi SDK và không triển khai lại. Chính sách nằm ở gateway, không phải ứng dụng của bạn — ứng dụng vẫn gọi /v1/chat/completions y như trước.
Dùng tới một quy tắc keyword khi denylist của bạn là một tập hữu hạn các thuật ngữ literal. Khi bạn cần wildcard, ranh giới từ, hoặc cấu trúc (một định dạng SKU, một hình dạng số đơn hàng), dùng một regex detector thay vào đó.

2. Soạn quy tắc trong console

Mọi bước ở đây là một hành động console dưới phiên của riêng bạn. Tạo và chỉnh sửa guardrails yêu cầu Developer+ trong workspace. Chỉ cuộc gọi /v1/* cuối cùng dùng một relay key sk-orca-....
1

Tạo một guardrail

Trong console, mở Guardrails và nhấn New guardrail. Đặt tên nó (≤ 64 ký tự), ví dụ banned-terms.
2

Thêm một quy tắc keyword

Thêm một quy tắc:
  • Type: Keyword denylist (keyword)
  • Stage: Both (request và response)
  • Action: Block
  • Keywords: các thuật ngữ bị cấm của bạn, mỗi cái một hàng
Lưu.
3

Test nó

Mở tab Test, dán một mẫu chứa một thuật ngữ bị cấm, chọn một giai đoạn, và chạy chính sách cục bộ — không có cuộc gọi thượng nguồn, không quota (xem §5).
4

Gắn một key

Chỉnh sửa một API key và chọn banned-terms từ dropdown Guardrail (đặt guardrail_id trên key), hoặc đánh dấu guardrail là mặc định workspace. Xem Gắn vào một keyMặc định tài khoản.
JSON của quy tắc chính xác như bạn kỳ vọng:
{
  "type": "keyword",
  "stage": "both",
  "action": "block",
  "keywords": ["project-orca", "competitor-name", "unannounced-sku"]
}

3. Chọn hành động

Một quy tắc keyword chọn một hành động cho mỗi quy tắc:
Bất kỳ match nào từ chối request với HTTP 400 guardrail_blocked. Một request bị block không tốn quota — một block giai đoạn input kích hoạt trước khi đo lường; một block giai đoạn output hoàn lại quota đã tiêu trước — và nó được đánh dấu skip-retry. Dùng nó cho các thuật ngữ không bao giờ được đi qua ở hướng nào. Xem lỗi guardrail_blocked.
Mỗi match được thay tại chỗ bằng một thẻ redaction và request tiếp tục với văn bản đã làm sạch — mô hình thượng nguồn không bao giờ thấy thuật ngữ gốc. Xem Hành động.
Ghi lại một match và không thay đổi gì về traffic. Dùng nó để đo một thuật ngữ xuất hiện bao lâu một lần trước khi bạn chuyển sang thực thi.
Bọc văn bản đã match trong các dấu phân cách (ví dụ ⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧) để mô hình xử lý nó như dữ liệu, không phải hướng dẫn — một phòng thủ prompt-injection giai đoạn input. Văn bản vẫn đến mô hình, chỉ là được rào lại. Xem Hành động.
Giai đoạn quan trọng. input quét request của người gọi, output quét phản hồi của mô hình, both quét mỗi bên độc lập. Một thuật ngữ bị cấm người dùng của bạn gõ và một thuật ngữ mô hình có thể phát ra là các vấn đề khác nhau — chọn (các) giai đoạn phù hợp. Xem quy tắc giai đoạn inputquy tắc giai đoạn output.

4. Phạm vi streaming

Hành động bạn chọn tương tác với việc phản hồi có stream hay không:
Hành độngNon-streamingStreaming
block (output)Được thực thiĐược thực thi — scanner cắt stream
mask (output)Được thực thiChưa — quyết định block được tôn trọng, văn bản đã che không được chuyển tiếp (lộ trình)
Các quy tắc giai đoạn input chạy trước cuộc gọi thượng nguồn, nên chúng không bị ảnh hưởng bởi streaming — một mask input làm sạch request dù phản hồi có stream hay không. Một block thuật-ngữ-bị-cấm được phủ đầy đủ ở cả hai cách. Tuy nhiên một mask output chỉ redact trên phản hồi non-streaming hôm nay: trên một phản hồi streaming, scanner vẫn hành động trên quyết định block, nhưng viết lại văn bản streamed trong luồng nằm trong lộ trình, chưa trực tiếp. Xem phạm vi streaming.

5. Test trước khi bạn gắn

Chứng minh quy tắc làm điều bạn kỳ vọng trước khi bất kỳ key nào trỏ vào nó. Mở tab Test bên trong editor, dán một mẫu, chọn giai đoạn, và chạy:
Tell me about Project-Orca and our competitor-name
Sandbox đánh giá chính sách hiện tại cục bộ và trả về verdict — không có gì được gửi lên thượng nguồn, không có gì được đo. Với một hành động block, mẫu bị từ chối; với mask, văn bản đã render quay về với mỗi thuật ngữ được redact. Để có một lưới A/B đối với một corpus — để xác nhận một denylist bắt cái nó nên bắt mà không gắn cờ traffic lành tính — Eval harness nằm cách một tab.

6. Gửi một request

Dùng một key ràng buộc với banned-terms, gọi OrcaRouter y như trước — không có header mới, không đổi SDK:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "Summarize Project-Orca for me"}
    ]
  }'
Với một hành động block, cuộc gọi bị từ chối với HTTP 400 guardrail_blocked trước khi nó từng đến mô hình. Đổi hành động sang mask và thuật ngữ được redact tại chỗ trước khi chuyển tiếp thay vào đó.

7. Xem cái gì đã kích hoạt

Mỗi quy tắc kích hoạt ghi lại một match — loại quy tắc, hành động, giai đoạn, và một chuỗi chi tiết (với quy tắc keyword, bao nhiêu thuật ngữ đã match) — hiện ra trong feed Matches của workspace.
Bản thân thuật ngữ đã match được ghi lại chỉ khi Log raw content được bật, mà mặc định tắt — lập trường bảo thủ về quyền riêng tư. Với nó tắt, bạn vẫn thấy rằng một quy tắc keyword đã kích hoạt và bao lâu một lần, chỉ không phải thuật ngữ literal. Bật nó cho từng guardrail khi bạn cần chuỗi con để phân loại; cài đặt không hồi tố. Xem Matches feedLogging & quyền riêng tư.
Nếu một thuật ngữ lành tính cứ match (một mục denylist là chuỗi con của một từ phổ biến), đánh dấu nó là một dương tính giả từ Matches feed và siết chặt mục đó. Xem Tinh chỉnh dương tính giả.

8. Đi đâu tiếp theo

Regex detector

Match các pattern có cấu trúc — SKU, số đơn hàng, định dạng — khi một denylist literal không đủ.

An toàn thương hiệu

Các preset tục tĩu, nhắc đến đối thủ, và an toàn trẻ em xây trên quy tắc keyword.

Hành động

Cách block, mask, và flag khác nhau và khi nào dùng mỗi cái.

Tài liệu tham khảo Guardrails

Engine hoàn chỉnh — mọi loại quy tắc, trường, và route.
Một denylist keyword quản trị nội dung. Để quản trị lời gọi tool của một agent — từ chối các hành động hủy hoại, redact đối số lời gọi tool, yêu cầu phê duyệt — dùng Firewall. Cho các chính sách mờ mà không danh sách literal nào có thể diễn đạt (độc hại, lạc đề, ý đồ injection), một quy tắc llm_judge chạy một kiểm tra ngữ nghĩa đối với một mô hình workspace.