| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- 'use client'
 
- import type { FC } from 'react'
 
- import React from 'react'
 
- import { useTranslation } from 'react-i18next'
 
- import ParamItem from '.'
 
- type Props = {
 
-   className?: string
 
-   value: number
 
-   onChange: (key: string, value: number) => void
 
-   enable: boolean
 
- }
 
- const maxTopK = (() => {
 
-   const configValue = Number.parseInt(globalThis.document?.body?.getAttribute('data-public-top-k-max-value') || '', 10)
 
-   if (configValue && !isNaN(configValue))
 
-     return configValue
 
-   return 10
 
- })()
 
- const VALUE_LIMIT = {
 
-   default: 2,
 
-   step: 1,
 
-   min: 1,
 
-   max: maxTopK,
 
- }
 
- const key = 'top_k'
 
- const TopKItem: FC<Props> = ({
 
-   className,
 
-   value,
 
-   enable,
 
-   onChange,
 
- }) => {
 
-   const { t } = useTranslation()
 
-   const handleParamChange = (key: string, value: number) => {
 
-     let notOutRangeValue = Number.parseFloat(value.toFixed(2))
 
-     notOutRangeValue = Math.max(VALUE_LIMIT.min, notOutRangeValue)
 
-     notOutRangeValue = Math.min(VALUE_LIMIT.max, notOutRangeValue)
 
-     onChange(key, notOutRangeValue)
 
-   }
 
-   return (
 
-     <ParamItem
 
-       className={className}
 
-       id={key}
 
-       name={t(`appDebug.datasetConfig.${key}`)}
 
-       tip={t(`appDebug.datasetConfig.${key}Tip`) as string}
 
-       {...VALUE_LIMIT}
 
-       value={value}
 
-       enable={enable}
 
-       onChange={handleParamChange}
 
-     />
 
-   )
 
- }
 
- export default React.memo(TopKItem)
 
 
  |