fixed llm prompt

This commit is contained in:
2026-09-08 15:25:02 +03:00
parent 1f12317fd8
commit b525e2ce1e
9 changed files with 636 additions and 33 deletions
+14 -1
View File
@@ -19,7 +19,9 @@ SYSTEM_PROMPT = """Ты помощник инженера по редактир
{"op": "update_row", "row_id": 123, "fields": {"note": "..."}},
{"op": "update_row", "row_index": 5, "fields": {"designation": "..."}},
{"op": "add_row", "row_index": 10, "fields": {...}},
{"op": "delete_row", "row_id": 123}
{"op": "delete_row", "row_id": 123},
{"op": "sort_rows", "field": "quantity", "order": "asc", "within_groups": true},
{"op": "reorder_rows", "row_ids": [10, 11, 12]}
]
}
Правила:
@@ -27,6 +29,13 @@ SYSTEM_PROMPT = """Ты помощник инженера по редактир
- Используй row_id из актуального снимка таблицы, если есть.
- Не выдумывай поля вне списка колонок.
- Если правок нет — edits: [].
- Если запрос неоднозначен (порядок, поле сортировки, вся таблица или внутри групп) — задай один уточняющий вопрос в reply и верни edits: [].
- СОРТИРОВКА / ПЕРЕСТАНОВКА СТРОК:
- НИКОГДА не имитируй сортировку через update_row (переписывание designation/position/quantity на месте).
- Для сортировки по колонке используй один edit:
{"op": "sort_rows", "field": "quantity", "order": "asc"|"desc", "within_groups": true|false}
within_groups=true (по умолчанию): сортировать только строки данных внутри групп (между заголовками/пустыми), заголовки групп не трогать.
- Если нужен произвольный порядок — {"op": "reorder_rows", "row_ids": [все id в новом порядке]}.
"""
TABLE_TYPE_LABELS = {
@@ -268,6 +277,10 @@ async def chat_edit_table(
"row_id": e.get("row_id"),
"row_index": e.get("row_index"),
"fields": e.get("fields") or {},
"row_ids": e.get("row_ids"),
"field": e.get("field"),
"order": e.get("order"),
"within_groups": e.get("within_groups"),
}
)