by solaire_oa | 2025-06-20 00:52:35+00:00
Ok. Tried it, I'm not super impressed.

Client: Ollama (phi4) - 90164ms. StopReason: stop. Tokens(in/out): 365/396 ---PROMPT--- user: Extract from this content: Grave Digger: Ingredients - 1 1/2 ounces vanilla-infused brandy* - 3/4 ounce coffee liqueur - 1/2 ounce Grand Marnier - 1 ounce espresso, freshly brewed - Garnish: whipped cream - Garnish: oreo cookies, crushed Steps 1. Add all ingredients into a shaker with ice and shake until well-chilled. 2. Strain into a coupe. 3. Top with whipped cream and crushed Oreo cookies (discarding cream in center). *Vanilla-infused brandy: Cut 2 fresh vanilla pods lengthwise and place into a 750 mL bottle of brandy. Let sit for 3 to 5 days, shaking occasionally. Strain out pods and store. IngredientType ---- - Alcohol - Sweetener - Sour - Aromatic - Bittering_agent - Food - Dilution LiquorType ---- - Gin - Vodka - Rum - Whiskey - Tequila - Mezcal - Brandy - Cognac - Liqueur - Wine - Absinthe Answer in JSON using this schema: { Name: string, Ingredients: [ { Text: string, Type: IngredientType, Liquor_type: LiquorType or null, Name_brand: string or null, Unit_of_measure: string, Measurement_or_unit_count: string, } ], Steps: [ { Number: int, Instruction: string, } ], Garnishes: string[], } ---LLM REPLY--- ```json { "Name": "Grave Digger", "Ingredients": [ { "Text": "vanilla-infused brandy*", "Type": "Alcohol", "Liquor_type": "Brandy", "Name_brand": null, "Unit_of_measure": "ounces", "Measurement_or_unit_count": "1 1/2" }, { "Text": "coffee liqueur", "Type": "Liqueur", "Liquor_type": "Liqueur", "Name_brand": null, "Unit_of_measure": "ounce", "Measurement_or_unit_count": "3/4" }, { "Text": "Grand Marnier", "Type": "Liqueur", "Liquor_type": "Liqueur", "Name_brand": "Grand Marnier", "Unit_of_measure": "ounce", "Measurement_or_unit_count": "1/2" }, { "Text": "espresso, freshly brewed", "Type": "Bittering_agent", "Liquor_type": null, "Name_brand": null, "Unit_of_measure": "ounces", "Measurement_or_unit_count": "1" } ], "Steps": [ { "Number": 1, "Instruction": "Add all ingredients into a shaker with ice and shake until well-chilled." }, { "Number": 2, "Instruction": "Strain into a coupe." }, { "Number": 3, "Instruction": "Top with whipped cream and crushed Oreo cookies (discarding cream in center)." } ], "Garnishes": [ "whipped cream", "oreo cookies, crushed" ] } ``` ---Parsed Response (class Recipe)--- { "Name": "Grave Digger", "Ingredients": [ { "Text": "vanilla-infused brandy*", "Type": "Alcohol", "Liquor_type": "Brandy", "Name_brand": null, "Unit_of_measure": "ounces", "Measurement_or_unit_count": "1 1/2" }, { "Text": "espresso, freshly brewed", "Type": "Bittering_agent", "Liquor_type": null, "Name_brand": null, "Unit_of_measure": "ounces", "Measurement_or_unit_count": "1" } ], "Steps": [ { "Number": 1, "Instruction": "Add all ingredients into a shaker with ice and shake until well-chilled." }, { "Number": 2, "Instruction": "Strain into a coupe." }, { "Number": 3, "Instruction": "Top with whipped cream and crushed Oreo cookies (discarding cream in center)." } ], "Garnishes": [ "whipped cream", "oreo cookies, crushed" ] }

Processed Recipe: { Name: 'Grave Digger', Ingredients: [ { Text: 'vanilla-infused brandy*', Type: 'Alcohol', Liquor_type: 'Brandy', Name_brand: null, Unit_of_measure: 'ounces', Measurement_or_unit_count: '1 1/2' }, { Text: 'espresso, freshly brewed', Type: 'Bittering_agent', Liquor_type: null, Name_brand: null, Unit_of_measure: 'ounces', Measurement_or_unit_count: '1' } ], Steps: [ { Number: 1, Instruction: 'Add all ingredients into a shaker with ice and shake until well-chilled.' }, { Number: 2, Instruction: 'Strain into a coupe.' }, { Number: 3, Instruction: 'Top with whipped cream and crushed Oreo cookies (discarding cream in center).' } ], Garnishes: [ 'whipped cream', 'oreo cookies, crushed' ] }

So, yeah, the main issue being that it dropped some ingredients that were present in the original LLM reply. Separately, the original LLM Reply misclassified the `Type` field in `coffee liqueur`, which should have been `Alcohol`.