Selectie met een gewogen ticket
Koppel een geheel ticket aan een index van niet-negatieve gehele gewichten.
from bisect import bisect_right
def ticket_index(weights, ticket):
if any(type(w) is not int or w < 0 for w in weights):
raise ValueError("nonnegative integer weights")
bounds, total = [], 0
for weight in weights:
total += weight
bounds.append(total)
if type(ticket) is not int or not 0 <= ticket < total:
raise ValueError("ticket outside total")
return bisect_right(bounds, ticket)Project
Test nulgewichten en cumulatieve grenzen en weiger een nultotaal of ticket buiten het totaal zonder toevalsgetallen te trekken.
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 bisect import bisect_right
def ticket_index(weights, ticket):
if any(type(w) is not int or w < 0 for w in weights):
raise ValueError("nonnegative integer weights")
bounds, total = [], 0
for weight in weights:
total += weight
bounds.append(total)
if type(ticket) is not int or not 0 <= ticket < total:
raise ValueError("ticket outside total")
return bisect_right(bounds, ticket)Geef selectielogica een reproduceerbare beoordeling
WeightSpruce brengt toepassingslogica en een AI-gesprek samen in een programmeeromgeving voor Windows. Dat is nuttig wanneer een selectieregel aannemelijk lijkt maar de grensgevallen zorgvuldig onderzocht moeten worden. Open de projectmap en vraag uw aangesloten model de beslissing te volgen van de aangeleverde invoer tot het geretourneerde resultaat, inclusief wat aanroepers doen als er geen geldige selectie bestaat.
Het voorbeeld tickets.py kan een verzoek over gewogen ticketselectie ondersteunen. Geef een kleine gewichtenlijst en specifieke ticketposities en vraag of elk naar het bedoelde element verwijst. Behandel nulgewichten en grensposities als onderdeel van het contract. Dit is een concrete projectoefening, geen ingebouwde toewijzingsdienst. De beoordeling moet het resultaat van de hulpfunctie koppelen aan het toepassingsgedrag dat het aanstuurt.
Onbeperkte AI is een optie bij modelselectie wanneer uw ondersteunde OpenAI-compatibele of Anthropic-endpoint zo’n model aanbiedt. Configureer het adres en de vereiste toegangsgegevens; toegang tot tools en context wordt door de dienst bepaald. Inspecteer de voorgestelde wijzigingen voordat u deterministische controles uitvoert die grensfouten zichtbaar maken. Als uw toepassing ook willekeurige invoer gebruikt, beoordeel die bron dan apart. Door tickettoewijzing en willekeur gescheiden te houden, is duidelijker welke component een test werkelijk verifieert.
Een wijziging in gewogen selectie controleren
Kan ik tickettoewijzing testen zonder willekeurige steekproeven?
Ja. Gebruik bekende gewichten en expliciete ticketposities om eerste, laatste en grensgevallen te controleren. Dit verifieert de toewijzing direct. Willekeurige proeven kunnen aanvullen, maar een kleine off-by-one-fout missen en fouten moeilijker reproduceerbaar maken.
Wat moet er gebeuren als elk gewicht nul is?
Definieer die uitkomst in het contract met de aanroeper. Binnen een totaal van nul bestaat geen geldig ticket, dus afwijzing of een apart gespecificeerd alternatief moet bewust worden afgehandeld. Vraag het model zowel het fouttraject als gewone selecties te volgen.
Bewijst correcte toewijzing eerlijke willekeurige selectie?
Nee. Toewijzing en ticketgeneratie zijn afzonderlijke componenten. Beoordeel het vereiste bereik en de eigenschappen van de invoerbron en test vervolgens de integratie. Leid geen verdelingsgaranties af uit alleen het juiste geretourneerde element voor vaste tickets.
Welke aanroepers moeten na een grenscorrectie worden beoordeeld?
Inspecteer afnemers die de geretourneerde index interpreteren of het ticketbereik opbouwen. Controleer aannames over uitgesloten elementen en lege invoer. Hulpfunctie en aanroeper moeten het eens zijn over het al dan niet inbegrepen zijn van de bovengrens voordat de patch wordt geaccepteerd.
WeightSpruce · Bijgewerkt 2026-10-25