Won

Won ist für diejenigen gedacht, die die Erinnerung lesen.

Der größte Teil dieser API antwortet mit Erinnerung. Won antwortet über sie: wie viel von einem Store neu geschrieben wurde und wie weit man ihm vertrauen kann. Gedacht ist das für die lesende Seite, meist für den Assistenten, den Sie bauen, und nicht für die Person, von der die Erinnerungen handeln.

Wontopos ist Won + Topos, ein Ort, an dem Erinnerung wohnt. Won ist der Teil dieses Ortes, der über die Erinnerung Auskunft gibt, statt sie zurückzugeben. Diese Aufrufe sind kostenlos, nur lesend, und rühren den Abruf nie an: Das Fragen kostet Ihre Nutzer nichts und ändert nichts an dem, was gespeichert ist.

Was es heute umfasst

Heute ein Aufruf.

AufrufWas er tut
POST /won/revisionsWie viel von diesem Store seit dem Schreiben verändert wurde. Zwei Zahlen und zwei Sätze, die sie erläutern.

Ein durchgerechnetes Beispiel

Verwenden Sie das Verhältnis, nicht die absolute Zahl. 3 von 40 und 30 von 40 erfordern eine unterschiedliche Behandlung.

r = mem.revisions()
# {"revised": 3, "total": 40, "counts": "…", "excludes": "…"}

if r["revised"] / r["total"] > 0.1:
    system += "Some of what you remember here has been corrected since."
const r = await mem.revisions();
// { revised: 3, total: 40, counts: "…", excludes: "…" }

if (r.revised / r.total > 0.1) {
  system += "Some of what you remember here has been corrected since.";
}
let r = mem.revisions(None).await?;
let (rev, tot) = (r["revised"].as_f64().unwrap_or(0.0),
                r["total"].as_f64().unwrap_or(1.0));
if rev / tot > 0.1 { /* say so in the system prompt */ }
curl -X POST https://api.wontopos.com/api/v1/won/revisions \
  -H "X-API-Key: $WOS_KEY" -H "Content-Type: application/json" \
  -d '{"user_id":"alice"}'

# → {"user_id":"alice","revised":3,"total":40,
#     "counts":"memories a transform has touched (supersede, update, retract, image removed)",
#     "excludes":"deletions — a deleted memory leaves nothing to count"}

counts und excludes werden als Sätze zurückgegeben, nicht als Flags, da der Aufrufer oft ein Modell ist. Löschungen werden nicht gezählt.

Preis und Limits

RegelWert
PreisKeiner. Kostenlose Aufrufe umgehen die Abrechnungsschranken - keine Token-Berechnung, keine Gebühr pro Anfrage und keine erfasste Nutzung.
Pro Minute10 pro Minute, pro Konto und pro Endpunkt. Die Minute eines Endpunkts zu verbrauchen, verbraucht nicht die eines anderen.
Pro Stunde300 pro Stunde, pro Konto, geteilt von allen kostenlosen Aufrufen. Dieses Limit ignoriert den Pfad, zusätzliche kostenlose Endpunkte erhöhen also nicht die Gesamtmenge, die ein Konto verbrauchen kann.
Gegenüber kostenpflichtigem TrafficIn beide Richtungen getrennt. Diese Aufrufe können Ihre Suchen nicht verlangsamen, und Ihre Suchen können diese nicht aufbrauchen. Schlüssel eines Kontos teilen sich die Buckets, mehr Schlüssel vervielfachen das Kontingent also nicht.

Beide Obergrenzen antworten mit 429 und Retry-After in Sekunden sowie einer Meldung, die nennt, welche davon erreicht wurde.

429 rate_limit_error
Retry-After: 41

{ "error": { "type": "rate_limit_error",
    "message": "This endpoint is free and limited to 10 requests per
                minute, counted per endpoint. Retry in 41s." } }
Derselbe Aufruf antwortet auch unter /api/v1/memory/revisions, für Clients, die vor der Won-Oberfläche veröffentlicht wurden. Es sind derselbe Handler und dasselbe Budget, kein zweites Kontingent. Neuer Code sollte die Won-Adresse verwenden.