You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix agent error handling for 404 nutrition service responses
- Configure agents to respond "I don't have nutrition information for that pet type" instead of fabricating products
- Add validation to prevent product recommendations when nutrition service returns 404
- Improve error handling to avoid AI hallucination of non-existent products
returnf"I don't have nutrition information for {pet_type} pets. Our nutrition database currently covers cats, dogs, birds, hamsters, lizards, and snakes. Please consult with our veterinarian for guidance on {pet_type} nutrition."
41
+
elifdata["error"] =="service_unavailable":
42
+
return"Our nutrition service is currently unavailable. Please call our clinic at (555) 123-PETS for nutrition guidance."
43
+
elifdata["error"] =="service_error":
44
+
return"There was an error accessing nutrition information. Please call our clinic at (555) 123-PETS for assistance."
45
+
35
46
result=f"Nutrition info for {pet_type}: {data['facts']}"
36
47
ifdata['products']:
37
48
result+=f" Recommended products available at our clinic: {data['products']}"
"""Get dietary recommendations for specific health conditions by animal type"""
43
54
data=get_nutrition_data(pet_type)
55
+
56
+
ifdata["error"] =="pet_type_not_found":
57
+
returnf"I don't have dietary restriction information for {pet_type} pets. Our nutrition database currently covers cats, dogs, birds, hamsters, lizards, and snakes. Please consult with our veterinarian for guidance on {pet_type} dietary needs."
58
+
elifdata["error"] =="service_unavailable":
59
+
return"Our nutrition service is currently unavailable. Please call our clinic at (555) 123-PETS for dietary guidance."
60
+
elifdata["error"] =="service_error":
61
+
return"There was an error accessing dietary information. Please call our clinic at (555) 123-PETS for assistance."
62
+
44
63
result=f"Dietary info for {pet_type}: {data['facts']}. Consult veterinarian for condition-specific advice."
45
64
ifdata['products']:
46
65
result+=f" Recommended products available at our clinic: {data['products']}"
"""Get supplement recommendations by animal type"""
52
71
data=get_nutrition_data(pet_type)
72
+
73
+
ifdata["error"] =="pet_type_not_found":
74
+
returnf"I don't have supplement information for {pet_type} pets. Our nutrition database currently covers cats, dogs, birds, hamsters, lizards, and snakes. Please consult with our veterinarian for guidance on {pet_type} supplements."
75
+
elifdata["error"] =="service_unavailable":
76
+
return"Our nutrition service is currently unavailable. Please call our clinic at (555) 123-PETS for supplement guidance."
77
+
elifdata["error"] =="service_error":
78
+
return"There was an error accessing supplement information. Please call our clinic at (555) 123-PETS for assistance."
79
+
53
80
result=f"Supplement info for {pet_type}: {data['facts']}. Consult veterinarian for supplements."
54
81
ifdata['products']:
55
82
result+=f" Recommended products available at our clinic: {data['products']}"
"""Create an order for a recommended product. Requires product_name, pet_type, and optional quantity (default 1)."""
61
-
product_lower=product_name.lower()
62
88
data=get_nutrition_data(pet_type)
89
+
90
+
ifdata["error"] =="pet_type_not_found":
91
+
returnf"I cannot create an order for {pet_type} products as we don't have nutrition information for this pet type. Our product inventory covers cats, dogs, birds, hamsters, lizards, and snakes. Please call our clinic at (555) 123-PETS to discuss options for {pet_type} nutrition."
92
+
elifdata["error"] =="service_unavailable":
93
+
return"Our nutrition service is currently unavailable. Please call our clinic at (555) 123-PETS to place your order."
94
+
elifdata["error"] =="service_error":
95
+
return"There was an error accessing our product inventory. Please call our clinic at (555) 123-PETS to place your order."
returnf"Order {order_id} created for {quantity}x {product_name}. Total: ${quantity*29.99:.2f}. Expected delivery: 3-5 business days. You can pick it up at our clinic or we'll ship it to you."
@@ -76,8 +110,14 @@ def create_nutrition_agent():
76
110
system_prompt= (
77
111
"You are a specialized pet nutrition expert at our veterinary clinic, providing accurate, evidence-based dietary guidance for pets. "
78
112
"Never mention using any API, tools, or external services - present all advice as your own expert knowledge.\n\n"
113
+
"CRITICAL: NEVER fabricate or invent product names, nutrition facts, or recommendations when you don't have information for a specific pet type. "
114
+
"If you don't have nutrition information for a pet type, clearly state this limitation and refer to our veterinarian.\n\n"
79
115
"When providing nutrition guidance:\n"
80
-
"- Use the specific nutrition information available to you as the foundation for your recommendations\n"
116
+
"- ONLY provide specific product recommendations when you have verified product information for that pet type\n"
117
+
"- If nutrition information is unavailable for a pet type, clearly state: 'I don't have nutrition information for [pet type] pets'\n"
118
+
"- List the pet types you DO have information for: cats, dogs, birds, hamsters, lizards, and snakes\n"
119
+
"- For unsupported pet types, always recommend consulting with our veterinarian\n"
120
+
"- When you DO have information, use the specific nutrition information available to you as the foundation for your recommendations\n"
81
121
"- Always recommend the SPECIFIC PRODUCT NAMES provided to you that pet owners should buy FROM OUR PET CLINIC\n"
82
122
"- Mention our branded products by name (like PurrfectChoice, BarkBite, FeatherFeast, etc.) when recommending food\n"
83
123
"- Emphasize that we carry high-quality, veterinarian-recommended food brands at our clinic\n"
0 commit comments