Перейти к основному содержимому
clawam tools
Инструменты Документы Daoark EN Главная Главная / Calculadora › Главная manifest.json = 0) || !(output >= 0) || !(requests >= 1)) { showError('Token 和请求数 ≥ 0/1'); return; } var r = calc(model, input, output, requests); var perConverted = convert(r.per, ccy); var totalConverted = convert(r.total, ccy); var out = '模型: ' + r.p.name + '\n' + '输入/输出: ' + input + ' / ' + output + ' tokens\n' + '请求数: ' + requests + '\n' + '上下文窗口: ' + r.p.ctx.toLocaleString() + ' tokens\n' + '单价: ' + unitFor(ccy) + r.p.in.toFixed(r.p.in < 0.01 ? 4 : 2) + ' / ' + unitFor(ccy) + r.p.out.toFixed(r.p.out < 0.01 ? 4 : 2) + ' 每 1M tokens\n' + '--------\n' + '单次成本: ' + unitFor(ccy) + fmt(perConverted, 6) + '\n' + '总成本(' + requests + ' 次): ' + unitFor(ccy) + fmt(totalConverted, 4) + '\n' + '月成本估算(每日 1 次): ' + unitFor(ccy) + fmt(totalConverted * 30, 2) + '\n' + '年成本估算(每日 1 次): ' + unitFor(ccy) + fmt(totalConverted * 365, 2); if (r.p.selfHost) out += '\n 该模型通常自部署,需考虑 GPU 成本'; showResult(out, r.p.name + ', ' + input + '+' + output + ' tokens × ' + requests); } function compare() { var input = parseInt(getVal('input-tokens'), 10); var output = parseInt(getVal('output-tokens'), 10); var requests = parseInt(getVal('requests'), 10); var ccy = getVal('currency'); if (!(input >= 0) || !(output >= 0) || !(requests >= 1)) { showError('Token 和请求数 ≥ 0/1'); return; } var arr = []; for (var k in PRICES) { var r = calc(k, input, output, requests); arr.push({ key: k, name: r.p.name, total: convert(r.total, ccy), selfHost: r.p.selfHost }); } arr.sort(function(a, b) { if (a.selfHost && !b.selfHost) return 1; if (!a.selfHost && b.selfHost) return -1; return a.total - b.total; }); var u = unitFor(ccy); var out = '对比: ' + input + '+' + output + ' tokens × ' + requests + ' 次 (按总价升序)\n\n'; for (var i = 0; i < arr.length; i++) { out += (i + 1) + '. ' + arr[i].name + ': ' + u + fmt(arr[i].total, 4) + (arr[i].selfHost ? ' (自部署)' : '') + '\n'; } showResult(out, arr.length + ' 个模型对比'); } $('btn-main').addEventListener('click', function(e) { e.preventDefault(); doCalc(); }); $('btn-compare').addEventListener('click', compare); $('btn-clear').addEventListener('click', function() { var inputs = document.querySelectorAll('input,textarea,select'); for (var i = 0; i < inputs.length; i++) { if (inputs[i].tagName === 'SELECT') inputs[i].selectedIndex = 0; else inputs[i].value = inputs[i].defaultValue; } var ra = $('result-area'); ra.hidden = true; ra.style.display = 'none'; var em = $('error-msg'); em.hidden = true; em.style.display = 'none'; }); })();