项目介绍:TokenCost
项目背景
Tokencost 是一个专为大规模语言模型(LLM)应用程序和人工智能代理提供的客户端代币计数和价格估算工具。它帮助开发者计算使用主流大型语言模型(如 OpenAI 的 GPT 系列)API 时,提示词和完成的估计成本。
特点
- LLM 价格追踪:主要的大规模语言模型供应商会经常添加新模型并更新定价。Tokencost 可以帮助追踪这些价格变化,确保用户获取最新的价格信息。
- 代币计数:在发送 OpenAI 请求之前准确计算提示词的代币数量。
- 轻松集成:可通过简单的函数调用获取提示词或完成的费用,方便与现有系统进行集成。
案例展示
以下是一个简单的使用示例,展示了如何计算一个提示词和完成的费用:
from tokencost import calculate_prompt_cost, calculate_completion_cost
model = "gpt-3.5-turbo"
prompt = [{ "role": "user", "content": "Hello world"}]
completion = "How may I assist you today?"
prompt_cost = calculate_prompt_cost(prompt, model)
completion_cost = calculate_completion_cost(completion, model)
print(f"{prompt_cost} + {completion_cost} = {prompt_cost + completion_cost}")
# 0.0000135 + 0.000014 = 0.0000275
安装方式
建议通过 Python 的包管理工具 PyPI 安装 Tokencost:
pip install tokencost
使用方法
成本估算
可以使用 Tokencost 轻松计算 OpenAI 请求中提示词和完成的费用。例如:
from openai import OpenAI
client = OpenAI()
model = "gpt-3.5-turbo"
prompt = [{ "role": "user", "content": "Say this is a test"}]
chat_completion = client.chat.completions.create(
messages=prompt, model=model
)
completion = chat_completion.choices[0].message.content
# "This is a test."
prompt_cost = calculate_prompt_cost(prompt, model)
completion_cost = calculate_completion_cost(completion, model)
print(f"{prompt_cost} + {completion_cost} = {prompt_cost + completion_cost}")
# 0.0000180 + 0.000010 = 0.0000280
代币计数
Tokencost 也提供了直接计数代币数量的功能。无论格式是信息列表还是字符串都可以进行计数:
from tokencost import count_message_tokens, count_string_tokens
message_prompt = [{ "role": "user", "content": "Hello world"}]
# 计数信息列表中的代币数量
print(count_message_tokens(message_prompt, model="gpt-3.5-turbo"))
# 输出: 9
# 或者,计数字符串提示词中的代币数量
print(count_string_tokens(prompt="Hello world", model="gpt-3.5-turbo"))
# 输出: 2
成本表
TokenCost 提供一个详细的成本表,可以帮助用户了解不同模型的具体提示词和完成费用。所有价格信息都可以在 model_prices.json
文件中找到。这使得用户在选择模型时能够做出更有信息的决策。
本工具具有 MIT 许可证,代码和详细信息可以在 TokenCost GitHub repo 上找到。用户也可以通过 Twitter、Discord 等社交平台获得更多支持与互动。
Tokencost 致力于为开发者提供准确的工具支持,以便更好地管理和估算使用大型语言模型时的成本,为人工智能应用开发提供有力的支持。