Hello! If this is your first time reading my newsletter: thank you for popping by – you’re more than welcome here. If you’re returning, welcome back!
Today’s dispatch is about my foodish wanderings through ChatGPT. It’s a long one (thanks in part to an AI-generated recipe for “Moroccan Spiced Meatballs with Tangy Yogurt Dip”) but if you’d rather have something tasty, that was created and tested using natural intelligence, I’m giving you my recipe for Kefta with Minted Yoghurt Sauce.
If you enjoy this newsletter, please subscribe and share.
ChatGPT’s incredible blandness of eating
It seems as if the ChatGPT squirrels think I live a more fascinating and influential life than I do. They also want me to be a far less interesting eater than I am.
Resistance is futile, as they say, and I finally got on to the OpenAI site for a poke and a prod. The robot revolution is here and our jobs may be made worse for it, dontcha know.
After a few testing-the-waters type questions, and without telling it anything about me, I asked it to write my bio (based on what’s already out there). I’m apparently “known for [my] work in promoting sustainable and ethical food practices” (umm no) am the founder of a food blog called "Cardamom & Cloves" (umm, no), and my work “has had a significant impact on the Canadian food scene, and [I continue] to be an influential voice in the industry” (lol). I corrected it and re-asked the question. In the minutes that passed, I became a popular writer for the Globe and Mail, founded Food Bloggers of Canada, and won an International Association of Culinary Professionals award.
No wonder I’m so tired.
Garbage in, garbage out, garbage shaken all about
Built on a Large Language Model (LLM), ChatGPT’s “deep learning” algorithm was “trained” on a ginormous quantity of unlabelled data, scraped from the pre-2021 Internet.
From what I can tell, that trove is a jumble of fact-checked works (books and properly researched articles by subject matter experts), grey market content (like Wikipedia and blogs), and the free-for-alls (chat logs, tweets, and marketing content, and other words) that probably were less-rigorously reviewed before hitting send. The program is rather cagey about its information sources, yet “I always strive to provide accurate and reliable information, and I base my answers on the overall body of knowledge that I have learned from my training data.”
Yes, this pile of 1s and 0s, plastic, and metal speaks in the first person. I’ll call it Chaz.
Chaz is also doing exactly as it was programmed: to not discern fact from fiction amongst the wodge of data, but treat it all as legitimate and equal, and craft responses that mix that data with what’s made out of whole cloth. Garbage in, garbage out, as we were taught in high school computer class.
So, when we (in the real world) are talking about the problems associated with social media- and algorithm-enabled fake news, disinformation and misinformation, tech programs Chaz to easily spit out a vaguely plausible mélange of fact and fiction with the aplomb of a mediocre, underqualified 30something guy who’s just been handed a Tesla key fob.
Feed me, GPT
But I’m here for the recipe generation. Recipes are highly personal things to the writer and the cook and can mean more than “just a meal” to the cook. As a writer and reader, a recipe’s provenance lies in the bits of history and culture mixed with personal preferences and voice. As a cook, a recipe’s value lies in knowing it’s been made tweaked and adapted so it performs.
There’s plenty out there about Chaz’s ease of use: input as many parameters as you want – cuisine, main ingredient, cooking method, likes, dislikes, dietary requirements – and out pops a unique recipe. If you don’t like it, need to tweak it, or remind it of the coeliac, textural, or vegan parameters you set (it doesn’t seem to reliably retain all of them at once) it can produce a new option. But user beware: as Priya Krishna found out on tasting Chaz’s pumpkin-spiced chaat recipe, be careful what you input.
Knowing its LLM spanned myriad recipes and dozens of languages, I wanted to see what it came up with, with minimal guidance. Here’s where a base diet, heavily weighted to Western tastes and attitudes, shows.
Asking for chicken/beef/pasta recipes produced ho-hum results in American measures and terminology: lemon-garlic chicken, beef stew, creamy mushroom pasta. Adding “flavourful” to the query didn’t venture into Southeast Asian, Latin, African, or Indian territories. Instead, it often generated uninspiring and worn Asian dishes with tamped-down flavour profiles consistent with North American institutional cafeterias: beef bulgogi, chicken chow mein, “spicy” (scare quotes, mine) pork and vegetable stir-fry (I changed the prompt to noodle as Chaz gave me another creamy mushroom pasta dish).
But here’s where LLM is also a problem. Just as Bettina Makalintal found it capable of generating all the diaspora food writing tropes, it followed some influencers’ habits and threw together random ingredients together and claimed it as from a specific non-Western culture. Asking for a sambar recipe (a Kerala/S Indian lentil broth/stew) produced a wholly different dish which was supposedly Zimbabwean (which I couldn’t find in a Google search). When I re-ran the query in a new session a few days later, the “Zimbabwean” food didn’t appear, but rather generated something closer to what I was looking for.
Neither savoured nor enjoyed
I went down a rabbit hole and tested its branding skills for a (fictional) new a restaurant tailored to Waterloo Region’s population. Chaz called it "Grand River Kitchen." Instead of generating a specialised menu concept, it provided a basket of buzzwords: local, farm-to-table, international, comfort food, craft beer, brunch. While the starters offered plenty of local and international dishes, that aspect was quickly forgotten in the mains and desserts that could have been lifted from franchised roadhouses and chain pubs.
I picked the Moroccan Spiced Meatballs with Tangy Yogurt Dipping Sauce starter, requesting Metric measures and a headnote:
Moroccan Spiced Meatballs with Yogurt Dipping Sauce
These Moroccan spiced meatballs are a delicious and easy-to-make appetizer or main dish that’s packed with bold flavors. Ground beef is combined with aromatic spices such as cumin, coriander, paprika, and cinnamon, and baked to perfection in the oven. The tangy yogurt dipping sauce adds a refreshing contrast to the spicy meatballs, and is made with Greek yogurt, lemon juice, fresh mint, cumin, and salt. Serve these meatballs as an appetizer at your next party or as a main course with a side salad or rice. They are sure to be a crowd-pleaser!
Ingredients:
For the meatballs:
500 grams ground beef
75 grams breadcrumbs
1 egg
50 grams finely chopped onion
2 garlic cloves, minced
1 teaspoon ground cumin
1 teaspoon ground coriander
1 teaspoon paprika
½ teaspoon ground cinnamon
½ teaspoon salt
¼ teaspoon ground black pepper
30 ml olive oil
For the dipping sauce:
250 ml plain Greek yogurt
15 ml fresh lemon juice
1 tablespoon chopped fresh mint
¼ teaspoon salt
¼ teaspoon ground cumin
Instructions:
Preheat the oven to 190°C.
In a large mixing bowl, combine the ground beef, breadcrumbs, egg, onion, garlic, cumin, coriander, paprika, cinnamon, salt, and pepper. Mix until well combined.
Form the mixture into 3.5 cm meatballs.
Heat the olive oil in a large skillet over medium-high heat. Add the meatballs to the skillet and cook, turning occasionally, until browned on all sides, about 5 minutes.
Transfer the meatballs to a baking dish and bake in the preheated oven for 10-15 minutes, or until cooked through.
While the meatballs are baking, prepare the dipping sauce by combining the yogurt, lemon juice, mint, salt, and cumin in a small mixing bowl. Mix until well combined.
Serve the meatballs warm with the dipping sauce on the side.
Enjoy your Moroccan Spiced Meatballs with tangy yogurt dipping sauce!
There are some things that jumped out at me as a recipe writer and food writer:
Chaz called them meatballs, not kefta (or kofta).
It uses beef (something I see often in North American online recipes), not lamb, as in the cookbooks in my library. When I asked for a recipe with lamb it subbed out the beef for lamb, without adjusting any of the other seasonings. This is similar to the “one sauce to cover them all” mentality I keep running into online and in restaurants. Many of us from non-Western food cultures know that lamb and beef have different flavour profiles and adjust our spicing and cooking accordingly.
It’s easier divide the mixture into a set number of portions or to scoop out a set amount (by weight or volume) than getting out a ruler to measure the diameter of a sphere.
Readers (and testers) would likely ask:
Is the beef is extra lean, lean, or regular?
Are the breadcrumbs fresh or dry?
But other things were missing:
Cook’s cues to ensure things are as they should be or what to watch for if things are going wrong.
Quick-reference for preparation and cooking times and yield.
It started and ended in a conversational or marketing tone, but the language and voice read as if it was written by a soulless machine, incapable of warmth and humanity. It’s a straight, bland, boring process.
The recipes worked as written but there were issues. The dip needs more spark. The meatballs were hard, rubbery, and joylessly generically Middle Eastern. This dish was something to be ingested: Not savoured. Not enjoyed.
Lost in transformation
Not everyone who searches for a recipe wants something to savour, something that transports them to someplace far away, something that expands their horizons. Some want food that fits within restrictive parameters not easily found online. Some see food as fuel. Non-cooks wanting cheap food content for legacy media pages, websites, or food business blogs. And, of course, the “just give me the recipe” folks.
But recipes are rooted in humanity. They combine stories with instruction, intuition, compassion, and storytelling with sustenance. Through them, food writers challenge the old guard status quo defenders to provide ideas that can expand the reader’s, cook’s, or eater’s understandings and enjoyments of food, culture, and society.
Along the way, a trust relationship can develop, based on the writer’s voice and experience and on the value of knowing that the recipe has been practised and works. Sorry, Chaz. Those are things you can’t offer.
New from me:
My latest restaurant review is up. This time, I’m at a newish Mediterranean spot in Cambridge, Leymoon, that offers flavours that go beyond your usual shawarma shop: Leymoon lets ingredients shine, somewhere between Middle Eastern and Mediterranean
What I’m reading:
Calling Bullshit by Carl T. Bergstrom and Jevin D. West
The Shadow of the Wind by Carlos Ruiz Zafón
Foodish things I’m doing:
It’s been a week where my oven was put into good use marking birthdays and mourning the passing of a lovely person. Apart from that, I keep plugging away at the foodways project.
Kefta with Minted Yoghurt Sauce
Inspired by the kefta (or kofta) from Morocco, these lamb meatballs are flecked with fresh herbs and flavoured with an array of warm spices. You can buy ras el hanout, a complex Moroccan spice blend, at Middle Eastern grocers but leave it out if you can’t find it. Accompanied by the quick yoghurty dip, they can be a delicious finger food, summery lunch with pita and a salad, or hearty supper with couscous or rice and grilled or roasted vegetables.
Preparation time: about 15 minutes
Cooking time: 20-25 minutes
Yield: 18-20 pieces, depending on size
For the kefta
500 g (approximately 1 lb) ground lamb, ideally with 20% fat
120 g onion, either grated or finely minced (approximately 1 small onion)
60 ml (¼ cup) minced parsley
60 ml (¼ cup) minced fresh coriander
3 tablespoons minced fresh mint
2 teaspoons sweet paprika
1 teaspoon salt
1 teaspoon ground cumin
½ teaspoon ground ginger
½ teaspoon ground cinnamon
½ teaspoon ras el hanout (optional)
½ teaspoon black pepper
¼ teaspoon chilli powder (to taste)
For the Minted Yoghurt Sauce
1 teaspoon cumin seeds
250 ml (1 cup) plain yoghurt
1 tablespoon lemon juice
3 tablespoons minced fresh mint
2 garlic cloves, crushed
¼ teaspoon chilli powder (to taste)
¼ teaspoon black pepper
Salt, to taste
Preheat oven to 180C/375F. Line a baking tray with foil a place a cooling rack over top.
Mix lamb, onion, parsley, coriander, mint, paprika, salt, cumin, ginger, cinnamon, ras el hanout (if using), black pepper, and chilli pepper so it’s well combined. Check for flavour by cooking about a teaspoon’s worth in a frypan – balance the rest of the mixture to taste.
When you’re satisfied, wet your hands with water and form sausages (or fat lozenges), made from two tablespoons of mixture. Place on the rack—cooking them this way will allow for air circulation and keep them from sitting in the fat they release. Bake for 20 to 25 minutes, or until the centre is cooked and has lost its pinkish colour.
While the kefta cook, make the Minted Yoghurt Sauce. dry toast cumin seeds, cool and grind to a powder and set aside. Mix yoghurt with lemon juice, before adding mint, garlic, cumin, chilli pepper, and black pepper. Stir well. Balance flavours to taste, adding salt as desired. Decant into a bowl and refrigerate until serving.
Serve kefta warm with the cool sauce. These go well with salad, pitas or flatbreads, rice, or couscous.
Alternative ways to cook the kefta:
1): Form kefta around skewers and grill over high heat for a few minutes per side, until done.
2) Form the kefta. Heat a frying pan on high and add 1-2 tablespoons of olive oil and swirl. Lower heat to medium and a and cook them in batches, being careful to not overcrowd the pan. Cook for about 3 to 4 minutes per side, being careful to not develop too hard or thick a crust. Remove and drain on paper towels.
Enjoy your Kefta with Minted Yoghurt Sauce!
Shadow of the Wind is a great book! Ooh I’d love to try this recipe. I love a good kefta, sadly my kids don’t like lamb.
Thanks for the write-up on ChatGPT and recipes! I was curious about what it would yield and so far it doesn't look all that appetizing. Yay for human connection!