#!/bin/bash # 快速估算不同预算可以生成多少数据 echo "💰 OpenAI API 预算估算工具" echo "==========================================" echo "" echo "基于您的测试结果:" echo " - 2个样本成本: \$0.001819" echo " - 平均每样本: \$0.0009095" echo "" # 从测试结果计算的平均值 AVG_INPUT_TOKENS=1917 AVG_OUTPUT_TOKENS=2552 # 标准 API 定价 (gpt-4o-mini) STANDARD_INPUT_PRICE=0.15 # per 1M tokens STANDARD_OUTPUT_PRICE=0.60 # per 1M tokens # Batch API 定价 (50% off) BATCH_INPUT_PRICE=0.075 # per 1M tokens BATCH_OUTPUT_PRICE=0.30 # per 1M tokens echo "📊 不同预算对比:" echo "==========================================" printf "%-15s %-15s %-15s %-15s\n" "预算" "标准API" "Batch API" "节省" echo "----------------------------------------" for BUDGET in 1 5 10 20 50 100; do # 计算标准 API 能生成多少 STANDARD_COUNT=$(python3 -c " import math avg_cost_per_sample = ($AVG_INPUT_TOKENS * $STANDARD_INPUT_PRICE / 1_000_000) + ($AVG_OUTPUT_TOKENS * $STANDARD_OUTPUT_PRICE / 1_000_000) print(int($BUDGET / avg_cost_per_sample)) ") # 计算 Batch API 能生成多少 BATCH_COUNT=$(python3 -c " import math avg_cost_per_sample = ($AVG_INPUT_TOKENS * $BATCH_INPUT_PRICE / 1_000_000) + ($AVG_OUTPUT_TOKENS * $BATCH_OUTPUT_PRICE / 1_000_000) print(int($BUDGET / avg_cost_per_sample)) ") SAVINGS=$((BATCH_COUNT - STANDARD_COUNT)) printf "%-15s %-15s %-15s %-15s\n" "\$$BUDGET" "$STANDARD_COUNT" "$BATCH_COUNT" "+$SAVINGS" done echo "" echo "🎯 推荐配置 (基于 \$10 预算):" echo "==========================================" # 估算 $10 预算下的详细信息 python3 -c " budget = 10.0 avg_input = $AVG_INPUT_TOKENS avg_output = $AVG_OUTPUT_TOKENS # Batch API batch_input_price = $BATCH_INPUT_PRICE / 1_000_000 batch_output_price = $BATCH_OUTPUT_PRICE / 1_000_000 batch_cost_per_sample = (avg_input * batch_input_price) + (avg_output * batch_output_price) batch_samples = int(budget / batch_cost_per_sample) # Standard API std_input_price = $STANDARD_INPUT_PRICE / 1_000_000 std_output_price = $STANDARD_OUTPUT_PRICE / 1_000_000 std_cost_per_sample = (avg_input * std_input_price) + (avg_output * std_output_price) std_samples = int(budget / std_cost_per_sample) print(f'使用 Batch API:') print(f' - 可生成样本数: {batch_samples:,}') print(f' - 每样本成本: \${batch_cost_per_sample:.6f}') print(f' - 总输入tokens: {batch_samples * avg_input:,}') print(f' - 总输出tokens: {batch_samples * avg_output:,}') print(f'') print(f'使用标准 API:') print(f' - 可生成样本数: {std_samples:,}') print(f' - 每样本成本: \${std_cost_per_sample:.6f}') print(f'') print(f'💰 节省:') print(f' - 多生成样本: {batch_samples - std_samples:,} ({((batch_samples - std_samples) / std_samples * 100):.1f}%)') print(f' - 节省金额: \${budget * 0.5:.2f} (50%)') " echo "" echo "📝 使用建议:" echo "==========================================" echo "1. 先小规模测试 (100-1000 样本)" echo "2. 确认质量后再大规模生成" echo "3. 使用 --min-score 90+ 保证高质量" echo "4. Batch API 处理时间: 通常几小时内完成" echo "" echo "💡 运行估算命令:" echo " python3 generate_problems_batch.py estimate --num-requests 20000"