Toelating met een tokenbucket
Bepaal toelating met een tokenbucket vanuit een expliciet tijdstip en geef de volgende toestand terug.
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| Project | Controleer precies opraken en begrensd bijvullen en weiger teruglopende tijd, ongeldige kosten en niet-eindige waarden. |
|---|---|
| Controleer vóór het toepassen | Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen. |
| Modellen | Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen. |
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), allowedBeschrijf de toestandsovergang voordat u het beleid wijzigt
TokenCoppice is een programmeeromgeving voor Windows om toestandsafhankelijke toepassingscode met een AI-model te onderzoeken. Leg eerst de toestand vóór een bewerking vast en het resultaat dat u erna verwacht. Dit geeft het gesprek een waarneembaar contract en maakt duidelijker of een voorgestelde wijziging het beleid aanpakt of alleen de berekening herschikt.
Een toelatingsfunctie op basis van een token bucket is een voorbeeldtaak. Bespreek uw huidige regels voor capaciteit, aanvulling en aanvraagkosten en vraag de assistent de geretourneerde toestand na acceptatie of afwijzing te inspecteren. Het voorbeeld helpt broncodebeoordeling af te bakenen; het beheren van een dienst voor snelheidsbeperking blijft de verantwoordelijkheid van uw toepassing en infrastructuur.
Beoordeel de voorgestelde overgang met aandacht voor tijdaannames en de toestand die voor het volgende verzoek wordt opgeslagen. Test grenzen zoals een saldo dat exact de kosten dekt en een verzoek zonder verstreken tijd. Voer die controles uit in uw eigen project en inspecteer aanroepers voordat u aanneemt dat een lokaal correcte hulpfunctie gedrag bij gelijktijdige verzoeken vastlegt.
U kunt als ongefilterd omschreven modellen kiezen via een ondersteund OpenAI-compatibel of Anthropic-endpoint dat die aanbiedt. Configureer de benodigde toegangsgegevens en verifieer beschikbare tools en context. Het modelgedrag en de limieten van het endpoint blijven gelden, terwijl uw acceptatiecriteria gebaseerd blijven op het vastgelegde toepassingsbeleid en de testresultaten.
Vragen bij wijzigingen in toestandsafhankelijk beleid
Wat moet een verzoek over toelatingsbeleid bevatten?
Geef de begintoestand, aanvraagkosten, tijdwaarden en verwachte beslissing. Vermeld welke bijgewerkte waarden daarna moeten worden opgeslagen. Zo kan de assistent over een volledige overgang redeneren in plaats van beleid te raden uit één rekenexpressie.
Garandeert een correcte hulpfunctie snelheidsbeperking bij gelijktijdigheid?
Nee. Inspecteer hoe uw toepassing gedeelde toestand leest en schrijft en welke gelijktijdigheidsgaranties die opslag biedt. Een afzonderlijk geteste hulpfunctie bewijst niet dat gelijktijdige verzoeken niet hetzelfde beschikbare saldo kunnen verbruiken.
Hoe moeten afgewezen verzoeken opgeslagen toestand beïnvloeden?
Definieer dat expliciet voor uw beleid, inclusief aanvulling door verstreken tijd en tijdstempelupdates. Vraag het model de voorgestelde overgang uit te leggen en test opeenvolgende verzoeken, want een schijnbaar onschuldige afgewezen aanroep kan de volgende beslissing beïnvloeden.
Kan ik experimenteren zonder actieve toelatingsregels te veranderen?
Gebruik testgevallen en een ontwikkelinstantie van uw toepassing om overgangen te vergelijken voordat u beleid wijzigt. TokenCoppice ondersteunt het programmeergesprek; beslissingen over beoordeling en operationele uitrol blijven bij het bestaande projectproces.
TokenCoppice · Bijgewerkt 2026-10-25