理解无限制模型中的令牌计数
每个章节的第一句话都回答了标题中的问题。Token 计数是任何 LLM 代理计费的基本单位。你为提示中发送的每个 token 和响应中生成的每个 token 付费。这包括系统指令、对话历史和格式字符。
许多开发者认为只有可见文本才算数。这是不正确的。每个空格、换行符和 JSON 括号都会消耗 Token。当你使用 uncensored 模型时,上下文窗口会填充得更快,因为这些模型通常需要更冗长的推理来在缺乏安全过滤器时保持连贯性。
我们的 API 按每 1M 输入 token 收取 $0.15,每 1M 输出 token 收取 $0.50。此费率适用于实际 token 用量。错误不收费,拒绝请求免费。这种结构确保您只为实际计算付费。
curl https://api.claudeapiproxy.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "get the current server time in ISO format"}]
}'- 计算系统提示中的每个字符。
- 在输入计数中包含对话历史。
- 用于计算 JSON 格式开销的账户。
- 在发送大型负载之前验证令牌计数。
上下文窗口陷阱:100k 输入 vs 16k 输出
我们的 API 提供 100,000 token 的上下文窗口,但每次请求只能生成 16,000 个 token。这种不对称性对于假设输出无限的用户来说是一个计费陷阱。
如果您的提示词消耗了 90,000 个 token,则您只剩下 10,000 个 token 用于输出。如果您请求最大 16,000 个 token,模型将提前停止。您仍需为实际生成的 token 付费。这不是 bug,而是长上下文窗口的特性。
许多用户因将 max_tokens 设置得过高而浪费信用额度。如果模型超出上下文限制,它会自然停止。您只为它生成的内容付费。您不为它无法生成的内容付费。
from openai import OpenAI
client = OpenAI(base_url="https://api.claudeapiproxy.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)始终监控您的剩余上下文。使用 /v1/models 端点验证当前限制。调整提示长度以为输出留出空间。这可以防止因截断响应而产生的意外费用。
流式响应和最终数据块计费
流式传输不会改变总成本。无论令牌是即时接收还是一次性接收,您支付的令牌数量相同。区别在于如何跟踪使用情况。
当您进行流式传输时,会收到多个数据块。每个数据块包含响应的一部分。最后一个数据块包含 token 使用摘要。您可以在这里验证确切的 token 数量。
部分代理按块收费。我们不是。我们按生成的总令牌收费。流式传输模式是为了用户体验,而非计费效率。
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)- 用于实时 UI 更新的流式传输。
- 忽略用于计费的中间分块。
- 读取最终数据块以获取 token 计数。
- 验证使用情况是否符合您的预期。
工具使用中的函数调用开销
函数调用增加了大量开销,因为工具定义在每次请求中重复。每次调用函数时,模型必须重新读取工具模式。
如果您有五个工具,每个工具的定义包含 1,000 个 token,您将在每次请求中增加 5,000 个 token。这显著增加了您的输入成本。对于长对话,这种开销会累积。
我们的 API 支持带有 tool_choice 的函数调用。您可以通过减少工具复杂性进行优化。将相关工具合并到单个模式中。这减少了每次请求的 token 数量。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.claudeapiproxy.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);仔细监控您的令牌使用情况。高频率的函数调用可能会使您的输入成本翻倍。如果可能,请对工具定义使用缓存。这有助于让您的预付费额度更持久。
为什么拒绝是免费的但重试不是
拒绝是免费的,因为没有生成标记。如果模型因内容或格式拒绝请求,您无需付费。这是预付费计费的关键优势。
重试并非免费。如果您发送请求并收到错误,可能需要重试。每次重试都会消耗 token。错误本身不收费,但重试收费。
我们的 API 仅按实际 token 使用量计费。如果请求在生成 token 之前失败,您无需付费;如果之后失败,您只需为已生成的部分付费。这种透明度可防止隐藏费用。
curl https://api.claudeapiproxy.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "get the current server time in ISO format"}]
}'- 拒绝零额度。
- 重试会消耗您的预算。
- 未生成令牌时错误免费。
- 监控重试以优化效率。
JSON 模式格式化成本
JSON 模式格式化成本与标准文本模式完全相同。你只需为 JSON 输出中的 token 付费。格式本身不会增加额外费用。
然而,JSON 输出通常比纯文本消耗更多的 token。模型可能会添加额外的空格或键以确保 JSON 有效。这会增加您的输出成本。
我们的 API 通过 response_format 支持 JSON 模式。您可以强制输出严格的 JSON。这确保了与您客户端代码的兼容性。费用按 token 计算,而非按格式计算。
from openai import OpenAI
client = OpenAI(base_url="https://api.claudeapiproxy.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)优化您的 JSON 模式以减少 Token 数量。删除不必要的键。使用更短的变量名。这有助于在保持数据完整性的同时最小化成本。
对比代理成本与直接供应商定价
代理成本通常低于直接供应商定价,因为您只为令牌付费。直接供应商可能会为正常运行时间、支持或模型版本控制收费。我们的 API 按每 1M 输入令牌 $0.15 和每 1M 输出令牌 $0.50 收费。
Anthropic 或 OpenAI 等直接供应商具有复杂的定价层级。它们可能为不同模型收取不同的费率。我们的 API 提供单一的无审查模型。这简化了计费。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.claudeapiproxy.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);- 代理计费透明且预付费。
- 直接供应商可能存在隐藏费用。
- 我们的模型无审查且开源权重。
- 比较令牌数量,而不仅仅是价格。
计算每次对话的有效成本
每次对话的有效成本取决于令牌使用量。计算发送和接收的令牌总数。乘以每百万令牌的费率。这将给出确切成本。
例如,如果对话使用了 10,000 个输入 token 和 5,000 个输出 token,成本为 $0.0015 + $0.0025 = $0.004。对于大多数用途来说,这几乎可以忽略不计。
curl https://api.claudeapiproxy.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "get the current server time in ISO format"}]
}'追踪您的平均对话长度。优化提示词以减少输入令牌。这有助于您准确预测成本。预存余额永不过期,因此您可以进行长期规划。
避免预付费余额的双重扣款错误
重复扣款很少见但可能发生。如果你通过加密货币充值,请确保发送正确的金额。我们的 API 仅对实际的 Token 使用收费。错误通过支持页面进行修复。
from openai import OpenAI
client = OpenAI(base_url="https://api.claudeapiproxy.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)- 充值前验证交易哈希。
- 每次请求后检查您的余额。
- 立即报告错误以获取退款。
- 保留你的交易记录。