กลไกสองอย่างทำงานกับการเรียกก่อนที่มันจะถึงโมเดล: นโยบายการเรียกใช้ตัดสินว่าผลิตภัณฑ์ใด คำตอบใหญ่เท่าใด ใช้จ่ายได้เท่าใด; ส่วน guardrail pack ตรวจสอบสิ่งที่อยู่ในคำขอ ทั้งคู่ทำงานภายใน admission ก่อน reservation ใด ๆ — การเรียกที่ถูกปฏิเสธไม่เคยถูกคิดเงิน ไม่ส่งอะไรไปยังผู้ให้บริการ และไม่ทิ้งระเบียนการใช้งานไว้
| ทำงานกับ | รหัสการปฏิเสธ | |
|---|---|---|
| นโยบายการเรียกใช้ | ผลิตภัณฑ์ใด ขนาด output เพดานการใช้จ่าย | 403 policy_denied · 403 budget_limit |
| guardrail pack | เนื้อหาของข้อความจากผู้ใช้ | 403 content_policy |
นโยบายการเรียกใช้#
นโยบายการเรียกใช้คือกฎที่มีชื่อซึ่งเป็นขององค์กรคุณ ส่วนประกอบของมัน:
- Name และแฟล็ก active — นโยบายที่ไม่ active ยังอยู่ในรายการแต่ไม่จำกัดสิ่งใด
- ขอบเขตโปรเจกต์ที่เป็นตัวเลือก (
projectId) — หากไม่มี นโยบายจะใช้กับทั้งองค์กร allowedModels— รายการผลิตภัณฑ์ที่อนุญาตmaxOutputTokens— เพดานขนาด output ที่ขอได้dailyMicro/monthlyMicro— เพดานการใช้จ่ายหน่วย micro-USD- guardrail pack และโหมดเนื้อหา — อยู่ด้านล่าง
นโยบายไม่ลบล้างกันเอง นโยบายที่ active ทุกฉบับซึ่งใช้บังคับกับการเรียกหนึ่งยังคงมีผลทั้งหมด: รายการที่อนุญาตจะตัดกัน ทุกเพดานถูกตรวจ และโหมด guardrail ที่เข้มที่สุดเป็นผู้ชนะ การเรียกที่ผ่านนโยบายหนึ่งยังถูกอีกนโยบายหนึ่งปฏิเสธได้
ใครทำอะไรได้ สมาชิกทุกคนขององค์กรอ่านรายการนโยบายได้ — คุณไม่ต้องเดาว่าข้อจำกัดใดใช้กับคุณ มีเพียง Owner ขององค์กร ที่สร้าง แก้ไข ปิดใช้งาน หรือลบนโยบายได้ ทุกการเปลี่ยนแปลงถูกบันทึกตรวจสอบ และการเปิด/ปิดใช้งานเป็นการกระทำโดยเจตนาที่มี audit event ของตัวเอง ข้อจำกัดที่ถูกยกเลิกจึงปรากฏชัดว่าถูกยกเลิก ไม่ใช่หายไปเงียบ ๆ
/api/v2/tenants/{tenantID}/invocation-policies/api/v2/tenants/{tenantID}/invocation-policies/api/v2/tenants/{tenantID}/invocation-policies/{policyID}/api/v2/tenants/{tenantID}/invocation-policies/{policyID}guardrail pack#
นโยบายหนึ่งประกอบ content pack ได้สูงสุดสามชุด โดยตรวจกับข้อความของข้อความจากผู้ใช้เท่านั้น:
pii— ที่อยู่อีเมล หมายเลขโทรศัพท์ หมายเลขบัตรชำระเงิน (ตรวจด้วย Luhn) และเลขประจำตัวประชาชนไทยsecrets— AWS access key ID, บล็อก private key, bearer token และ token ที่มีเอนโทรปีสูงinjection— ถ้อยคำที่พยายามลบล้างคำสั่ง ความพยายามดึงข้อมูล system prompt และรูปแบบ jailbreak/การใช้ tool ในทางที่ผิด
แต่ละนโยบายกำหนดโหมดเนื้อหา และเมื่อนโยบายทับซ้อนกัน โหมดที่เข้มที่สุดที่ใช้บังคับได้จะชนะในแต่ละ pack:
| โหมด | ผล |
|---|---|
observe |
การเรียกดำเนินต่อ; การตรวจพบถูกนับไว้ในระเบียนตรวจสอบ |
mask |
ช่วงข้อความที่ตรวจพบถูกแทนที่ด้วย [REDACTED] ก่อนส่งคำขอไปยังผู้ให้บริการ |
block |
การเรียกถูกปฏิเสธด้วย 403 content_policy |
คุณสมบัติสามข้อที่สำคัญเมื่อคุณพึ่งพากลไกนี้:
- ล้มเหลวแบบปิด การตรวจสอบทำงานภายใน admission transaction หากการประเมินนโยบายทำไม่สำเร็จ การเรียกจะไม่ถูกรับเข้า — ไม่มีการปล่อยผ่านโดยไม่ตรวจ
- เนื้อหาที่ถูกบล็อกไม่เคยถูกส่งกลับ การปฏิเสธบอกว่ามี guardrail ตรวจพบ ไม่ได้บอกว่าพบอะไร ร่องรอยการตรวจสอบเก็บจำนวนครั้งที่กฎทำงาน ไม่ใช่ข้อความที่ตรวจพบ
- การบล็อกเกิดก่อนเงินเคลื่อนไหว ไม่มีการกัน reservation ไม่มีการเรียกผู้ให้บริการ ไม่มีการสร้างระเบียนการใช้งาน; การปฏิเสธถูกบันทึกเป็น audit event ชนิด
invocation.denied
สิ่งที่ผู้เรียกเห็น#
| ข้อผิดพลาด | ความหมาย | วิธีแก้ |
|---|---|---|
403 policy_denied |
ผลิตภัณฑ์ไม่อยู่ในรายการที่อนุญาตซึ่งใช้บังคับ หรือ output ที่ขอเกินเพดานของนโยบาย | เรียกผลิตภัณฑ์ที่อนุญาต หรือลด max_tokens |
403 budget_limit |
ถึงเพดานรายวันหรือรายเดือนที่ใช้บังคับ | Owner ปรับนโยบาย หรือรอให้ครบรอบ |
403 content_policy |
guardrail pack ในโหมด block ตรวจพบเนื้อหาของผู้ใช้ |
ปรับเนื้อหาของคำขอ |
ไม่มีข้อใดเป็นความผิดพลาดชั่วคราว — การลองคำขอเดิมซ้ำจะล้มเหลวเหมือนเดิม การ backoff เป็นการตอบสนองที่ผิด ให้เปลี่ยนการเรียก หรือขอให้ Owner เปลี่ยนนโยบาย
ถัดไป#
- เพดานและการควบคุมการใช้จ่าย — รายละเอียดของเพดานและวงเงินของคีย์
- ข้อผิดพลาด — รายการรหัสทั้งหมดและสิ่งที่แก้แต่ละรหัสได้