Modele
Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
Rozdziel najwyżej 10000 miejsc między maksymalnie 1000 nieujemnych wag całkowitych według największych reszt.
def allocate(weights, seats):
if type(weights) not in (list, tuple) or len(weights) > 1000:
raise ValueError("weights.container")
weights = tuple(weights)
if type(seats) is not int or not 0 <= seats <= 10000:
raise ValueError("seats.range")
if len(weights) > 1000 or any(type(w) is not int or w < 0 for w in weights):
raise ValueError("weights.invalid")
total = sum(weights)
if total == 0:
if seats:
raise ValueError("weight.zero")
return [0] * len(weights)
result = [w * seats // total for w in weights]
remaining = seats - sum(result)
order = sorted(range(len(weights)), key=lambda i: (-(weights[i] * seats % total), i))
for i in order[:remaining]:
result[i] += 1
return resultDodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
Sprawdź wagi zero i równe reszty rozstrzygane kolejnością wejścia, odrzucając dodatni przydział przy sumie wag zero przed dzieleniem.
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
def allocate(weights, seats):
if type(weights) not in (list, tuple) or len(weights) > 1000:
raise ValueError("weights.container")
weights = tuple(weights)
if type(seats) is not int or not 0 <= seats <= 10000:
raise ValueError("seats.range")
if len(weights) > 1000 or any(type(w) is not int or w < 0 for w in weights):
raise ValueError("weights.invalid")
total = sum(weights)
if total == 0:
if seats:
raise ValueError("weight.zero")
return [0] * len(weights)
result = [w * seats // total for w in weights]
remaining = seats - sum(result)
order = sorted(range(len(weights)), key=lambda i: (-(weights[i] * seats % total), i))
for i in order[:remaining]:
result[i] += 1
return resultProcedura przydziału może zachowywać sumę, a jednocześnie rozdzielać udziały inaczej, niż oczekują użytkownicy. QuotaMosaic to oprogramowanie programistyczne AI dla Windows do badania tej różnicy we własnym projekcie. Przed prośbą o zmianę kodu wprowadź do rozmowy implementację, kod wywołujący i kilka oczekiwanych przydziałów.
Jednym z zadań przeglądu jest przydział metodą największych reszt, w którym całe jednostki rozdziela się według nieujemnych wag. Poproś podłączony model o sprawdzenie związku przydziału podstawowego z pozostałymi jednostkami. Uwzględnij przykład równych reszt i jawnie określ regułę remisu, aby zmiana kolejności nie zmieniła po cichu wyniku.
Przejrzyj interfejs równie uważnie jak arytmetykę. Określ znaczenie pustego wejścia lub zerowej sumy wag, gdy żądane są jednostki, a następnie sprawdź, jak błędy docierają do kodu wywołującego. Uruchom kontrole projektu na małych niezależnie zweryfikowanych przykładach i sprawdź zarówno sumę końcową, jak i poszczególne przydziały. Zachowanie jednej niezmienniczej właściwości nie dowodzi drugiej.
QuotaMosaic łączy się z obsługiwanymi punktami końcowymi zgodnymi z OpenAI lub punktami końcowymi Anthropic. Model AI typu abliterated można wybrać tam, gdzie jest dostępny, a jego możliwości i limity określają model i serwer. Użyj modelu do zbadania reguł i przygotowania poprawki do przeglądu, a następnie zweryfikuj uzyskane zachowanie w aplikacji.
Określ kolejność równych reszt, w tym znaczenie pierwotnej kolejności wejścia. Podaj przykład remisu z oczekiwanym przydziałem. Inaczej pozornie niegroźna zmiana sortowania może zmienić odbiorcę ostatniej jednostki.
Nie. Kilka różnych przydziałów może mieć tę samą sumę. Sprawdź także ilość przypisaną każdemu odbiorcy i wynik remisów. Użyj niezależnych oczekiwanych przykładów, zamiast tylko powtarzać obliczenie implementacji w teście.
Określ osobne oczekiwania dla braku żądanych jednostek i dla żądania dodatniej liczby. Przejrzyj istniejący kontrakt błędów wraz z kodem wywołującym. Model nie powinien wymyślać odbiorców ani dzielić przez nieokreśloną sumę tylko po to, aby funkcja coś zwróciła.
Określa konkretny kontekst przeglądu z całymi jednostkami i nieujemnymi wagami. Jeśli aplikacja ma limity, minima lub inne priorytety, podaj je jawnie. Sprawdź, czy proponowana zmiana nadal realizuje politykę potrzebną użytkownikom.
QuotaMosaic · Zaktualizowano 2026-10-25