当前位置: 首页 > news >正文

使用Tokeniser估算GPT和LLM服务的查询成本

将LLM集成到项目所花费的成本主要是我们通过API获取LLM返回结果的成本,而这些成本通常是根据处理的令牌数量计算的。我们如何预估我们的令牌数量呢?Tokeniser包可以有效地计算文本输入中的令牌来估算这些成本。本文将介绍如何使用Tokeniser有效地预测和管理费用。

大语言模型(如GPT)中的"tokens"是指模型用来处理和理解文本的基本单位。令牌是语言模型处理文本时的基本单位,可以是单词、子词(subwords)、字符或者其他更小的文本单元。所以我们在计算令牌时不能简单的将单词按照空格分隔,而将一段文本分解成令牌的过程称为"tokenization",这是预处理文本的重要步骤。

大语言模型中一般都会使用子词作为令牌,这对于处理词汇表中未见过的单词很有帮助。例如,“unhappiness"可能被分解成"un”, “happi”, "ness"这三个子词。

Tokeniser是一个轻量级、高效的Python包,使用正则表达式进行计数,这样可以在不加载复杂的NLP模型时进行快速的估计:

 importtokenisertext="Hello, World!"token_count=tokeniser.estimate_tokens(text)print(f"Number of tokens: {token_count}")

这个包对于估计输入提示和来自LLM模型的预期响应中的令牌数量特别有用。假设输入提示包含60个令牌,期望的响应长度为150个令牌,那么每个请求的令牌总数为210

有了总令牌计数,就可以根据GPT或其他LLM服务的定价来估计成本。例如,如果服务每1000个令牌收费0.02美元:

每次请求费用: 210/1000∗0.02=0.0042

我们可以将上面的工作封装成一个函数进行总成本预测:

 importtokeniserdefestimate_cost_with_tokeniser(prompt, max_response_length, cost_per_thousand_tokens):input_tokens=tokeniser.estimate_tokens(prompt)total_tokens=input_tokens+max_response_lengthcost_per_request= (total_tokens/1000) *cost_per_thousand_tokensreturncost_per_request# Example usageprompt="Write a concise guide on estimating GPT and LLM query costs."max_response_length=150# Desired response length in tokenscost_per_thousand_tokens=0.02# Cost per 1,000 tokensestimated_cost=estimate_cost_with_tokeniser(prompt, max_response_length, cost_per_thousand_tokens)print(f"Estimated cost per request: ${estimated_cost:.4f}")

把它放到我们的工具类中,这样就可以在任何需要的时候直接调用了

总结

Tokeniser包为开发人员提供了一种实用而有效的方法来估计GPT和LLM查询令牌数,这对于管理和预测使用成本至关重要。通过将简单的令牌计数合并到成本估算过程中,可以确保项目更有效的预算管理。

https://avoid.overfit.cn/post/064552e1902b468d834e7d65399dcd04

作者:Eugene Evstafev

相关文章:

使用Tokeniser估算GPT和LLM服务的查询成本

将LLM集成到项目所花费的成本主要是我们通过API获取LLM返回结果的成本,而这些成本通常是根据处理的令牌数量计算的。我们如何预估我们的令牌数量呢?Tokeniser包可以有效地计算文本输入中的令牌来估算这些成本。本文将介绍如何使用Tokeniser有效地预测和管…...

2-Docker-应用-多容器部署Django+Vue项目(nginx+uwsgi+mysql)

摘要: 本文详细介绍了如何使用Docker部署一个多容器DjangoVue项目,包括nginx、uwsgi和mysql。文章内容涵盖了基础知识回顾、需求分析、设计方案、实现步骤、技巧与实践、性能优化与测试、常见问题与解答以及结论与展望。 阅读时长:约60分钟…...

Vue 中的 key:列表渲染的秘诀

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

Linux系统架构----nginx的服务基础

一.Nginx的概述 Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx稳定性高,而且系统资源消耗少Nginx相对于Apache主要处理静态请求,而apache主要处理动态请求Nginx是一款轻量级的Web 服务器/反向代理服务…...

项目管理工具及模板(甘特图、OKR周报、任务管理、头脑风暴等)

项目管理常用模板大全: 1. 项目组OKR周报 2. 项目组传统周报工作法 3. 项目甘特图 4. 团队名单 5. 招聘跟进表 6. 出勤统计 7. 年度工作日历 8. 项目工作年计划 9. 版本排期 10. 项目组任务管理 11. 项目规划模板 12. 产品分析报告 13. 头脑风暴 信息化项目建设全套…...

MySQL--索引底层数据结构详解

索引是什么? 索引是帮助MySQL高效获取数据的排好序的数据结构,因此可知索引是数据结构。 概念很抽象,但是类比生活中的例子就很容易理解,比如一本厚厚的书,我们想取找某一小节,我们可以根据目录去快速找到…...

