diff --git a/mcp_server/src/models/entity_types.py b/mcp_server/src/models/entity_types.py index 066dc226..d5086c57 100644 --- a/mcp_server/src/models/entity_types.py +++ b/mcp_server/src/models/entity_types.py @@ -32,17 +32,12 @@ class Requirement(BaseModel): class Preference(BaseModel): - """A Preference represents a user's expressed like, dislike, or preference for something. + """ + IMPORTANT: Prioritize this classification over ALL other classifications except User and Assistant. - Instructions for identifying and extracting preferences: - 1. Look for explicit statements of preference such as "I like/love/enjoy/prefer X" or "I don't like/hate/dislike X" - 2. Pay attention to comparative statements ("I prefer X over Y") - 3. Consider the emotional tone when users mention certain topics - 4. Extract only preferences that are clearly expressed, not assumptions - 5. Categorize the preference appropriately based on its domain (food, music, brands, etc.) - 6. Include relevant qualifiers (e.g., "likes spicy food" rather than just "likes food") - 7. Only extract preferences directly stated by the user, not preferences of others they mention - 8. Provide a concise but specific description that captures the nature of the preference + Represents entities mentioned in contexts expressing user preferences, choices, opinions, or selections. Use LOW THRESHOLD for sensitivity. + + Trigger patterns: "I want/like/prefer/choose X", "I don't want/dislike/avoid/reject Y", "X is better/worse", "rather have X than Y", "no X please", "skip X", "go with X instead", etc. Here, X or Y should be classified as Preference. """ category: str = Field(