使用单次调用进行提示词成本测试
brew tap vincentzhangz/singleshot
brew install singleshot
或使用:cargo install singleshot
为提高效率分析,始终使用 -d(详情)和 -r(报告)标志:
# 基础测试(包含完整指标)
singleshot chat -p "你的提示词" -P openai -d -r report.md
# 使用配置文件测试
singleshot chat -l config.md -d -r report.md
# 比较不同服务提供商
singleshot chat -p "测试" -P openai -m gpt-4o-mini -d -r openai.md
singleshot chat -p "测试" -P anthropic -m claude-sonnet-4-20250514 -d -r anthropic.md
# 批量测试不同变体
for config in *.md; do
singleshot chat -l "$config" -d -r "report-${config%.md}.md"
done
singleshot chat -p "你的提示词" -P openai -d -r baseline.md
cat baseline.md
# 创建优化版本,测试并比较
cat > optimized.md << 'EOF'
---provider---
openai
---model---
gpt-4o-mini
---max_tokens---
200
---system---
专家。请简洁回答。
---prompt---
你的优化提示词
EOF
singleshot chat -l optimized.md -d -r optimized-report.md
# 比较指标
echo "基准版本:" && grep -E "(Tokens|Cost)" baseline.md
echo "优化版本:" && grep -E "(Tokens|Cost)" optimized-report.md
报告包含:
## 令牌使用情况
- 输入令牌:245
- 输出令牌:180
- 总令牌数:425
## 成本(估算)
- 输入成本:$0.00003675
- 输出成本:$0.000108
- 总成本:$0.00014475
## 时间统计
- 首令牌时间:0.45秒
- 总耗时:1.23秒
优先使用成本更低的模型测试:
bash
singleshot chat -p "测试" -P openai -m gpt-4o-mini -d -r report.md
减少令牌使用:
- 缩短系统提示词
- 使用 --max-tokens 限制输出长度
- 在系统提示词中添加“请简洁回答”
本地测试(免费):
bash
singleshot chat -p "测试" -P ollama -m llama3.2 -d -r report.md
# 步骤1:基准测试(详细版)
singleshot chat \
-p "如何编写一个Rust函数来实现两个数字相加?" \
-s "你是一位拥有10年经验的Rust编程专家" \
-P openai -d -r v1.md
# 步骤2:查看指标
cat v1.md
# 预期结果:约130个输入令牌,约400个输出令牌
# 步骤3:优化版本
singleshot chat \
-p "Rust函数:add(a: i32, b: i32) -> i32" \
-s "Rust专家。仅提供代码。" \
-P openai --max-tokens 100 -d -r v2.md
# 步骤4:比较结果
echo "=== 对比结果 ==="
grep "总成本" v1.md v2.md
grep "总令牌数" v1.md v2.md
# 完整详情测试
singleshot chat -p "提示词" -P openai -d -r report.md
# 提取指标
grep -E "(输入|输出|总)" report.md
# 比较报告
diff report1.md report2.md
# 视觉测试
singleshot chat -p "描述" -i image.jpg -P openai -d -r report.md
# 列出可用模型
singleshot models -P openai
# 测试连接
singleshot ping -P openai
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENROUTER_API_KEY="sk-or-..."
-d 获取详细的令牌指标-r 保存报告--max-tokens 控制成本-d 标志-r 标志singleshot ping -P <服务商>