Моделі
Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
Обчисліть зсуви RGB24 та кроки, вирівняні за чотирма байтами, для розмірів 1–4096.
def bitmap_row_offset(width, height, row, top_down=False):
if any(type(v) is not int for v in (width, height, row)) or type(top_down) is not bool:
raise ValueError("bitmap.type")
if not 1 <= width <= 4096 or not 1 <= height <= 4096 or not 0 <= row < height:
raise ValueError("bitmap.range")
stride = ((3*width+3)//4)*4
physical_row = row if top_down else height-1-row
return physical_row*stride, strideНалаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
Перевірте ширини з доповненням та обидва напрямки, відхиляйте хибні рядки й нелогічні прапорці напрямку.
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
def bitmap_row_offset(width, height, row, top_down=False):
if any(type(v) is not int for v in (width, height, row)) or type(top_down) is not bool:
raise ValueError("bitmap.type")
if not 1 <= width <= 4096 or not 1 <= height <= 4096 or not 0 <= row < height:
raise ValueError("bitmap.range")
stride = ((3*width+3)//4)*4
physical_row = row if top_down else height-1-row
return physical_row*stride, strideПомилка бінарного формату може проявитися спотвореним зображенням, навіть коли самі значення пікселів правильні. RowChisel — програмне забезпечення для програмування з ШІ у Windows, що допомагає досліджувати код адресації за цим симптомом. Додайте до обговорення відповідний читач і невеликий тестовий приклад, щоб запропоноване виправлення відповідало формату, який застосунок фактично підтримує.
Одне з корисних завдань — перевірка зміщень рядків для вирівняних даних RGB24. Покажіть підключеній моделі ширину, що потребує доповнення, і поясніть, чи зберігаються рядки згори або знизу. Попросіть простежити запитаний рядок через обчислення перед зміною арифметики, розрізняючи логічну позицію рядка та фізичне розташування в пам’яті.
Перевірте, як читач буфера використовує зміщення. Правильна арифметика рядків не підтверджує, що наданий буфер містить достатньо байтів, а змінений крок рядка може вплинути на кожне подальше звернення. Запустіть невеликі приклади для обох напрямків зберігання й перевірте обробку некоректного рядка. Порівнюйте запропоновану зміну з перевірками меж у коді виклику, а не розглядайте функцію ізольовано.
RowChisel підключається до підтримуваних сумісних з OpenAI або Anthropic кінцевих точок. Можна вибрати аблітеровану модель ШІ, яку пропонує налаштований сервіс; підтримка інструментів і контекст визначаються цим налаштуванням. Спирайтеся під час перевірки на кількість байтів і очікувані зміщення, а потім перевіряйте результат застосунку власними інструментами проєкту.
Використайте вузьке зображення RGB24, довжина сирого рядка якого потребує доповнення для вирівнювання. Явно зазначте очікуваний крок рядка й зміщення. Ширина зображення, що вже вирівняна, може приховати дефект і створити враження правильного обчислення.
Логічна нумерація рядків і фізичний порядок можуть відрізнятися. Покажіть, чи перший збережений рядок представляє верх або низ зображення. Попросіть модель зберегти цей контракт у запропонованих змінах коду адресації.
Ні. Читач також має встановити, що потрібні байти існують у наданому буфері. Перевірте цю межу окремо, особливо коли розміри надходять із зовнішніх даних. Залишайте валідацію буфера явною поряд із функцією зміщення.
Огляньте весь код виклику, що використовує крок, протестуйте перший і останній рядки та відхилення індексів. Запустіть приклади для обох напрямків зберігання. Потім огляньте декодований результат, щоб виявити помилки інтеграції поза самою арифметикою.
RowChisel · Оновлено 2026-10-25