2026-08-01T06:53:54.598Z

LangChain Token Counter: Audit Schätzung und Nutzung Abdeckung

Verwenden Sie die Annäherung vor einem LangChain-Modellanruf, die Nutzung des Anbieters danach und ein erwartetes Anrufmanifest, um fehlende Token-Beweise zu erfassen.

Die nützliche Antwort ist nicht Pick one LangChain Token counter. Verwenden Sie zwei verschiedene Zähler für zwei verschiedene Entscheidungen. Führen Sie count tokens approximately() vor einem Modellruf aus, wenn Sie eine schnelle Kontextdruckschätzung benötigen. Lesen Sie den vom Anbieter gemeldeten AIMessage.usage metadata nach dem Anruf, wenn Sie beobachtete Eingabe , Ausgabe , Cache oder Argumentationsnutzung benötigen. Vergleichen Sie dann die Nutzungsunterlagen mit einem erwarteten Modell Anruf Manifest. Ohne diesen letzten Versicherungscheck kann eine ordentliche Summe nur niedrig sein, weil ein Anruf nie gezählt wurde. Diese Unterscheidung zählt bei einem Agenten. Eine Messaging Geschichte Schätzung kann dazu beitragen, zu entscheiden, ob man den Kontext abschneiden soll. Es kann nicht nachweisen, was der Anbieter verarbeitet hat, was er gezahlt hat, ob ein erneuter Versuch die Nutzung ausgestrahlt hat oder ob ein verschlossener Modellruf dem Rückruf entkommen ist. Die operative Frage lautet daher: Welche Zählerbahn unterstützt diese Entscheidung, und wie wissen wir, dass jeder erwartete Anruf an sie gelangt ist? Die Annäherung und die Nutzung des Anbieters als getrennte Beweise betrachten LangChain's aktuelle Python Referenz beschreibt count tokens approximately() als einfache Annäherung. Bei Standardverhältnissen teilt es Zeichen durch vier, fügt drei Token pro Nachricht hinzu und rundet konservativ. Die Funktion zählt den Inhalt und die Rollen der Nachricht. Es enthält auch AI Tool Calls, Tool Message Call IDs, optionale Namen, eine feste Bildberechtigung und Werkzeugschemas, die über das tools Argument geliefert werden. Die Dokumentation besagt ausdrücklich, dass für genaue Berechnungen model spezifische Tokenisierer erforderlich sind. Das macht die Funktion vor der Anrufung nützlich: Das tools=bound tools Detail ist nicht kosmetisch. Die Implementierung serialisiert jedes bereitgestellte Schema und fügt seine Zeichen zur Annäherung hinzu. Wenn ein Modell an Werkzeuge gebunden ist, aber der Zähler nur messages erhält, kann die Schätzung eine große wiederholte Eingabeoberfläche auslassen. Umgekehrt macht das Übergeben von Werkzeugen das Ergebnis nicht exakt. Es bleibt eine Schätzung auf der Grundlage eines generischen Verhältnisses und festgesetzter Zertifikate. Verwenden Sie nach Anrufung die Metadaten auf dem zurückgegebenen AIMessage : LangChain standardisiert UsageMetadata um input tokens , output tokens und total tokens , mit optionalen Eingabe und Ausgangsdetailkarten. Sein eigenes Beispiel umfasst Cache Erstellung, Cache Lesungen, Audio und Denken. Optional ist das wichtige Wort. Ein fehlendes cache read Feld ist nicht verfügbar, kein Beweis dafür, dass der Wert Null war. Diese Unterscheidung in Lagerung aufbewahren, anstatt fehlende Details mit 0 zu füllen. Für mehrere Anrufe aggregiert UsageMetadataCallbackHandler AIMessage.usage metadata über Modelle hinweg: Aggregation ist bequem, aber eine Aggregate antwortet was der Handler gesehen hat, nicht was der Workflow hätte nennen sollen. Behalten Sie auch Aufzeichnungen pro Versuch. Geben Sie jedem Modellversuch einen stabilen call id , einen attempt id , den ausgewählten Anbieter/Modellnamen und einen Zeitstempel. Ein erneuter Versuch ist ein zweiter Versuch, nicht eine Korrektur des ersten Zählers. Erstellen Sie einen Abdeckungstest um das Modell Anruf Manifest herum Beginnen Sie mit der erwarteten Arbeit, nicht mit den verwendeten Zeilen, die zufällig existieren. Für einen vierstufigen Lauf erfordert das Manifest möglicherweise plan:1 , retrieve:1 , draft:2 und verify:1 . Das Suffix ist die Versuchsnummer. Der Prüfer verbindet dann die erwarteten Versuche mit drei Beweisformen: eine Vorflugnahmerücksichtigung, einschließlich Nachrichten und erforderlichen Werkzeugschemas; die vom Anbieter gemeldete Nutzung der zurückgegebenen Nachricht oder Rückruf; Die Aufnahme auf der Aufgabenstufe, die besagt, dass die Stufe den erwarteten Effekt erzeugt hat. Die Verbindung erzeugt mehr nützliche Zustände als eine Gesamtzahl: Staat Was existiert? Sicherheit der Auslegung provider reported Nutzung des Anbieters mit der Anrufidentität Beobachtete Nutzung für diesen Versuch approximate only Vorflugschätzungen, keine Nutzung durch den Anbieter Kontextschätzung; Gebrauch der Abrechnung nicht verfügbar missing call offensichtliche Zeile, keine Beobachtung Ausrüstungslücken oder stadium nie ausgeführt detail unavailable Gesamtbetrag des Anbieters, fehlende erwartete Speicher /Bewertungsdetails Gesamtwert kann verwendet werden; Komponentenanalyse ist blockiert duplicate attempt zwei Nutzungszeilen für eine Versuchs ID Aggregationsrisiko; Festlegung der Identität vor der Summierung Das begleitende Gerät sieht bewusst plausibel aus, während es unvollständig bleibt. Es enthält vier erwartete Anrufe. Zwei haben eine Anbieternutzung, eine nur eine Annäherung und eine keine Beobachtung. Die beiden Anbieterreihen summieren sich auf 1.451 Token. Diese Zahl ist arithmetisch korrekt und operationell unvollständig. Durchführung der Prüfung: Das Ergebnis ist: Die beiden Aufrufe, die beide Beweisformen enthalten, zeigen auch, warum eine Schätzung ihr Etikett behalten sollte. Die Annäherung lag bei einem Anruf um 5,0% unter dem Gesamtbetrag der Anbieter und bei einem anderen um 16,5%. Diese Festlegung behauptet nicht, dass diese Prozentsätze verallgemeinert werden; die Werte sind festgelegte Prüfdaten. Es beweist, dass die Prüfung Schätzungen von der beobachteten Gesamtzahl der Anbieter abhebt und Meinungsverschiedenheiten aufdecken kann, ohne eines der Beispiele als universellen Kalibrierungsfaktor zu betrachten. Ein kleines Detail der aktuellen Umsetzung verdient Vorsicht. LangChain's optional use usage metadata scaling=True nimmt die jüngste AI Nachricht mit Nutzung, benötigt einen konsistenten Anbieter und skaliert die Annäherung nach oben. Die Quelle klemmt diesen Faktor zwischen 1.0 und 1.25 ; sie skaliert keine Schätzung nach unten. Dies kann eine nützliche konservative historische Schätzung sein. Es handelt sich nicht um einen Abstimmungsalgorithmus für Rechnungen, gemischte Anbieter oder fehlende Anrufe. Entscheiden Sie, mit welchem Fahrzeug jeder Zähler fahren darf Fügen Sie jede gespeicherte Nummer mit einer Entscheidungsgrenze zusammen. Verwenden Sie eine Annäherung zu: Warnen, bevor sich eine Geschichte einer weichen Kontextgrenze nähert; Vergleichen Sie vor dem Versenden zwei Varianten von Prompts oder Werkzeugschema; entscheidet, ob er den ersetzbaren Kontext zusammenfassen, abrufen oder fallen lassen soll; Schätzung der relativen Wirkung der Einbeziehung eines anderen Nachrichten oder Werkzeugschemas. Verwenden Sie die vom Anbieter gemeldete Nutzung: Attribut beobachtete Eingabe und Ausgabe zu einem abgeschlossenen Modellversuch; separate Cache , Audio oder Argumentationskomponenten, wenn sie vom Anbieter zurückgegeben werden; die Gesamtzahl der Anbieter/Modelle zwischen den Versuchen zu vereinbaren; Berechnen Sie die Kosten nur mit einer datierten Preisquelle und einer ausdrücklichen Bearbeitung für nicht verfügbare Details. Verwenden Sie keinen Zähler allein, um zu beweisen: dass jeder erwartete Modellaufruf mit Instrumenten ausgehandelt wurde; dass ein Tool Aufruf sein Ziel erreicht hat; dass das erwartete Lieferwert vorhanden ist; dass ein erneuter Versuch sicher oder nützlich war; dass ein Low Token Run das gewünschte Ergebnis erzielt hat. Diese Ansprüche erfordern Anrufsdeckung und Ergebnisnachweise. Eine kompakte Umsetzung kann vier Förderregeln durchsetzen: 1. Jeder erwartete attempt id hat genau eine Beobachtung. 2. Jeder beobachtete Anruf wird mit approximate oder provider reported gekennzeichnet; die Etiketten werden nie schweigend verschmolzen. 3. Die Schätzung vor dem Flug mit Werkzeug belegt, dass die Schema an den Zähler weitergegeben wurde. 4. Fehlende Anbieter oder Cache Details bleiben null /unverfügbar und blockieren nur die Entscheidungen, die dies erfordern. Die Schwelle muss nicht universell 100% sein. Eine Vorsicht außerhalb der Produktion könnte nur ungefähre Berichterstattung ermöglichen. Eine Budgetwarnung oder ein Rückladen von Kosten für Kunden sollten nicht erfolgen. Die Richtlinie wird neben dem Verbraucher verschlüsselt: context warning kann Schätzungen akzeptieren, während cost reconciliation eine vollständige Nutzung des Anbieters und einzigartige Versuchs IDs erfordert. Überprüfen Sie die Grenze vor der Optimierung Die angemessene Verzögerung ist einfach: Schätzung vor, Beobachtung nach, Audit Abdeckung an der Laufgrenze. Optimieren Sie erst nach allen drei Arbeiten. Wenn eine Kontextschätzung hoch ist, prüfen Sie ihre Eingabe vor dem Trimmen. War das ganze Werkzeug eingeschlossen? Sind die Ergebnisse der Werkzeuge für die nächste Entscheidung noch notwendig? Ist eine lange Nachricht eine dauerhafte Entscheidung oder eine ersetzbare Erzählung? Wenn man den falschen Kontext beseitigt, kann es billiger und unzuverlässiger werden. Wenn die Nutzung von Anbietern unerwartet niedrig ist, überprüfen Sie, ob es keine fehlenden Anrufe gibt, bevor Sie feiern. Bestätigungsstreaming Blöcke wurden in die endgültige Nachricht kombiniert, Rückrufspläne wurden in Kind Runnables verbreitet, Wiederversuche erhielten verschiedene Versuchs IDs und die erwartete Verifier Phase lief tatsächlich. Eine Kostengrafik mit fehlenden Spannungen ist kein Optimierungsresultat. Wenn die Speicherung im Cache wichtig ist, benötigen Sie die für den Anbieter spezifische Detailkarte und erfassen Sie deren Verfügbarkeit. LangChain bietet Ihnen einen gemeinsamen Umschlag, aber Anbieter besetzen nicht unbedingt alle Komponenten. Fangen Sie nicht aus einem fehlenden Schlüssel einen Cache Fehler ab. Vergleichen Sie Like mit Like: derselbe Anbieter, das Modell, die Anforderungs /Tool Oberfläche, den Cache Zustand und die Ergebnisanforderung. Schließlich fügen Sie ein Zeichenbeweis an eine Aufgabenbestätigung hinzu. Für einen Dokumentenüberprüfungsagentur kann die Quittung die Quellrevision, überprüfte erforderliche Abschnitte, fehlgeschlagene Behauptungen und Ausgabe Hash enthalten. Token pro erfolgreichen Anruf sind immer noch ein schwacher Nenner, wenn das endgültige Artefakt fehlt. Dieses Zwei Bahn Design ist absichtlich enger als ein generischer Beobachtungsstack. Sie beantwortet eine konkrete Entscheidung: ob eine LangChain Token Nummer eine Kontextschätzung, eine beobachtete Providermessung oder eine unvollständige Ansicht ist, die keine Kosten oder Optimierungsansprüche vorbringen darf. Sidewisp befindet sich derzeit in einer privaten Vorschauphase. Die Analyse der Token Nutzung und der geschätzten Kosten wird geplant, nicht versandt. Die Produktrichtung besteht darin, Kostensignale mit nützlichen Fortschritten und überprüften Ergebnissen zu verbinden, während Beweise und Unsicherheit sichtbar bleiben. Wenn diese Grenze mit der Art übereinstimmt, wie Sie Agenten führen, können Sie Teil der privaten Vorschau. Quellen LangChain Python Referenz: count tokens approximately LangChain Quell Snapshot für den ungefähren Zähler LangChain Nachrichtenführer: Token Nutzung auf AIMessage LangChain Referenz: UsageMetadata LangChain Referenz: UsageMetadataCallbackHandler