Configure the agent
Set these in the buyer agent’s.env:
classify_content and check_brand_safety need a retriever over IAB categories. If you do not pass retriever_id, the agent uses a retriever in the namespace whose name contains both iab and text.
Build the IAB namespace
The classifier is semantic search over the taxonomy: each IAB Content Taxonomy 3.1 category becomes a document whose text is its name and path, embedded with the text extractor. Each document must keepiab_category_name, iab_tier and iab_path, which are the fields the buyer agent reads from the results.
- Create a namespace with the
text_extractor. - Set a spend budget on it. A new namespace starts at $0.00 per day, and the embedding batch fails on that budget.
- Create a bucket and upload one object per category, with the text in a
category_textblob andiab_category_id,iab_category_name,iab_tierandiab_pathas fields. Leaveunique_keyoff the bucket if you load it with the batch endpoint, which refuses buckets that declare one. - Create a collection with
text_extractor,input_mappings: {"text": "category_text"}andfield_passthroughfor the fouriab_fields, then trigger it. - Create a retriever named
iab_text_searchwith onefeature_searchstage onmixpeek://text_extractor@v1/multilingual_e5_large_instruct_v1, querying{{INPUT.query}}.
Behavior to know
- The number of results comes from the retriever’s
final_top_k. The tools’limitargument does not reduce it. check_brand_safetymatches categories by exact name. At buyer-agent commit47ac319, seven of its fourteen names are not Content Taxonomy 3.1 names, so content in those areas is classified but not flagged. Compare the returnedcategoriesagainst your own list of 3.1 names if you rely on the flag.risk_levelishighonly when a flagged score is 0.85 or above.

