EExponQuay
Pracovní prostředí s AI pro kód

Stabilní agregace log-sum-exp

Agregujte nejvýše 1000 logaritmických hodnot od minus 1e300 do 1e300 odečtením maxima před exponenciací.

● ● ●ExponQuay●
Pracovní postupy · Stabilní agregace log-sum-exp ×
from math import exp, fsum, log, inf

def log_sum_exp(values):
    if type(values) not in (list, tuple) or len(values) > 1000:
        raise ValueError("values.container")
    values = tuple(values)
    if len(values) > 1000 or any(
        type(v) not in (int, float) or not -1e300 <= v <= 1e300 for v in values
    ):
        raise ValueError("values.range")
    if not values:
        return -inf
    peak = max(values)
    return peak + log(fsum(exp(v - peak) for v in values))
✳Agregujte nejvýše 1000 logaritmických hodnot od minus 1e300 do 1e300 odečtením maxima před exponenciací.
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
Před použitím zkontrolujtePorovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
ModelyNastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
ProjektOvěřte prázdný vstup, opakované velké a velmi záporné hodnoty a vraťte minus nekonečno jen pro prázdno; odmítněte booleovské, nekonečné nebo nepovolené hodnoty.
Pracovní postupy

Stabilní agregace log-sum-exp

Pracovní postupy ↗
Pracovní postupy
from math import exp, fsum, log, inf

def log_sum_exp(values):
    if type(values) not in (list, tuple) or len(values) > 1000:
        raise ValueError("values.container")
    values = tuple(values)
    if len(values) > 1000 or any(
        type(v) not in (int, float) or not -1e300 <= v <= 1e300 for v in values
    ):
        raise ValueError("values.range")
    if not values:
        return -inf
    peak = max(values)
    return peak + log(fsum(exp(v - peak) for v in values))
Pracovní prostředí s AI pro kód

Prověřte numerické chování před důvěrou v nový výsledek

ExponQuay je programovací klient s AI pro Windows pro vývojáře, kteří potřebují vysvětlit numerickou změnu v kontextu aplikace. Do projektové konverzace přineste zdrojový kód, problematický vstup a očekávané chování. Užitečný první požadavek žádá připojený model o oddělení zamýšlené matematické operace od omezení současné implementace.

Například úloha logaritmické agregace může určit omezené vstupní hodnoty, maximální velikost kolekce a výsledek pro prázdný vstup. Požádejte model o prozkoumání postupu s posunem o maximum při zachování těchto pravidel. Zahrňte volající kód využívající odpověď, zejména pokud rozlišuje prázdnou agregaci a konečný numerický výsledek. Diskuse se stále týká kódu ve vašem projektu.

Před přijetím návrhu spusťte ve vlastním prostředí případy s opakovanými velkými a velmi zápornými hodnotami. Vedle běžného výsledku ověřte odmítnutí nepodporovaných typů a vstupů mimo rozsah. Porovnejte je s vhodnou referencí pro přesnost požadovanou aplikací. I metoda zamýšlená ke zlepšení stability zaslouží ověření na zátěži, které bude skutečně sloužit.

Zvolte koncový bod kompatibilní s OpenAI nebo koncový bod Anthropic podporovaný ExponQuay. Jsou-li tam dostupné nefiltrované modely AI, můžete některý zvolit s potřebnými přihlašovacími údaji. Jeho označení neslibuje matematickou přesnost; omezení modelu, limity kontextu a podpora nástrojů závisejí na skutečné konfiguraci koncového bodu a modelu.

Příprava kontroly numerické agregace

Co přiložit k problematickému numerickému vstupu?

Zahrňte očekávaný rozsah nebo referenční výsledek, přijímané vstupní typy a zacházení volajícího se zvláštními výstupy. Díky tomu diskuse řeší potřeby aplikace a pouze nenahrazuje jeden výraz matematicky podobným vzorcem.

Má prázdný vstup vracet běžné číslo?

Dodržte pravidla, která určíte. Příklad pro prázdnou agregaci používá záporné nekonečno, kterému příjemce musí rozumět. Před přijetím navržené změny prověřte volajícího a prázdný případ otestujte odděleně od velmi záporných, ale platných vstupů.

Proč testovat opakované velké hodnoty?

Prověřují užitečnou hranici agregačního postupu probíraného v tomto příkladu projektu. Uveďte očekávané chování a porovnejte implementaci s vhodnou referencí. Z jediného běžného testu bez krajních hodnot nevyvozujte obecnou numerickou přesnost.

Může model zvolit přijatelnou toleranci chyby?

Může vysvětlit kompromisy, ale toleranci určují požadavky aplikace. Dodejte požadavek a používané číselné typy. Výsledný návrh spusťte na reprezentativních vstupech vlastními nástroji a zdokumentujte limity pozorované při kontrole.

Stáhnout pro Windows ↗

ExponQuay · Aktualizováno 2026-10-25