From 432a789198e13934522838063b81eb7e61714985 Mon Sep 17 00:00:00 2001 From: wangliang Date: Wed, 28 Jan 2026 19:00:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agent/agents/product.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/agent/agents/product.py b/agent/agents/product.py index 113ede7..863dd7f 100644 --- a/agent/agents/product.py +++ b/agent/agents/product.py @@ -468,10 +468,32 @@ async def _generate_product_response(state: AgentState) -> AgentState: if tool_name == "search_products" or tool_name == "recommend_products": products = data.get("products", []) if isinstance(data, dict) else [] if products: - product_summaries = [f"- {p.get('product_name', 'N/A')}: {p.get('price', 'N/A')}" for p in products[:3]] - summary = f"Found {len(products)} products:\n" + "\n".join(product_summaries) - if len(products) > 3: - summary += f"\n(and {len(products) - 3} more)" + # Keep top 5 products with more details + product_items = [] + for p in products[:5]: # Increased from 3 to 5 + name = p.get('product_name', 'N/A') + price = p.get('price', 'N/A') + special_price = p.get('special_price') + spu_id = p.get('spu_id', '') + + # Show special price if available + if special_price and float(special_price) > 0: + price_str = f"原价: {price}, 特价: {special_price}" + else: + price_str = str(price) + + # Format: [ID] Name - Price + if spu_id: + product_items.append(f"- [{spu_id}] {name} - {price_str}") + else: + product_items.append(f"- {name} - {price_str}") + + summary = f"Found {len(products)} products:\n" + "\n".join(product_items) + + # Add note if there are more products + if len(products) > 5: + summary += f"\n(and {len(products) - 5} more products, visit website for full selection)" + tool_context.append(summary) else: tool_context.append("No products found")