Extract Data From Text with AI
Free text in, named fields out. The extraction prompt pattern that turns any unstructured text into consistent, parseable records.
Pros, cons, feature requests, rating — review text into feedback-board fields, with experienced-vs-wished kept strictly apart.
Review mining fails in one specific way: the model blends what the customer experienced with what they wish existed. This setup keeps them apart structurally — pros and cons hold experiences, feature_requests holds wishes — and the source guidance states the distinction outright. rating extracts the number on its stated scale, would_recommend answers true or false only from the text, and every list field deduplicates near-identical points. Conservative inference lets an obvious implied recommendation through while blocking sentiment invention.
One review per extraction
Per-review records keep traceability — every con links back to the review that said it.
Check the experienced/wished split
"The strap feels flimsy" is a con; "a silent mode would be great" is a feature request. The guidance draws the line; the fields enforce it.
Average ratings only on stated scales
The rating rule keeps the number as given (4 of 5 stays 4) — normalize scales in your own pipeline, knowingly.
By splitting them structurally, not asking the model to judge in prose. The reading guidance separates "what the customer actually experienced from what they wish existed," and the fields enforce it: pros and cons hold experiences, feature_requests holds wishes. So "the strap feels flimsy" is a con and "a silent mode for night use" is a feature_request. The extraction-prompt-generator outputs this prompt; you run it per review.
It doesn't — the rating rule extracts the number on its stated scale, so "4 of 5" stays 4. workflowSteps says to "normalize scales in your own pipeline, knowingly." would_recommend is answered true or false only from what the text states, and missing fields come back as an empty string, never a guessed value. Aggregate across reviews in your own tooling.
Free text in, named fields out. The extraction prompt pattern that turns any unstructured text into consistent, parseable records.
Invoice number, vendor, dates, total, currency — extracted into clean fields with strict no-inference rules, ready for accounts payable.
The most consequential setting in any extraction prompt: what the model does when the field isn't in the text. Four behaviors, and when each is right.
Stop getting 'Sure, here is the JSON…' — the output-contract pattern that forces models to return only parseable JSON: schema, example, and a strict rule block.
Billing, Technical, Account, How-To, Feature Request — ticket triage with definitions that decide the borderline cases for the model.
The JSON won't parse and you can't see why. Deterministic cause-sniffing — trailing commas, single quotes, unclosed brackets — and the repair prompt that fixes it.
Build prompts that extract defined fields from unstructured text — emails, invoices, tickets, résumés.
Turn a pile of reviews, surveys, or support comments into themes and priorities — extract the real signal, classify it by theme and sentiment, then summarize what's worth acting on.