Skip to content

Improve ChatGPT metadata generation context and error handling - #1

Open
vitaliyvladov wants to merge 1 commit into
MAX-IT-Tech:release/4.6.0from
vitaliyvladov:fix/openai-generation-context-4.6
Open

Improve ChatGPT metadata generation context and error handling#1
vitaliyvladov wants to merge 1 commit into
MAX-IT-Tech:release/4.6.0from
vitaliyvladov:fix/openai-generation-context-4.6

Conversation

@vitaliyvladov

@vitaliyvladov vitaliyvladov commented Aug 2, 2026

Copy link
Copy Markdown

English

Summary

Improves ChatGPT product/category/brand metadata generation so the model receives clearer context, zero sampling settings are preserved, and SSE failures restore the previous editor content instead of leaving blank or partial text.

Changes

  • Append product features/specs as user context after the prompt (previously sent as role: assistant, which confused the model)
  • Richer product context: brand, category, existing annotation/description, verified specs; placeholders {$product}, {$brand}, {$category}, {$annotation}, {$description}, {$features}
  • Similar context enrichment for category and brand entities
  • Fix falsy ?: defaults so temperature / presence / frequency penalties of 0 are preserved
  • Dedicated SSE event: error; JS restores previous textarea/TinyMCE content and alerts on failure
  • Better default prompts (no emoji / no “paint everything in detail”); safe SQL migration only updates rows still equal to old defaults; updated okay_clean.sql seeds; settings UI placeholder help (en/ru/ua)
  • Migration: 1DB_changes/update_4.6.1.sql
  • Note: on 4.6, OpenAiHelper uses Okay\Core\Ai\OpenAiTextClient (develop still uses orhanerday/open-ai)

Test plan

  • Generate product annotation/description with features present — confirm specs appear as user context, not an assistant turn
  • Confirm placeholders ({$product}, {$brand}, {$category}, {$annotation}, {$description}, {$features}) resolve in the request payload
  • Generate for category and brand entities — context is enriched similarly
  • Set temperature / presence / frequency penalty to 0 — values are sent as 0, not replaced by defaults
  • Force an SSE/API error — previous textarea/TinyMCE content is restored and an alert is shown
  • Run update_4.6.1.sql on a DB with old default prompts — only matching old defaults are updated
  • Fresh install / okay_clean.sql — new default prompts and settings placeholder help (en/ru/ua) look correct

Українська

Підсумок

Покращує генерацію метаданих ChatGPT для товарів/категорій/брендів: модель отримує зрозуміліший контекст, нульові параметри семплінгу зберігаються, а при помилках SSE попередній вміст редактора відновлюється.

Зміни

  • Характеристики товару додаються як user-контекст після промпта (раніше йшли як role: assistant, що плутало модель)
  • Багатший контекст товару: бренд, категорія, наявні анотація/опис, перевірені характеристики; плейсхолдери {$product}, {$brand}, {$category}, {$annotation}, {$description}, {$features}
  • Аналогічне збагачення контексту для категорій і брендів
  • Виправлено falsy ?:, щоб temperature / presence / frequency penalty зі значенням 0 не підмінялись дефолтами
  • Окрема SSE event: error; JS відновлює попередній вміст textarea/TinyMCE і показує alert при помилці
  • Кращі дефолтні промпти (без emoji / без «розмалюй усе детально»); безпечна SQL-міграція оновлює лише рядки, що ще дорівнюють старим дефолтам; оновлені сіди okay_clean.sql; підказки плейсхолдерів у UI налаштувань (en/ru/ua)
  • Міграція: 1DB_changes/update_4.6.1.sql
  • Примітка: на 4.6 OpenAiHelper використовує Okay\Core\Ai\OpenAiTextClient (у develop ще orhanerday/open-ai)

План тестування

  • Згенерувати анотацію/опис товару з характеристиками — характеристики йдуть як user-контекст, не як assistant
  • Перевірити, що плейсхолдери ({$product}, {$brand}, {$category}, {$annotation}, {$description}, {$features}) підставляються в запит
  • Генерація для категорії та бренду — контекст збагачується аналогічно
  • Встановити temperature / presence / frequency penalty = 0 — у запит йде 0, а не дефолт
  • Спровокувати SSE/API помилку — попередній вміст textarea/TinyMCE відновлюється, показується alert
  • Виконати update_4.6.1.sql на БД зі старими дефолтними промптами — оновлюються лише рядки зі старими дефолтами
  • Чиста інсталяція / okay_clean.sql — нові дефолтні промпти та підказки в налаштуваннях (en/ru/ua) коректні

Send product specs as user context instead of a fake assistant turn, enrich requests with brand/category/existing copy, fix zero temperature defaults, restore fields on SSE errors, and replace emoji-heavy default prompts.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant