การรับด้วยถังโทเคน
ตัดสินการรับด้วยถังโทเคนจากเวลาที่ระบุและคืนสถานะถัดไป.
from math import isfinite
def admit(tokens, last, now, capacity, rate, cost):
values = (tokens, last, now, capacity, rate, cost)
if not all(type(x) in (int, float) and isfinite(x) for x in values):
raise ValueError("finite numbers required")
if not (capacity > 0 and rate > 0 and 0 < cost <= capacity
and 0 <= tokens <= capacity and now >= last):
raise ValueError("invalid bucket state")
refill = min(capacity, tokens + (now - last) * rate)
allowed = refill >= cost
return (refill - cost if allowed else refill, now), allowed| โปรเจกต์ | ตรวจการใช้หมดพอดีและการเติมที่มีเพดาน พร้อมปฏิเสธเวลาย้อน ต้นทุนผิด และค่าที่ไม่จำกัด. |
|---|---|
| ตรวจสอบก่อนนำไปใช้ | เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม |
| โมเดล | ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก |
from math import isfinite
def admit(tokens, last, now, capacity, rate, cost):
values = (tokens, last, now, capacity, rate, cost)
if not all(type(x) in (int, float) and isfinite(x) for x in values):
raise ValueError("finite numbers required")
if not (capacity > 0 and rate > 0 and 0 < cost <= capacity
and 0 <= tokens <= capacity and now >= last):
raise ValueError("invalid bucket state")
refill = min(capacity, tokens + (now - last) * rate)
allowed = refill >= cost
return (refill - cost if allowed else refill, now), allowedอธิบายการเปลี่ยนสถานะก่อนเปลี่ยนนโยบาย
TokenCoppice เป็นพื้นที่ทำงานเขียนโค้ดบน Windows เพื่อตรวจโค้ดแอปที่มีสถานะร่วมกับโมเดล AI เริ่มด้วยบันทึกสถานะก่อนดำเนินการและผลที่คาดหวังภายหลัง เพื่อให้บทสนทนามีข้อกำหนดที่สังเกตได้และเห็นง่ายว่าการแก้ไขมุ่งที่นโยบายหรือเพียงจัดรูปการคำนวณใหม่
ฟังก์ชันอนุญาตคำขอแบบ token bucket เป็นงานตัวอย่างหนึ่ง นำกฎความจุ การเติม และต้นทุนคำขอปัจจุบันมาคุย แล้วขอให้ผู้ช่วยตรวจสถานะที่คืนหลังอนุญาตหรือปฏิเสธ ตัวอย่างช่วยวางกรอบการตรวจซอร์ส การให้บริการจำกัดอัตรายังเป็นความรับผิดชอบของแอปและโครงสร้างพื้นฐานของคุณ
ตรวจการเปลี่ยนสถานะที่เสนอโดยใส่ใจสมมติฐานเวลาและสถานะที่เก็บให้คำขอถัดไป ทดสอบขอบเขต เช่น ยอดเท่าต้นทุนพอดีและคำขอที่มาถึงโดยไม่มีเวลาผ่านไป รันการตรวจเหล่านั้นในโปรเจกต์ และตรวจผู้เรียกก่อนถือว่าฟังก์ชันช่วยที่ถูกต้องเฉพาะจุดยืนยันพฤติกรรมเมื่อมีคำขอพร้อมกัน
คุณเลือกโมเดลที่ระบุว่าไม่กรองได้ผ่านปลายทางที่รองรับ OpenAI-compatible หรือ Anthropic ที่มีให้ ตั้งค่าข้อมูลรับรองจำเป็นและตรวจเครื่องมือกับบริบทที่ใช้ได้ พฤติกรรมและขีดจำกัดโมเดลของปลายทางยังใช้บังคับ ส่วนเกณฑ์ยอมรับของคุณยังยึดนโยบายที่แอประบุและผลทดสอบ
คำถามสำหรับการเปลี่ยนนโยบายที่มีสถานะ
คำขอเรื่องนโยบายอนุญาตควรมีอะไร?
ให้สถานะเริ่มต้น ต้นทุนคำขอ ค่าเวลา และการตัดสินใจที่คาดหวัง ระบุค่าอัปเดตที่ต้องเก็บภายหลัง เพื่อให้ผู้ช่วยใช้เหตุผลกับการเปลี่ยนสถานะครบถ้วน แทนเดานโยบายจากนิพจน์คำนวณเดียว
ฟังก์ชันช่วยที่ถูกต้องรับรองการจำกัดอัตราพร้อมกันหรือไม่?
ไม่ ตรวจว่าแอปอ่านเขียนสถานะร่วมอย่างไรและแหล่งเก็บให้หลักประกันการทำงานพร้อมกันใด การทดสอบฟังก์ชันแยกเดี่ยวไม่ได้ยืนยันว่าคำขอพร้อมกันจะไม่ใช้ยอดคงเหลือเดียวกัน
คำขอที่ถูกปฏิเสธควรส่งผลต่อสถานะที่เก็บอย่างไร?
กำหนดให้ชัดตามนโยบาย รวมการเติมตามเวลาที่ผ่านและการอัปเดตเวลา ขอให้โมเดลอธิบายการเปลี่ยนสถานะที่เสนอและทดสอบคำขอต่อเนื่อง เพราะการเรียกที่ถูกปฏิเสธซึ่งดูไม่เป็นพิษภัยอาจส่งผลต่อการตัดสินใจถัดไป
ทดลองโดยไม่เปลี่ยนกฎอนุญาตที่ใช้งานจริงได้หรือไม่?
ใช้ชุดข้อมูลทดสอบและระบบแอปสำหรับพัฒนาเพื่อเปรียบเทียบการเปลี่ยนสถานะก่อนใช้นโยบายใหม่ TokenCoppice รองรับการคุยเรื่องโค้ด ส่วนการตรวจและตัดสินใจนำไปใช้งานยังอยู่ในกระบวนการเดิมของโปรเจกต์
TokenCoppice · อัปเดตล่าสุด 2026-10-25