| @@ -80,11 +80,11 @@ const ModelPricingTable = ({ | |||||
| ? priceData.completionPrice || priceData.outputPrice | ? priceData.completionPrice || priceData.outputPrice | ||||
| : '-', | : '-', | ||||
| cachePrice: | cachePrice: | ||||
| modelData?.quota_type === 0 && priceData.cacheRatio !== 1 | |||||
| modelData?.quota_type === 0 && priceData.cacheRatio !== 0 | |||||
| ? priceData.cachePrice | ? priceData.cachePrice | ||||
| : '-', | : '-', | ||||
| cacheCreationPrice: | cacheCreationPrice: | ||||
| modelData?.quota_type === 0 && priceData.cacheRatio !== 1 && priceData.cacheCreationRatio !== 0 | |||||
| modelData?.quota_type === 0 && priceData.cacheRatio !== 0 && priceData.cacheCreationRatio !== 0 | |||||
| ? priceData.cacheCreationPrice | ? priceData.cacheCreationPrice | ||||
| : '-', | : '-', | ||||
| fixedPrice: modelData?.quota_type === 1 ? priceData.price : '-', | fixedPrice: modelData?.quota_type === 1 ? priceData.price : '-', | ||||
| @@ -582,7 +582,7 @@ const ChannelPricingView = ({ channels, channelPricings, tags, onRefresh }) => { | |||||
| </div> | </div> | ||||
| <Form.Section text={t('高级比例(留空使用全局默认值)')}> | <Form.Section text={t('高级比例(留空使用全局默认值)')}> | ||||
| <Form.InputNumber field="cache_ratio" label={t('缓存读取倍率')} min={0} step={0.01} placeholder={t('全局默认值(1.0)')} extraText={t('缓存命中时输入价格的倍率。0.5 = 缓存命中的 token 按输入价格的一半计费,留空使用全局默认值 1.0')} /> | |||||
| <Form.InputNumber field="cache_ratio" label={t('缓存读取倍率')} min={0} step={0.01} placeholder={t('全局默认值(1.0)')} extraText={t('缓存命中时输入价格的倍率。0.5 = 缓存命中的 token 按输入价格的一半计费,留空使用全局默认值 1.0。设置为 0 时前端不显示缓存读取价格')} /> | |||||
| <Form.InputNumber field="cache_creation_ratio" label={t('缓存创建倍率(5分钟)')} min={0} step={0.01} placeholder={t('全局默认值(1.25)')} extraText={t('写入缓存的 token 按此倍率 × 输入价格计费。默认 1.25(5分钟 TTL);超过 1 小时自动按 1.6x 计费,留空使用全局默认值。设置为 0 时前端不显示缓存创建价格')} /> | <Form.InputNumber field="cache_creation_ratio" label={t('缓存创建倍率(5分钟)')} min={0} step={0.01} placeholder={t('全局默认值(1.25)')} extraText={t('写入缓存的 token 按此倍率 × 输入价格计费。默认 1.25(5分钟 TTL);超过 1 小时自动按 1.6x 计费,留空使用全局默认值。设置为 0 时前端不显示缓存创建价格')} /> | ||||
| <Form.InputNumber field="image_ratio" label={t('图片倍率')} min={0} step={0.01} placeholder={t('全局默认值')} /> | <Form.InputNumber field="image_ratio" label={t('图片倍率')} min={0} step={0.01} placeholder={t('全局默认值')} /> | ||||
| <Form.InputNumber field="audio_ratio" label={t('音频输入倍率')} min={0} step={0.01} placeholder={t('全局默认值')} /> | <Form.InputNumber field="audio_ratio" label={t('音频输入倍率')} min={0} step={0.01} placeholder={t('全局默认值')} /> | ||||
| @@ -642,7 +642,7 @@ export default function ModelRatioNotSetEditor(props) { | |||||
| min={0} | min={0} | ||||
| step={0.01} | step={0.01} | ||||
| placeholder={t('全局默认值(1.0)')} | placeholder={t('全局默认值(1.0)')} | ||||
| extraText={t('缓存命中时输入价格的倍率。0.5 = 缓存命中的 token 按输入价格的一半计费,留空使用全局默认值 1.0')} | |||||
| extraText={t('缓存命中时输入价格的倍率。0.5 = 缓存命中的 token 按输入价格的一半计费,留空使用全局默认值 1.0。设置为 0 时前端不显示缓存读取价格')} | |||||
| /> | /> | ||||
| <Form.InputNumber | <Form.InputNumber | ||||
| field='cacheCreationRatio' | field='cacheCreationRatio' | ||||
| @@ -813,7 +813,7 @@ export default function ModelSettingsVisualEditor(props) { | |||||
| min={0} | min={0} | ||||
| step={0.01} | step={0.01} | ||||
| placeholder={t('全局默认值(1.0)')} | placeholder={t('全局默认值(1.0)')} | ||||
| extraText={t('缓存命中时输入价格的倍率。0.5 = 缓存命中的 token 按输入价格的一半计费,留空使用全局默认值 1.0')} | |||||
| extraText={t('缓存命中时输入价格的倍率。0.5 = 缓存命中的 token 按输入价格的一半计费,留空使用全局默认值 1.0。设置为 0 时前端不显示缓存读取价格')} | |||||
| /> | /> | ||||
| <Form.InputNumber | <Form.InputNumber | ||||
| field='cacheCreationRatio' | field='cacheCreationRatio' | ||||