Développeurs

verify

verify permet à une recherche d'effectuer des passes supplémentaires. Chaque passe exclut ce que les passes précédentes ont renvoyé : une deuxième passe atteint donc des souvenirs que la première n'a pas atteints.

Pris en charge à partir de Tablet 2. La demande adressée à un moteur qui ne l'implémente pas est refusée avant l'émission de l'appel : une passe restée sans effet ne vous est donc jamais facturée.

Un entier de 0 à 3 sur search et recall. Il s'agit du nombre de passes supplémentaires : 3 autorise donc quatre récupérations. Valeur par défaut 0.

hits = mem.search("what did I eat", verify=3)
# the SDKs hand back the memories; `verify_used` is on the HTTP response (curl tab)
const hits = await mem.search("what did I eat", undefined, 10, { verify: 3 });
// the SDKs hand back the memories; `verify_used` is on the HTTP response (curl tab)
let hits = mem.search_opts("what did I eat", None, 10,
                            &SearchOpts { verify: Some(3), ..Default::default() }).await?;
// the SDKs hand back the memories; `verify_used` is on the HTTP response (curl tab)
curl -X POST https://api.wontopos.com/api/v1/memory/search \
  -H "X-API-Key: $WOS_KEY" -H "Content-Type: application/json" \
  -d '{"user_id":"alice","query":"what did I eat","verify":3}'
# → {"memories":[…], "verify_used":1}

Aucun modèle de langage ne s'exécute dans cette boucle

Les passes transportent les identifiants déjà renvoyés ; le moteur les exclut et cherche au-delà. La requête n'est pas reformulée : les résultats sont donc déterministes pour une requête donnée et aucune clé d'accès à un modèle n'intervient. C'est votre code qui décide de dépenser une passe de plus.

Ce que vous envoyez et ce qui revient

AppelCe qu'il fait
verify0 à 3. Nombre de passes supplémentaires autorisées. Une valeur hors bornes est rejetée avec un 400 plutôt que ramenée silencieusement dans les bornes.
verify_usedNombre de passes supplémentaires réellement effectuées. Peut être inférieur à ce que vous avez demandé.

Les passes s'arrêtent dès que l'une d'elles ne renvoie rien de nouveau, et les passes inutilisées ne sont pas facturées. Si une passe ultérieure échoue, les résultats déjà rassemblés sont renvoyés.

Des passes supplémentaires peuvent réduire la précision lorsque la première passe contenait déjà la réponse : les questions single-session-user de LongMemEval-S perdent 4,2 points. Le gain croît avec la fréquence à laquelle une récupération unique échoue, il est donc plus important sur les grands stores.