import { WarningOutlined } from '@ant-design/icons'; import { useIntl } from '@umijs/max'; import { Space, Tooltip, Typography } from 'antd'; import classNames from 'classnames'; import _ from 'lodash'; import '../style/reference-params.less'; interface ReferenceParamsProps { showOutput?: boolean; scaleable?: boolean; fields?: string[]; usage: { error?: boolean; errorMessage?: string; completion_tokens: number; prompt_tokens: number; total_tokens: number; tokens_per_second: number; time_per_output_token_ms: number; time_to_first_token_ms: number; }; } const ReferenceParams = (props: ReferenceParamsProps) => { const intl = useIntl(); const { usage, showOutput = true, scaleable, fields = ['completion_tokens', 'prompt_tokens'] } = props; if (!usage || _.isEmpty(usage)) { return null; } if (usage.error) { return ( {usage?.errorMessage} ); } return (
{fields.includes('completion_tokens') && ( {intl.formatMessage({ id: 'playground.completion' })}:{' '} {usage.completion_tokens} )} {fields.includes('prompt_tokens') && ( {intl.formatMessage({ id: 'playground.prompt' })}:{' '} {usage.prompt_tokens} )} } > {intl.formatMessage({ id: 'playground.tokenusage' })}:{' '} {usage.total_tokens} {showOutput && ( TPOT: {_.round(usage.time_per_output_token_ms, 2) || 0} ms TTFT: {_.round(usage.time_to_first_token_ms, 2) || 0} ms } > {intl.formatMessage({ id: 'playground.tokenoutput' })}:{' '} {_.round(usage.tokens_per_second, 2) || 0} Tokens/s )}
); }; export default ReferenceParams;