Skip to content

Curadoria semântica (Catalog)

Descubra por similaridade, e não apenas por regras, quais rastros de agente revisar. Um índice de embeddings sobre seus itens alimenta a busca por similaridade (“encontre rastros parecidos com esta falha”) e as slices dinâmicas, que são filtros semânticos e de metadados salvos que incluem automaticamente os novos rastros correspondentes e os curam em conjuntos de dados.

A curadoria semântica ajuda você a descobrir o que revisar por similaridade, não apenas por regras ou incerteza. Um índice de embeddings sobre seus itens alimenta a busca por similaridade (“encontre rastros parecidos com esta falha”) e as slices dinâmicas: filtros semânticos e de metadados salvos que incluem automaticamente os novos rastros correspondentes e os curam em conjuntos de dados. Ela complementa a triagem baseada em regras e o aprendizado ativo baseado na incerteza do modelo.

Habilitando

yaml
curation:
  enabled: true
  model_name: all-MiniLM-L6-v2   # any sentence-transformers model
  embed_on_ingest: false          # index runtime-ingested traces on arrival
  text_key: task_description      # which field to embed

Os embeddings são calculados sob demanda: sentence-transformers é importado apenas quando você constrói o índice, nunca na inicialização, então subir o servidor continua rápido. Instale-o com pip install sentence-transformers ou conecte um embedder personalizado. Quando a curadoria está habilitada, o painel de administração exibe um link Catalog.

Construir, buscar, criar slices

bash
# Build the index over current items
curl -X POST localhost:8000/admin/catalog/api/build -H "X-API-Key: <key>"
 
# Search by text query (or by an anchor instance to find neighbours)
curl -X POST localhost:8000/admin/catalog/api/search -H "X-API-Key: <key>" \
  -H "Content-Type: application/json" -d '{"query": "tool call failed", "top_k": 10, "threshold": 0.3}'

Uma slice é um filtro salvo que é resolvido sob demanda contra o índice atual, de modo que os rastros ingeridos depois de você salvá-la são incluídos automaticamente se corresponderem. Ela combina uma vizinhança semântica opcional com um filtro de metadados:

bash
curl -X POST localhost:8000/admin/catalog/api/slices -H "X-API-Key: <key>" \
  -H "Content-Type: application/json" \
  -d '{"name": "tool-errors", "query": "tool call failed", "threshold": 0.3,
       "metadata_filter": [{"field": "metadata.outcome", "equals": "error"}]}'
 
# Curate the resolved instances straight into a dataset
curl -X POST localhost:8000/admin/catalog/api/slices/tool-errors/to_dataset \
  -H "X-API-Key: <key>" -H "Content-Type: application/json" \
  -d '{"dataset": "tool-errors-to-fix"}'

Relacionados