OPENAI tokens计算方式

背景:

        计算 token 数量: 在 OpenAI 的 API 中,token 是衡量文本长度的基本单位。你可以使用 tiktoken 库(对于 OpenAI 模型)来计算输入内容和历史记录内容的 token 数量。其他大模型也有类似的工具来获取 token 计算结果。这里我会假设你使用的是 OpenAI 模型。

1. 安装 tiktoken

pip install tiktoken

2. 通过代码来计算 token 数量

import tiktoken  # 用于计算 token 数量
from openai import OpenAIError

# 假设你使用的是 OpenAI 模型,你可以根据自己的实际模型调整编码器
enc = tiktoken.get_encoding("cl100k_base")  # OpenAI 使用的 token 编码器

def count_tokens(text: str) -> int:
    """计算给定文本的 token 数量"""
    return len(enc.encode(text))



# 计算 question 和 history 的 token 消耗
    question_tokens = count_tokens(question)
    history_tokens = sum(count_tokens(item.content) for item in history)

    total_tokens = question_tokens + history_tokens
    logger.debug(f"Input Question Tokens: {question_tokens}, History Tokens: {history_tokens}, Total Tokens: {total_tokens}")
    
    # 在此处,可以决定是否对 token 使用进行限制,或者记录日志
    if total_tokens > MAX_TOKEN_LIMIT:
        raise HTTPException(status_code=400, detail="Token usage exceeds the limit")

3.注意事项

  • 你需要根据所使用的模型选择正确的 token 编码器。tiktoken 只适用于 OpenAI 模型,如果你使用其他大模型,可能需要不同的库或方法来计算 token。
  • 请确保 MAX_TOKEN_LIMIT 根据你系统的实际限制进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毛毛的毛毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值