fix(chat): clean квартирография rendering in chat prompt v2 (#957) #1179
2 changed files with 18 additions and 1 deletions
|
|
@ -48,7 +48,7 @@ _SYSTEM_BASE = PromptTemplate(
|
|||
# (см. services/chat/{tools,safe_payload}.py), НЕ зашиваются в литерал промпта.
|
||||
_CHAT_SYSTEM = PromptTemplate(
|
||||
name="chat_system",
|
||||
version=1,
|
||||
version=2,
|
||||
template=(
|
||||
"Ты — ассистент по инвестиционному форсайт-отчёту земельного участка (РФ). "
|
||||
"Отвечай на русском языке, по-деловому, нейтрально, без маркетинга и без emoji.\n\n"
|
||||
|
|
@ -64,6 +64,10 @@ _CHAT_SYSTEM = PromptTemplate(
|
|||
"5. Вопросы вне отчёта по участку (градостроительная документация / ПЗЗ-разрешения, "
|
||||
"сравнение с другими участками, юридические заключения) — вежливо скажи, что это вне "
|
||||
"области отчёта, и предложи вопросы по самому форсайту.\n"
|
||||
"6. При перечислении квартирографии / сегментов указывай ТИП понятно "
|
||||
"(студия, 1-к, 2-к, 3-к, евро-форматы, 80+ м²) и долю в % если она есть. "
|
||||
"НЕ нумеруй порядковыми номерами и НЕ склеивай номер с типом через дефис "
|
||||
"(никаких «2-1-к»); перечисляй по одному типу в строке или через запятую.\n"
|
||||
"Отвечай кратко и по существу заданного вопроса."
|
||||
),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -29,6 +29,19 @@ def test_render_known_template() -> None:
|
|||
assert "ассистент" in out
|
||||
|
||||
|
||||
def test_chat_system_v2_has_unit_mix_formatting_rule() -> None:
|
||||
"""chat_system@v2 (#957 fix): чистый рендер квартирографии, без «N-тип» склейки."""
|
||||
tpl = get_template("chat_system")
|
||||
assert tpl.version == 2
|
||||
assert tpl.key == "chat_system@v2"
|
||||
out = render("chat_system")
|
||||
assert "квартирограф" in out.lower() # правило про перечисление сегментов
|
||||
assert "«2-1-к»" in out # явный анти-пример (склейка номера с типом)
|
||||
# ключевые жёсткие правила сохранены
|
||||
assert "НИКОГДА не выдумывай" in out
|
||||
assert "ВЕРБАТИМ" in out
|
||||
|
||||
|
||||
def test_render_with_required_vars() -> None:
|
||||
"""render подставляет переменные через str.format и валидирует required_vars."""
|
||||
tpl = PromptTemplate(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue