SSampleThicket
Робоче середовище з ШІ для коду

Резервуарна вибірка з потоку

Виберіть резервуар до 32 елементів зі скінченного потоку до 1000 елементів локальним генератором із початковим значенням.

● ● ●SampleThicket●
Сценарії · Резервуарна вибірка з потоку ×
from random import Random

def reservoir_sample(items, size, seed):
    if type(size) is not int or not 0 <= size <= 32:
        raise ValueError("size.range")
    if type(seed) is not int or not 0 <= seed < 2**32:
        raise ValueError("seed.range")
    rng, sample, count = Random(seed), [], 0
    for index, item in enumerate(items):
        count = index + 1
        if count > 1000:
            raise ValueError("stream.limit")
        if index < size:
            sample.append(item)
        elif size:
            position = rng.randrange(count)
            if position < size:
                sample[position] = item
    if size > count:
        raise ValueError("stream.short")
    return sample
✳Виберіть резервуар до 32 елементів зі скінченного потоку до 1000 елементів локальним генератором із початковим значенням.
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
01

Моделі

Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.

02

Проєкт

Повторіть початкове значення для перевірки відтворюваності й відхиліть потік, коротший за вибірку, зберігаючи вхідні списки.

03

Перевірте перед застосуванням

Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

Сценарії

Резервуарна вибірка з потоку

Сценарії ↗
Сценарії
from random import Random

def reservoir_sample(items, size, seed):
    if type(size) is not int or not 0 <= size <= 32:
        raise ValueError("size.range")
    if type(seed) is not int or not 0 <= seed < 2**32:
        raise ValueError("seed.range")
    rng, sample, count = Random(seed), [], 0
    for index, item in enumerate(items):
        count = index + 1
        if count > 1000:
            raise ValueError("stream.limit")
        if index < size:
            sample.append(item)
        elif size:
            position = rng.randrange(count)
            if position < size:
                sample[position] = item
    if size > count:
        raise ValueError("stream.short")
    return sample
Робоче середовище з ШІ для коду

Зробіть зміни вибірки достатньо відтворюваними для перевірки

Рандомізований код потребує сліду перевірки, навіть коли окремі результати відрізняються. SampleThicket надає проєктам, пов’язаним із вибіркою, робоче середовище програмування з ШІ у Windows, де код і припущення про відтворюваність можна обговорювати разом. Відкрийте відповідну папку й опишіть вхідний потік, запитану вибірку та очікувану обробку некоректних запитів.

Для резервуарної вибірки зі скінченного потоку попросіть підключену модель перевірити, як передається початкове значення генератора та як змінюється вибірка з надходженням елементів. Тримайте короткий відомий потік для покрокового розбору. Відокремлюйте повторюваний приклад від ширших тверджень про статистичну якість; фіксоване початкове значення допомагає відтворити шлях, але не доводить незміщеність.

Перевірте межі запиту перед прийняттям змін реалізації. Вибірка, більша за потік, і потік поза підтримуваною межею потребують явних результатів. Перевірте, як код виклику отримує ці помилки, а потім запустіть детерміновані приклади й належне статистичне оцінювання власними інструментами. Зберігайте початкове значення генератора та відповідну конфігурацію під час запису результату.

SampleThicket підтримує підключення до сумісних з OpenAI або Anthropic кінцевих точок. Доступна модель ШІ без цензури може допомагати перевірці з урахуванням її поведінки та обмежень сервера. Середовище допомагає підготувати й дослідити патч; відтворювані перевірки проєкту дають підтвердження поведінки, яку ви хочете зберегти.

Відтворюваність змін вибірки — питання перед редагуванням

Що має містити відтворюваний звіт про вибірку?

Додайте вхідну послідовність або відтворюване джерело, запитаний розмір, початкове значення генератора та відповідні відомості про середовище виконання. За можливості зробіть приклад достатньо малим для огляду. Це допоможе відрізнити зміну коду від зміни випадкового шляху.

Чи доводить збіг результату з фіксованим початковим значенням незміщеність вибірки?

Ні. Він установлює повторюваність для цього налаштування й випадку. Статистичні властивості потребують окремих міркувань і належного оцінювання. Попросіть модель розрізняти ці твердження, а не трактувати один детермінований приклад як доказ якості розподілу.

Як має поводитися запит завеликої вибірки?

Зазначте, чи він має завершитися помилкою, чи підкорятися іншій свідомій політиці. Для прикладу скінченного потоку перевірте відхилення закороткого потоку та код виклику. Не повертайте непомітно менше елементів, якщо споживач припускає гарантовану запитану кількість.

Навіщо зберігати обмеження під час рефакторингу вибірки?

Обмеження можуть визначати допустиме навантаження й контракт помилок. Попросіть модель визначити їх перед зміною циклу або обробки входу. Тестуйте граничні випадки, щоб рефакторинг випадково не прибрав навмисний захист.

Завантажити для Windows ↗

SampleThicket · Оновлено 2026-10-25