fix(web): knowledge config

This commit is contained in:
zhaoying
2026-04-29 12:27:04 +08:00
parent 6197d698a2
commit b0a4f9fa18
4 changed files with 62 additions and 59 deletions

View File

@@ -1281,13 +1281,13 @@ export const en = {
hybrid: 'Hybrid Retrieval',
graph: 'Graph Retrieval',
similarity_threshold: 'Semantic similarity threshold',
similarity_threshold_desc: 'Only return results with semantic similarity higher than this threshold',
similarity_threshold_desc1: 'The minimum similarity threshold for semantic retrieval',
vector_similarity_weight: 'Semantic similarity threshold',
vector_similarity_weight_desc: 'Only return results with semantic similarity higher than this threshold',
vector_similarity_weight_desc1: 'The minimum similarity threshold for semantic retrieval',
vector_similarity_weight: 'Vector Similarity Weight',
vector_similarity_weight_desc: 'Only return results with BM25 scores above this threshold',
vector_similarity_weight_desc1: 'The minimum BM25 score threshold for word segmentation retrieval',
similarity_threshold: 'Vector Similarity Weight',
similarity_threshold_desc: 'Only return results with BM25 scores above this threshold',
similarity_threshold_desc1: 'The minimum BM25 score threshold for word segmentation retrieval',
description: 'Description',
shareVersion: 'Share Version',

View File

@@ -663,13 +663,13 @@ export const zh = {
hybrid: '混合检索',
graph: '图谱检索',
similarity_threshold: '语义相似度阈值',
similarity_threshold_desc: '仅返回语义相似度高于此阈值的结果',
similarity_threshold_desc1: '语义检索的最小相似度阈值',
similarity_threshold: '向量相似度权重',
similarity_threshold_desc: '仅返回BM25分数高于此阈值的结果',
similarity_threshold_desc1: '分词检索的最小BM25分数阈值',
vector_similarity_weight: '向量相似度权重',
vector_similarity_weight_desc: '仅返回BM25分数高于此阈值的结果',
vector_similarity_weight_desc1: '分词检索的最小BM25分数阈值',
vector_similarity_weight: '语义相似度阈值',
vector_similarity_weight_desc: '仅返回语义相似度高于此阈值的结果',
vector_similarity_weight_desc1: '语义检索的最小相似度阈值',
description: '描述',
shareVersion: '分享版本',

View File

@@ -91,7 +91,7 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
useEffect(() => {
if (values?.retrieve_type) {
const fieldsToReset = Object.keys(values).filter(key =>
const fieldsToReset = Object.keys(values).filter(key =>
key !== 'kb_id' && key !== 'retrieve_type' && key !== 'top_k'
) as (keyof KnowledgeConfigForm)[];
form.resetFields(fieldsToReset);
@@ -127,7 +127,7 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
extra={t('application.retrieve_type_desc')}
rules={[{ required: true, message: t('common.pleaseSelect') }]}
>
<Select
options={retrieveTypes.map(key => ({
label: t(`application.${key}`),
@@ -150,33 +150,35 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
onChange={(value) => form.setFieldValue('top_k', value)}
/>
</FormItem>
{/* Semantic similarity threshold */}
{/* Vector similarity weight */}
{values?.retrieve_type === 'semantic' && (
<FormItem
name="similarity_threshold"
label={t('application.similarity_threshold')}
extra={t('application.similarity_threshold_desc')}
initialValue={0.5}
>
<RbSlider
max={1.0}
step={0.1}
min={0.0}
/>
</FormItem>
)}
{/* Word segmentation matching threshold */}
{values?.retrieve_type === 'participle' && (
<FormItem
name="vector_similarity_weight"
label={t('application.vector_similarity_weight')}
extra={t('application.vector_similarity_weight_desc')}
initialValue={0.5}
>
<RbSlider
<RbSlider
max={1.0}
step={0.1}
min={0.0}
isInput={true}
/>
</FormItem>
)}
{/* Semantic similarity threshold */}
{values?.retrieve_type === 'participle' && (
<FormItem
name="similarity_threshold"
label={t('application.similarity_threshold')}
extra={t('application.similarity_threshold_desc')}
initialValue={0.5}
>
<RbSlider
max={1.0}
step={0.1}
min={0.0}
isInput={true}
/>
</FormItem>
)}
@@ -189,10 +191,11 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
extra={t('application.similarity_threshold_desc1')}
initialValue={0.5}
>
<RbSlider
<RbSlider
max={1.0}
step={0.1}
min={0.0}
isInput={true}
/>
</FormItem>
<FormItem
@@ -201,10 +204,11 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
extra={t('application.vector_similarity_weight_desc1')}
initialValue={0.5}
>
<RbSlider
<RbSlider
max={1.0}
step={0.1}
min={0.0}
isInput={true}
/>
</FormItem>
</>

View File

@@ -67,7 +67,7 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
useEffect(() => {
if (values?.retrieve_type) {
const fieldsToReset = Object.keys(values).filter(key =>
const fieldsToReset = Object.keys(values).filter(key =>
key !== 'kb_id' && key !== 'retrieve_type' && key !== 'top_k'
) as (keyof KnowledgeConfigForm)[];
form.resetFields(fieldsToReset);
@@ -91,7 +91,7 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
<Flex align="center" justify="space-between" className="rb:mb-6! rb-border rb:rounded-lg rb:p-[17px_16px]! rb:cursor-pointer rb:bg-[#F0F3F8] rb:text-[#212332]">
<div className="rb:text-[16px] rb:leading-5.5">
{data.name}
<div className="rb:text-[12px] rb:leading-4 rb:text-[#5B6167] rb:mt-2">{t('application.contains', {include_count: data.doc_num})}</div>
<div className="rb:text-[12px] rb:leading-4 rb:text-[#5B6167] rb:mt-2">{t('application.contains', { include_count: data.doc_num })}</div>
</div>
<div className="rb:text-[12px] rb:leading-4 rb:text-[#5B6167]">{formatDateTime(data.updated_at, 'YYYY-MM-DD HH:mm:ss')}</div>
</Flex>
@@ -104,13 +104,12 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
extra={t('application.retrieve_type_desc')}
rules={[{ required: true, message: t('common.pleaseSelect') }]}
>
<Select
options={retrieveTypes.map(key => ({
label: t(`application.${key}`),
value: key,
}))}
// onChange={handleChange}
/>
</FormItem>
{/* Top K */}
@@ -124,34 +123,18 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
style={{ width: '100%' }}
min={1}
max={20}
// onChange={(value) => form.setFieldValue('top_k', value)}
onChange={(value) => form.setFieldValue('top_k', value)}
/>
</FormItem>
{/* 语义相似度阈值 similarity_threshold */}
{/* Vector similarity weight */}
{values?.retrieve_type === 'semantic' && (
<FormItem
name="similarity_threshold"
label={t('application.similarity_threshold')}
extra={t('application.similarity_threshold_desc')}
initialValue={0.5}
>
<RbSlider
max={1.0}
step={0.1}
min={0.0}
isInput={true}
/>
</FormItem>
)}
{/* 分词匹配度阈值 vector_similarity_weight */}
{values?.retrieve_type === 'participle' && (
<FormItem
name="vector_similarity_weight"
label={t('application.vector_similarity_weight')}
extra={t('application.vector_similarity_weight_desc')}
initialValue={0.5}
>
<RbSlider
<RbSlider
max={1.0}
step={0.1}
min={0.0}
@@ -159,7 +142,23 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
/>
</FormItem>
)}
{/* 混合检索权重 */}
{/* similarity threshold */}
{values?.retrieve_type === 'participle' && (
<FormItem
name="similarity_threshold"
label={t('application.similarity_threshold')}
extra={t('application.similarity_threshold_desc')}
initialValue={0.5}
>
<RbSlider
max={1.0}
step={0.1}
min={0.0}
isInput={true}
/>
</FormItem>
)}
{/* Hybrid retrieval weight */}
{values?.retrieve_type === 'hybrid' && (
<>
<FormItem
@@ -168,7 +167,7 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
extra={t('application.similarity_threshold_desc1')}
initialValue={0.5}
>
<RbSlider
<RbSlider
max={1.0}
step={0.1}
min={0.0}
@@ -181,7 +180,7 @@ const KnowledgeConfigModal = forwardRef<KnowledgeConfigModalRef, KnowledgeConfig
extra={t('application.vector_similarity_weight_desc1')}
initialValue={0.5}
>
<RbSlider
<RbSlider
max={1.0}
step={0.1}
min={0.0}