Skip to content

Ask Data Product

Module · Stable

Ask one data product a question in plain words. It answers with rows, never prose: each row carries its row_id, trust level and owner, plus the filter the question was turned into.

Natural-language retrieval inside ONE data product. The product’s manifest (purpose, example questions, what each column means) turns the question into a filter in the Look Up Data Product grammar, which is run as a lookup. When that filter finds nothing, its values are looked for in every text column; when it finds too many rows, they are ranked by how well they match the question; when no filter can be made, the question’s words are matched against the text columns. Returns exactly what a lookup returns — rows with row_id, trust (high / low / expired), owner, confirmed_at / valid_until and values, and an explicit nothing_found — plus filter and strategy, so you can see how the rows were found. Each call is logged with the question as receipt.

Use when you know which data product holds the answer (see List Data Products) but not exactly what to filter on — pass the customer’s question as it was asked. Cite the row_id of every row your reply relies on, treat trust low or expired rows as unconfirmed, and when nothing_found is true say the product has no answer instead of guessing one.

When you already know the column and value (a SKU, a country, a code), use Look Up Data Product — it is exact and costs no model call. When you do not yet know which product answers the question, call List Data Products first.

Configured per use: dp, question, columns, limit.

  • rows
  • count
  • found
  • nothing_found
  • owner
  • trust_scheme
  • name
  • dp
  • question
  • filter
  • strategy
  • text_terms
  • truncated
  • receipt

Auto-generated from the skill registry (load_skills()). Do not edit by hand.