您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import Rerank from '@/components/rerank';
  2. import SimilaritySlider from '@/components/similarity-slider';
  3. import { useTranslate } from '@/hooks/common-hooks';
  4. import { useChunkIsTesting } from '@/hooks/knowledge-hooks';
  5. import { Button, Card, Divider, Flex, Form, Input } from 'antd';
  6. import { FormInstance } from 'antd/lib';
  7. import { LabelWordCloud } from './label-word-cloud';
  8. import { UseKnowledgeGraphItem } from '@/components/use-knowledge-graph-item';
  9. import styles from './index.less';
  10. type FieldType = {
  11. similarity_threshold?: number;
  12. vector_similarity_weight?: number;
  13. question: string;
  14. };
  15. interface IProps {
  16. form: FormInstance;
  17. handleTesting: () => Promise<any>;
  18. }
  19. const TestingControl = ({ form, handleTesting }: IProps) => {
  20. const question = Form.useWatch('question', { form, preserve: true });
  21. const loading = useChunkIsTesting();
  22. const { t } = useTranslate('knowledgeDetails');
  23. const buttonDisabled =
  24. !question || (typeof question === 'string' && question.trim() === '');
  25. return (
  26. <section className={styles.testingControlWrapper}>
  27. <div>
  28. <b>{t('testing')}</b>
  29. </div>
  30. <p>{t('testingDescription')}</p>
  31. <Divider></Divider>
  32. <section>
  33. <Form name="testing" layout="vertical" form={form}>
  34. <SimilaritySlider isTooltipShown></SimilaritySlider>
  35. <Rerank></Rerank>
  36. <UseKnowledgeGraphItem filedName={['use_kg']}></UseKnowledgeGraphItem>
  37. <Card size="small" title={t('testText')}>
  38. <Form.Item<FieldType>
  39. name={'question'}
  40. rules={[{ required: true, message: t('testTextPlaceholder') }]}
  41. >
  42. <Input.TextArea autoSize={{ minRows: 8 }}></Input.TextArea>
  43. </Form.Item>
  44. <Flex justify={'end'}>
  45. <Button
  46. type="primary"
  47. size="small"
  48. onClick={handleTesting}
  49. disabled={buttonDisabled}
  50. loading={loading}
  51. >
  52. {t('testingLabel')}
  53. </Button>
  54. </Flex>
  55. </Card>
  56. </Form>
  57. </section>
  58. <LabelWordCloud></LabelWordCloud>
  59. {/* <section>
  60. <div className={styles.historyTitle}>
  61. <Space size={'middle'}>
  62. <HistoryOutlined className={styles.historyIcon} />
  63. <b>Test history</b>
  64. </Space>
  65. </div>
  66. <Space
  67. direction="vertical"
  68. size={'middle'}
  69. className={styles.historyCardWrapper}
  70. >
  71. {list.map((x) => (
  72. <Card className={styles.historyCard} key={x}>
  73. <Flex justify={'space-between'} gap={'small'}>
  74. <span>{x}</span>
  75. <div className={styles.historyText}>
  76. content dcjsjl snldsh svnodvn svnodrfn svjdoghdtbnhdo
  77. sdvhodhbuid sldghdrlh
  78. </div>
  79. <Flex gap={'small'}>
  80. <span>time</span>
  81. <DeleteOutlined></DeleteOutlined>
  82. </Flex>
  83. </Flex>
  84. </Card>
  85. ))}
  86. </Space>
  87. </section> */}
  88. </section>
  89. );
  90. };
  91. export default TestingControl;