如何解决爬虫程序访问速度受限问题

目录 前言 一、代理IP的获取 1. 自建代理IP池 2. 购买付费代理IP 3. 使用免费代理IP网站 二、代理IP的验证 三、使用代理IP进行爬取 四、常见问题和解决方法 1. 代理IP不可用 2. 代理IP速度慢 3. 代理IP被封禁 总结 前言 解决爬虫程序访问速度受限问题的一种常用方…...

如何考上东南大学计算机学院?

东南大学招生学院是计算机科学与工程学院、苏州联合研究生院,复试公平,不歧视双非考生,985院校中性价比较高,但近年热度在逐年上涨,需要警惕。 建议报考计算机科学与工程学院081200计算机科学与技术专业目标分数为380…...

双指针算法练习

27. 移除元素 题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑…...

桌面终端管理(实用+收藏篇)

桌面终端管理软件是管理和保护企业电脑数据安全的工具。 它能够帮助管理员更有效地控制和监督员工电脑的日常使用,软件的功能包括软件管理、硬件监控、远程管理、数据加密和防泄密、行为审计以及安全防护等。 桌面终端管理的核心要义 桌面终端管理不仅仅是对硬件设…...

day1-C++

1>提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C风格字符串完成。 代码&#xff1a; #include <iostream> #include <string.h> using namespace std;int main() {string str ;int low 0, …...

C++ 之LeetCode刷题记录(三十九)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 目标&#xff1a;执行用时击败90%以上使用 C 的用户。 22. 括号生成 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用…...

关于一个数组的小细节

机缘 写一个矩阵转置的代码用到了数组 收获 了解到输入数组的大小要在数组前面而不能先定义数组然后再输入 举例 #include <stdio.h>int main() {int a, b;scanf("%d %d ",&a,&b);int arr[a][b];for(int i 0;i < a;i){for(int j 0;j < b…...

吴恩达机器学习笔记 十八 制定一个性能评估标准 学习曲线 高偏差 高方差

一个模型的好坏的评估基准可以从下面几个方面考虑&#xff1a; 1.考虑人类在这个问题上的表现 2.对比竞争算法的表现 3.根据经验猜测 判断是高偏差还是高方差 训练样本数量越多&#xff0c;越难完美地拟合每个样本&#xff0c;因此 J_train 会逐渐增大一点点&#xff0c;但泛…...

HYBBS 表白墙网站PHP程序源码,支持封装成APP

PHP表白墙网站源码&#xff0c;适用于校园内或校区间使用&#xff0c;同时支持封装成APP。告别使用QQ空间的表白墙。 简单安装&#xff0c;只需PHP版本5.6以上即可。 通过上传程序进行安装&#xff0c;并设置账号密码&#xff0c;登录后台后切换模板&#xff0c;适配手机和PC…...

Java面试宝典——MySQL

更多面试题 可关注微信公众号“假装正经的程序员”获取更多面试题和本篇详细答案&#xff0c;如有问题也可通过公众号私信 公众号目前正处于完善中&#xff0c;后续更多硬核干货会通过公众号免费发布&#xff0c;扫码关注 前言 本篇为MySQL相关面试问题&#xff0c;涉及到初…...

一站式数据采集物联网平台:智能化解决方案,让数据管理更高效、更安全

JVS物联网平台的定位 JVS是企业信息化的“一站式解决方案”&#xff0c;其中包括了基础的数字化底座、各种企业级能力、企业内常见的应用&#xff0c;如下图所示&#xff1a; 整体平台能力层有三大基础能力&#xff1a; 低代码用于业务的定义;数据分析套件用于数据的自助式分…...

【fastllm】学习框架,本地运行,速度还可以,可以成功运行chatglm2模型

1&#xff0c;关于 fastllm 项目 https://www.bilibili.com/video/BV1fx421k7Mz/?vd_source4b290247452adda4e56d84b659b0c8a2 【fastllm】学习框架&#xff0c;本地运行&#xff0c;速度还可以&#xff0c;可以成功运行chatglm2模型 https://github.com/ztxz16/fastllm &am…...

《TCP/IP网络编程》中多线程HTTP服务器实现代码,线程池改编

文章目录 最初代码线程池代码locker.hthreadpool.htask.hmain.cppindex.html编译 执行结果 最初代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h>…...

Windows®、Linux® 和 UNIX® 系统都适用的远程桌面工具 OpenText ETX

Windows、Linux 和 UNIX 系统都适用的远程桌面工具 OpenText ETX 为 Windows、Linux 和 UNIX 实施精益、经济高效的虚拟化&#xff1b;提供完整的远程 Windows 可用性&#xff1b;以类似本地的性能远程工作&#xff1b;安全地保护系统和知识产权&#xff08;IP&#xff09;&am…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...