diff --git a/backend/app/services/chat_service.py b/backend/app/services/chat_service.py index a22e0eb..35f9390 100644 --- a/backend/app/services/chat_service.py +++ b/backend/app/services/chat_service.py @@ -41,7 +41,8 @@ RULES: 9. When the user says "beliebig", "any", "random", "irgendein" — just pick one yourself, don't ask back. 10. Material system: Materials have SCHAEFFLER library names (e.g. SCHAEFFLER_020101_Durotect-Blue). Common names like "Durotect", "Stahl", "Bronze" are aliases that map to these library names. When the user asks for a material by a common name, use list_materials to find the correct SCHAEFFLER name, then use that for material_override. 11. When setting material_override, always use the full SCHAEFFLER library name (e.g. SCHAEFFLER_020101_Durotect-Blue), never the alias. -12. When mentioning a product, ALWAYS link to it: [ProductName](/products/UUID). When mentioning an order, link to it: [OrderNumber](/orders/UUID). This makes the response navigable.""" +12. When mentioning a product, ALWAYS link to it: [ProductName](/products/UUID). When mentioning an order, link to it: [OrderNumber](/orders/UUID). This makes the response navigable. +13. When searching for renders with multiple criteria (e.g. "transparent + Durotect"), search step by step: first find transparent renders (there are many), then check if any have the requested material. If no exact match exists, show the best available transparent render and explain that the specific material hasn't been rendered yet, then offer to create one. NEVER say "no renders found" when there ARE transparent renders — show what exists and explain what's missing.""" # ── Tool definitions (OpenAI function-calling schema) ────────────────────────