EExponQuay
Рабочая среда с ИИ для кода

Устойчивое агрегирование log-sum-exp

ExponQuay — ИИ-клиент Windows для изучения логарифмического агрегирования в исходных файлах. Обсудите числовой контракт с совместимой моделью, проверьте предложенное смещение на максимум и испытайте крайние значения перед применением изменений.

● ● ●ExponQuay●
Конкретная отправная точка · Устойчивое агрегирование 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))
✳Агрегируйте до 1000 логарифмических значений от минус 1e300 до 1e300, вычитая максимум перед экспоненцированием.
✓ ИзмененияПроверьте перед применением ↗
Иллюстрация рабочей среды
Проверьте перед применениемСравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
ПодключениеБазовый URL, учётные данные и доступный сервер.
ПроектПроверьте пустой ввод, повторяющиеся большие и очень отрицательные значения, возвращая минус бесконечность только для пустого ввода и отклоняя логические, неконечные или выходящие за диапазон элементы.
Сценарии

Устойчивое агрегирование 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))
Рабочая среда с ИИ для кода

Проверьте численное поведение, прежде чем доверять новому результату

ExponQuay — клиент программирования с ИИ для Windows для разработчиков, которым нужно объяснение численного изменения в контексте приложения. Добавьте исходник, проблемный ввод и ожидаемое поведение в обсуждение проекта. Полезный первый запрос — попросить подключённую модель отделить задуманную математическую операцию от ограничений текущей реализации.

Например, задача логарифмического агрегирования может задавать ограниченные значения, максимальный размер коллекции и результат для пустого ввода. Попросите модель изучить подход со сдвигом на максимум, сохранив эти условия. Добавьте вызывающий код, использующий ответ, особенно если он отличает пустой агрегат от конечного численного результата. Обсуждение остаётся о коде вашего проекта.

До принятия предложения запустите случаи с повторяющимися большими и очень отрицательными значениями в своей среде. Проверьте отклонение неподдерживаемых типов и значений вне диапазона наряду с обычным результатом. Сравните с подходящим эталоном для требуемой приложению точности. Метод, призванный улучшить устойчивость, всё равно требует проверки на реальной будущей нагрузке.

Выберите поддерживаемую ExponQuay конечную точку, совместимую с OpenAI, или Anthropic. Если там доступны модели ИИ без фильтров, можно выбрать одну с необходимыми учётными данными. Её название не обещает математической точности; ограничения модели, пределы контекста и поддержка инструментов зависят от реальной конечной точки и конфигурации модели.

Подготовка проверки численного агрегирования

Что приложить к проблемному численному вводу?

Укажите ожидаемый диапазон или эталонный результат, допустимые типы ввода и обработку особых результатов вызывающим кодом. Эти сведения позволяют обсуждать потребности приложения, а не просто заменять выражение математически похожей формулой.

Должен ли пустой ввод возвращать обычное число?

Следуйте заданным условиям. Пример использует отрицательную бесконечность для пустого агрегата, и потребитель должен это понимать. Проверьте вызывающий код и отдельно протестируйте пустой случай, отличая его от очень отрицательных допустимых значений, до принятия изменения.

Зачем проверять повторяющиеся большие значения?

Они проверяют полезную границу подхода к агрегированию из примера проекта. Задайте ожидаемое поведение и сравните реализацию с подходящим эталоном. Не судите об общей численной точности по одному обычному примеру без экстремальных значений.

Может ли модель выбрать допустимую погрешность?

Она может объяснить компромиссы, но допуск определяют требования приложения. Предоставьте это требование и используемые численные типы. Запустите предложение на характерных данных своими инструментами и задокументируйте выявленные при проверке ограничения.

Скачать для Windows ↗

ExponQuay · Обновлено 2026-10-25