feat: 完善日志详情

This commit is contained in:
CaIon 2024-05-13 15:08:01 +08:00
parent 5ac3d25f54
commit 39f6812a2b
3 changed files with 23 additions and 14 deletions

View File

@ -268,8 +268,8 @@ func postConsumeQuota(ctx *gin.Context, relayInfo *relaycommon.RelayInfo, textRe
quota := 0 quota := 0
if modelPrice == -1 { if modelPrice == -1 {
quota = promptTokens + int(float64(completionTokens)*completionRatio) quota = promptTokens + int(math.Round(float64(completionTokens)*completionRatio))
quota = int(float64(quota) * ratio) quota = int(math.Round(float64(quota) * ratio))
if ratio != 0 && quota <= 0 { if ratio != 0 && quota <= 0 {
quota = 1 quota = 1
} }

View File

@ -316,6 +316,8 @@ const LogsTable = () => {
} }
let other = JSON.parse(record.other); let other = JSON.parse(record.other);
let content = renderModelPrice( let content = renderModelPrice(
record.prompt_tokens,
record.completion_tokens,
other.model_ratio, other.model_ratio,
other.model_price, other.model_price,
other.completion_ratio, other.completion_ratio,
@ -326,10 +328,6 @@ const LogsTable = () => {
<Paragraph <Paragraph
ellipsis={{ ellipsis={{
rows: 2, rows: 2,
showTooltip: {
type: 'popover',
opts: { style: { width: 240 } },
},
}} }}
style={{ maxWidth: 240 }} style={{ maxWidth: 240 }}
> >

View File

@ -135,6 +135,8 @@ export function renderQuota(quota, digits = 2) {
} }
export function renderModelPrice( export function renderModelPrice(
inputTokens,
completionTokens,
modelRatio, modelRatio,
modelPrice = -1, modelPrice = -1,
completionRatio, completionRatio,
@ -147,15 +149,24 @@ export function renderModelPrice(
if (completionRatio === undefined) { if (completionRatio === undefined) {
completionRatio = 0; completionRatio = 0;
} }
let inputRatioPrice = modelRatio * 0.002 * groupRatio; let inputRatioPrice = modelRatio * 2.0 * groupRatio;
let completionRatioPrice = let completionRatioPrice = modelRatio * completionRatio * 2.0 * groupRatio;
modelRatio * completionRatio * 0.002 * groupRatio; let price =
(inputTokens / 1000000) * inputRatioPrice +
(completionTokens / 1000000) * completionRatioPrice;
return ( return (
'输入 $' + <>
inputRatioPrice.toFixed(3) + <article>
'/1K tokens补全 $' + <p>提示 ${inputRatioPrice} / 1M tokens</p>
completionRatioPrice.toFixed(3) + <p>补全 ${completionRatioPrice} / 1M tokens</p>
'/1K tokens' <p>计算过程</p>
<p>
提示 {inputTokens} tokens / 1M tokens * ${inputRatioPrice} + 补全{' '}
{completionTokens} tokens / 1M tokens * ${completionRatioPrice} = $
{price.toFixed(6)}
</p>
</article>
</>
); );
} }
} }