2026-08-02T01:06:34.722Z

长链代币计数:审计估计和使用覆盖

使用LangChain模型调用前的近似,之后的供应商使用,以及预期调用表,以捕获缺失的代币证据.

答案是,不要选择一个长链代币计数器. 运行 count tokens approximately() 在模型调用之前,当你需要快速的文本压力估计时. 在需要观察输入,输出,缓存或推理使用时,在调用后阅读提供商报告的 AIMessage.usage metadata . 然后将使用记录与预期的模型调用表进行比较. 没有最后一次保险检查, 整洁的总数可能是低的, 这种区别在代理人身上很重要. 信息历史估计可以帮助决定是否切割文本. 它不能证明提供商处理了什么,它收费了什么,是否重新尝试发射使用,或者是否被嵌入式模型调用逃脱了回调. 因此,运营问题是: 哪个计数铁路支持这一决定,我们怎么知道每次预期的电话都到达了? 将近似和供应商使用视为独立的证据 现在的Python引用描述了 count tokens approximately() 作为一个简单的近似. 在默认情况下,它将字符分为4个,每条消息增加3个代币, 函数计算信息内容和角色. 它还为 AI 工具调用,工具消息调用ID,可选名称,固定图像权限以及通过 tools 现在,我们要做什么? 文件明确表示,对于准确的计算,需要特定模型的代币. 这使得在调用之前的函数有用: 详细的 tools=bound tools 不是化品. 实现将每一个提供的方案串行,并将其字符添加到近似中. 如果模型与工具绑定,但计数器只接收 messages ,估计可能会省略大量重复输入表面. 相反,传递工具并不使得结果提供者准确. 它仍然是基于通用比例和固定补贴的估计. 在调用后,使用返回的 AIMessage 上的元数据: 长链标准化 UsageMetadata 周围 input tokens , output tokens 并且 total tokens ,可选择输入和输出细节地图. 它的例子包括缓存创建,缓存阅读,音频和推理. 可选是重要的词. 缺失的 cache read 字段是不可用的证据,而不是证明值为零的证据. 保存这种区别在存储中,而不是用 0 填写缺失细节. 对于多次调用, UsageMetadataCallbackHandler 将 AIMessage.usage metadata 集成到各个模型中: 总结是方便的,但总结答案是处理器看到的,而不是工作流应该叫什么. 给每个模型尝试一个稳定的 call id ,一个 attempt id ,解决供应商/模型名称,以及一个时间. 一次重试是第二次尝试,而不是对第一个计数器进行纠正. 围绕模型呼叫表建立一个覆盖性测试 开始从预期的工作,而不是从任何使用行出现. 在四阶段运行中,表可能需要 plan:1 , retrieve:1 , draft:2 和 verify:1 . 后音是尝试号码. 然后验证者将预期的尝试加入三个证据形式: 飞行前的近似信息,包括信息和所需工具方案; 从返回消息或回调中提供商报告的使用; 任务级收据显示,阶段产生了预期效果. 结合产生比一个总数更有用的状态: 国家 存在的东西 安全的解释 provider reported 提供商使用,与呼叫身份 对此尝试的观察使用 approximate only 飞行前估计,没有提供商使用 文本估计; 账单使用不可 missing call 显而易见的行,没有观察 仪器间隙或阶段从未运行过 detail unavailable 提供商总数,缺失预期缓存/推理细节 总量可能可使用;组件分析被阻止 duplicate attempt 一次尝试ID的两个使用行 总结风险;在总结之前确定身份 附带的装置是可行的,但仍然是不完整的. 它包含4次预期的电话. 两者有提供商使用,一个只有近似,一个没有观察. 这两个供应商行共计1,451个代币. 这一数字算法上是正确的,操作上是不完整的. 执行审计: 结果是: 两种有两种形式的证据的呼叫也表明,为什么估计应该保留标签. 在一次调用中,近似率低于供应商总数的5.0%,而在另一个调用中低于16.5%. 这种固定式不声称这些百分比是通用的;这些值是固定的测试数据. 它证明审计将估计远离观察到的供应商总数,并且可以揭示不同意见,而不会将任何一个例子视为普遍校准因素. 一个微妙的现行实施细节值得注意. 兰格链的可选 use usage metadata scaling=True 采用了最新的AI消息,需要一个一致的提供商,并将近距离上升. 源关闭 1.0 和 1.25 之间的该因子;它不会下调估计. 这可能是一个有用的保守的历史估计. 它并不是对账单,混合供应商或缺话调整算法. 决定每个计数器可以开什么车 每个存储的号码都需要一个决策界限. 使用近似方法来: 在历史接近软文本限制之前警告; 在发送之前,比较两个提示或工具方案的变体; 决定是否要总结,检索或放弃可替换的文本; 估计包含另一个信息或工具方案的相对效果. 使用供应商报告的使用: 对完成模型尝试的观察输入和输出属性; 当提供商返回时,分别缓存,音频或推理组件; 试图调整供应商/模型总数; 仅使用已有日期的价格源计算成本,并明确处理不可用细节. 单独使用任何计数来证明: 每次预期的模特调用均使用仪器; 工具调用到达目的地; 预期可交付的存在; 一次重试是安全或有用的; 低代币运行实现了所需的结果. 这些索赔需要通话覆盖和结果证据. 紧密实施可以执行四项促进规则: 1. 每个预期的 attempt id 都有一个观察. 2. 每个观察到的呼叫都标记为 approximate 或 provider reported ;标签从来没有默默合并. 3. 工具携带的飞行前估计证明,方案集被传递到柜台. 4. 缺失提供商或缓存详细信息将保持 null /不可用,并且只会阻止需要的决策. 值不一定是百分之百的. 不生产预览可能只允许近似的覆盖. 一个预算警报或客户收费不应该. 在消费者旁边编码政策: context warning 可能接受估计,而 cost reconciliation 需要完整的供应商使用和独特的尝试ID. 在优化之前检查边界 合理的违规性很简单:在运行边界之前估计,后期观察审计覆盖率. 在所有三项工作之后才会优化. 如果文本估计高,在切割之前检查其输入. 有没有全部工具包? 下一项决定还需要工具结果吗? 一个长短的信息是持久的决定收据还是可取代的叙事? 删除错误的文本可以使运行变得更便宜,更不可靠. 如果供应商的使用率意外低, 确认流块被组合到最后的消息中,回调被传播到儿童运行器中,重试获得了不同的尝试ID,预期的验证器阶段实际上运行. 缺少跨度的成本图不是优化结果. 如果缓存存储有意义,请要求提供商特定的详细地图,并记录其可用性. 长链给你一个共同的包裹, 不要从缺失钥匙中推断缓存错误. 同样提供商,模型,提示/工具表面,缓存状态和结果要求. 最后,将标志性证据添加到任务收据中. 对于文档审查代理,收据可能包含源改,需要检查的部分,失败的断言和输出哈希. 如果最终的文物不存在,每次成功调用的代币仍然是一个弱的指标. 这种双轨设计是故意比一般可观测堆更窄的. 它回答了一个具体的决定:长链代币号码是否是一个文本估计,一个观察到的供应商测量,或者一个不完整的视图,不能导致成本或优化要求. Sidewisp 目前处于私密预览阶段。 预计使用代币和估计成本的分析是规划的,而不是运送的. 产品方向是将成本信号与有用的进展和验证的结果联系起来,同时保持证据和不确定性可见. 如果你的运营界限与你管理代理的方式相匹配,你可以加入私人预览. 来源 语言链字符串 python 参考: count tokens approximately 对于近似计数器的LangChain源快照 长链消息指南: AIMessage 上的代币使用 长链参考: UsageMetadata 长链参考: UsageMetadataCallbackHandler