预算项
| 预算项 | 示例(128K 窗口模型) |
|---|---|
| 模型上下文窗口 | 128K tokens |
| 系统与指令提示词 | 约 500 tokens |
| 对话历史 | 约 1000 tokens |
| 检索片段 | 如 3000-6000 tokens |
| 输出预留 | 如 1000-2000 tokens |
按预算组装
按预算组装
budget = 6000
total = 0
parts = []
for hit in hits: # 已按重排分数排序
t = count_tokens(hit.text) # 用实际分词器计数
if total + t > budget:
break
parts.append((hit.text, hit.meta))
total += t
context = "\n\n".join(f"[{i+1}] {t}" for i, (t, m) in enumerate(parts))不同模型 token 计数不同(tiktoken / 本地分词器);预算要按实际使用的模型计算,不要按字数粗略估算。