AI attribute extraction prompt for product data
Supplier descriptions hide the attributes you need for filters and feeds inside running text. This prompt pulls them out into one line per attribute, normalizes the units, respects your allowed values and says "unknown" when the source does not state a value, so you can trust what it fills.
The prompt
Extract structured product attributes from the text below.
Product name: {product_name}
Category: {category}
Source text (supplier description, spec sheet or listing):
{source_text}
Attributes to fill, with allowed values where given:
{attribute_list}
Rules:
- Return one line per attribute in the form "attribute_code: value".
- Use only information that is stated in the source text. If an attribute is not stated, return "attribute_code: unknown". Never guess.
- Normalize units to {unit_system} (for example cm and kg) and write numbers without thousands separators.
- When an attribute has allowed values, return exactly one of them, or "unknown" when none fits.
- For multi-value attributes, separate values with a semicolon.
- After the list, add a line "Notes:" with any conflicting values you found in the source text, or "Notes: none".Variables to fill in
{product_name}- Product name, for context.
{category}- The category the product belongs to, so the model reads the text with the right attributes in mind.
{source_text}- Supplier description, spec sheet text or an existing listing.
{attribute_list}- The attribute codes to fill, one per line, with allowed values in brackets where you have them.
{unit_system}- Metric or imperial, plus any house rules, for example "cm, kg, W".
Example output
Product: Holmsted 3-seater sofa
Input: Source: "The Holmsted three-seater combines a solid pine frame with removable, washable covers in woven polyester. W 214 x D 92 x H 81 cm, seat height 45 cm. Cushions filled with high-resilience foam. Delivered in 2 boxes, legs to be attached." Attributes: color [grey; beige; green; blue], frame_material, cover_material, width_cm, depth_cm, height_cm, seat_height_cm, seats, removable_covers [yes; no], assembly_required [yes; no], max_load_kg
color: unknown frame_material: solid pine cover_material: woven polyester width_cm: 214 depth_cm: 92 height_cm: 81 seat_height_cm: 45 seats: 3 removable_covers: yes assembly_required: yes max_load_kg: unknown Notes: none
Example only: written for an invented product to show the format and length. Check every real output against your own product data.
Tips for better results
- List allowed values for every attribute that feeds a filter. Free text in a filter attribute creates near-duplicates such as "Grey" and "gray".
- Keep "unknown" as the default. An empty value is easy to fill later; a guessed value ends up in feeds and returns.
- Run the prompt per category with a category-specific attribute list instead of one long list for everything.
- Review the Notes line: conflicting values usually point to an error in the supplier data.
Frequently asked questions
What is AI attribute extraction?
It means using a language model to read unstructured product text and return structured attribute values, such as material, dimensions or compatibility, in a fixed format you can import.
How accurate is it?
That depends mostly on the source text and the rules. Values that are stated plainly are extracted well; the prompt forces "unknown" for anything not stated, so you review gaps instead of hidden guesses. Always spot-check a sample before importing.
Can I fill attributes for a whole catalog this way?
Yes. WISEPIM has an attributes mode in the Prompt Lab: you test the prompt on a product, save it and run it on a selection, and the extracted values land in your product attributes.