EExponQuay
KI-Arbeitsumgebung für Code

Stabile Log-Sum-Exp-Aggregation

Aggregieren Sie höchstens 1000 Logarithmuswerte von minus 1e300 bis 1e300 nach Abzug ihres Maximums vor dem Exponenzieren.

● ● ●ExponQuay●
Arbeitsabläufe · Stabile Log-Sum-Exp-Aggregation ×
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))
✳Aggregieren Sie höchstens 1000 Logarithmuswerte von minus 1e300 bis 1e300 nach Abzug ihres Maximums vor dem Exponenzieren.
✓ ÄnderungenVor dem Anwenden prüfen ↗
Illustration der Arbeitsumgebung
Vor dem Anwenden prüfenVergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
ModelleRichten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.
ProjektPrüfen Sie leere Eingaben, wiederholte große und sehr negative Werte und geben Sie nur bei Leere minus unendlich zurück; weisen Sie boolesche, nicht endliche oder unzulässige Werte zurück.
Arbeitsabläufe

Stabile Log-Sum-Exp-Aggregation

Arbeitsabläufe ↗
Arbeitsabläufe
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))
KI-Arbeitsumgebung für Code

Numerisches Verhalten prüfen, bevor Sie dem neuen Ergebnis vertrauen

ExponQuay ist ein KI-Programmierclient für Windows für Entwickler, die eine numerische Änderung im Anwendungskontext erklärt brauchen. Bringen Sie Quellcode, problematische Eingabe und erwartetes Verhalten ins Projektgespräch ein. Eine sinnvolle erste Anfrage lässt das verbundene Modell die beabsichtigte mathematische Operation von den Grenzen der aktuellen Implementierung trennen.

Eine Aufgabe zur logarithmischen Aggregation kann beispielsweise begrenzte Eingabewerte, eine maximale Sammlungsgröße und ein Ergebnis für leere Eingaben festlegen. Lassen Sie das Modell einen Ansatz mit Verschiebung um das Maximum unter Erhaltung dieser Vereinbarungen untersuchen. Fügen Sie den Aufrufer hinzu, der das Ergebnis verarbeitet, besonders wenn er ein leeres Aggregat von einem endlichen numerischen Ergebnis unterscheidet. Das Gespräch bleibt auf Code in Ihrem Projekt bezogen.

Führen Sie vor der Übernahme Fälle mit wiederholten großen und sehr negativen Werten in Ihrer Umgebung aus. Prüfen Sie neben gewöhnlichen Ergebnissen auch die Ablehnung nicht unterstützter Typen und Werte außerhalb des Bereichs. Vergleichen Sie mit einer geeigneten Referenz für die benötigte Genauigkeit. Auch eine zur Stabilitätsverbesserung gedachte Methode verdient eine Prüfung mit ihrer tatsächlichen Arbeitslast.

Wählen Sie einen von ExponQuay unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkt. Sind dort ungefilterte KI-Modelle verfügbar, können Sie eines mit den erforderlichen Zugangsdaten auswählen. Die Bezeichnung verspricht keine mathematische Genauigkeit; Modellbeschränkungen, Kontextgrenzen und Werkzeugunterstützung hängen von der tatsächlichen Endpunkt- und Modellkonfiguration ab.

Eine Prüfung numerischer Aggregation vorbereiten

Was gehört zu einer problematischen numerischen Eingabe?

Nennen Sie erwarteten Bereich oder Referenzergebnis, zulässige Eingabetypen und den Umgang des Aufrufers mit besonderen Ausgaben. So behandelt das Gespräch die Anforderungen der Anwendung, statt lediglich einen Ausdruck durch eine mathematisch ähnliche Formel zu ersetzen.

Sollte eine leere Eingabe eine gewöhnliche Zahl zurückgeben?

Folgen Sie der von Ihnen festgelegten Vereinbarung. Das Beispiel nutzt für ein leeres Aggregat negative Unendlichkeit, die der nutzende Code verstehen muss. Prüfen Sie den Aufrufer und testen Sie den leeren Fall getrennt von sehr negativen, aber gültigen Eingaben, bevor Sie eine Änderung annehmen.

Warum wiederholte große Werte testen?

Sie prüfen einen nützlichen Grenzfall des in diesem Projektbeispiel besprochenen Aggregationsansatzes. Nennen Sie das erwartete Verhalten und vergleichen Sie die Implementierung mit einer geeigneten Referenz. Leiten Sie allgemeine numerische Genauigkeit nicht aus einem einzelnen gewöhnlichen Test ohne Extremwerte ab.

Kann das Modell eine zulässige Fehlertoleranz wählen?

Es kann Zielkonflikte erklären, doch Ihre Anwendungsanforderungen bestimmen die Toleranz. Nennen Sie diese Anforderung und die verwendeten Zahlentypen. Prüfen Sie den Vorschlag mit eigenen Werkzeugen an repräsentativen Eingaben und dokumentieren Sie die beobachteten Grenzen.

Für Windows herunterladen ↗

ExponQuay · Aktualisiert 2026-10-25