Skip to content

Curation sémantique (Catalog)

Décidez quelles traces d'agent relire par similarité, et pas seulement à partir de règles. Un index d'embeddings sur vos éléments alimente la recherche par similarité (« trouver des traces semblables à cet échec ») et les slices dynamiques : des filtres sémantiques et de métadonnées enregistrés qui intègrent automatiquement les nouvelles traces correspondantes et les versent dans des jeux de données.

La curation sémantique vous aide à trouver ce qu'il faut relire par similarité, et pas seulement à partir de règles ou de l'incertitude. Un index d'embeddings sur vos éléments alimente la recherche par similarité (« trouver des traces semblables à cet échec ») et les slices dynamiques : des filtres sémantiques et de métadonnées enregistrés qui intègrent automatiquement les nouvelles traces correspondantes et les versent dans des jeux de données. Elle complète le triage basé sur des règles et l'apprentissage actif fondé sur l'incertitude du modèle.

Activation

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

Les embeddings sont calculés paresseusement : sentence-transformers n'est importé qu'au moment où vous construisez l'index, jamais au démarrage, si bien que le lancement reste rapide. Installez-le avec pip install sentence-transformers, ou branchez votre propre embedder. Une fois la curation activée, le tableau de bord d'administration affiche un lien Catalog.

Construire, chercher, créer des 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}'

Un slice est un filtre enregistré qui est résolu à la demande sur l'index courant : les traces ingérées après son enregistrement y entrent automatiquement si elles correspondent. Il combine un voisinage sémantique facultatif et un filtre de métadonnées :

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"}'

Pages liées