- Add accordion sections for general, page rank, RAPTOR, and GraphRAG configurations - Implement detailed form controls for each configuration section - Update parser config interfaces to support new configuration options
450 lines
11 KiB
TypeScript
450 lines
11 KiB
TypeScript
import type { RunningStatus } from '@/constants/knowledge';
|
||
|
||
|
||
/**
|
||
{
|
||
"avatar": "data:image/png;base64,iVBORw0K
|
||
"chunk_num": 1180,
|
||
"create_time": 1759986452748,
|
||
"description": " 213213",
|
||
"doc_num": 16,
|
||
"embd_id": "",
|
||
"id": "dcc2871aa4cd11f08d4116ac85b1de0a",
|
||
"language": "English",
|
||
"name": "k1123",
|
||
"pagerank": 0,
|
||
"parser_config": {
|
||
"auto_keywords": 0,
|
||
"auto_questions": 0,
|
||
"chunk_token_num": 512,
|
||
"delimiter": "\n",
|
||
"graphrag": {
|
||
"entity_types": [
|
||
"organization",
|
||
"person",
|
||
"geo",
|
||
"event",
|
||
"category"
|
||
],
|
||
"method": "light",
|
||
"use_graphrag": true
|
||
},
|
||
"html4excel": false,
|
||
"layout_recognize": "Plain Text",
|
||
"raptor": {
|
||
"max_cluster": 64,
|
||
"max_token": 256,
|
||
"prompt": "\u8bf7\u603b\u7ed3\u4ee5\u4e0b\u6bb5\u843d\u3002 \u5c0f\u5fc3\u6570\u5b57\uff0c\u4e0d\u8981\u7f16\u9020\u3002 \u6bb5\u843d\u5982\u4e0b\uff1a\n {cluster_content}\n\u4ee5\u4e0a\u5c31\u662f\u4f60\u9700\u8981\u603b\u7ed3\u7684\u5185\u5bb9\u3002",
|
||
"random_seed": 0,
|
||
"threshold": 0.1,
|
||
"use_raptor": false
|
||
},
|
||
"topn_tags": 3
|
||
},
|
||
"parser_id": "naive",
|
||
"permission": "team",
|
||
"size": 56819092,
|
||
"token_num": 293067,
|
||
"update_time": 1760436169574
|
||
}
|
||
*/
|
||
|
||
|
||
|
||
/**
|
||
* 知识库接口定义
|
||
* 包含知识库的基本信息、配置和状态
|
||
*/
|
||
export interface IKnowledge {
|
||
/** 知识库头像,可选字段 */
|
||
avatar?: any;
|
||
/** 知识库中的文档块数量 */
|
||
chunk_num: number;
|
||
/** 创建日期(字符串格式) */
|
||
create_date: string;
|
||
/** 创建时间戳 */
|
||
create_time: number;
|
||
/** 创建者ID */
|
||
created_by: string;
|
||
/** 知识库描述 */
|
||
description: string;
|
||
/** 知识库中的文档数量 */
|
||
doc_num: number;
|
||
/** 知识库语言 */
|
||
language: string;
|
||
/** 知识库唯一标识符 */
|
||
id: string;
|
||
/** 知识库名称 */
|
||
name: string;
|
||
/** 解析器配置 */
|
||
parser_config: IParserConfig;
|
||
/** 解析器ID */
|
||
parser_id: string;
|
||
/** 管道ID */
|
||
pipeline_id: string;
|
||
/** 管道名称 */
|
||
pipeline_name: string;
|
||
/** 管道头像 */
|
||
pipeline_avatar: string;
|
||
/** 权限设置 */
|
||
permission: string;
|
||
/** 相似度阈值 */
|
||
similarity_threshold: number;
|
||
/** 知识库状态 */
|
||
status: string;
|
||
/** 租户ID */
|
||
tenant_id: string;
|
||
/** 令牌数量 */
|
||
token_num: number;
|
||
/** 更新日期(字符串格式) */
|
||
update_date: string;
|
||
/** 更新时间戳 */
|
||
update_time: number;
|
||
/** 向量相似度权重 */
|
||
vector_similarity_weight: number;
|
||
/** 嵌入模型ID */
|
||
embd_id: string;
|
||
/** 昵称 */
|
||
nickname: string;
|
||
/** 操作权限级别 */
|
||
operator_permission: number;
|
||
/** 知识库大小(字节) */
|
||
size: number;
|
||
/** Raptor任务完成时间,可选 */
|
||
raptor_task_finish_at?: string;
|
||
/** Raptor任务ID,可选 */
|
||
raptor_task_id?: string;
|
||
/** 思维导图任务完成时间,可选 */
|
||
mindmap_task_finish_at?: string;
|
||
/** 思维导图任务ID,可选 */
|
||
mindmap_task_id?: string;
|
||
}
|
||
|
||
/**
|
||
* 知识库查询结果接口
|
||
* 包含知识库列表和总数
|
||
*/
|
||
export interface IKnowledgeResult {
|
||
/** 知识库列表 */
|
||
kbs: IKnowledge[];
|
||
/** 知识库总数 */
|
||
total: number;
|
||
}
|
||
|
||
/**
|
||
* Raptor配置接口
|
||
* 用于配置是否启用Raptor功能
|
||
{
|
||
"max_cluster": 64,
|
||
"max_token": 256,
|
||
"prompt": "\u8bf7\u603b\u7ed3\u4ee5\u4e0b\u6bb5\u843d\u3002
|
||
\u5c0f\u5fc3\u6570\u5b57\uff0c\u4e0d\u8981\u7f16\u9020\u3002 \u6bb5\u843d\u5982\u4e0b\uff1a\n
|
||
{cluster_content}\n\u4ee5\u4e0a\u5c31\u662f\u4f60\u9700\u8981\u603b\u7ed3\u7684\u5185\u5bb9\u3002",
|
||
"random_seed": 0,
|
||
"threshold": 0.1,
|
||
"use_raptor": false
|
||
}
|
||
*/
|
||
export interface IRaptor {
|
||
/** 是否使用Raptor */
|
||
use_raptor: boolean;
|
||
/** 最大集群数,可选 */
|
||
max_cluster?: number;
|
||
/** 最大令牌数,可选 */
|
||
max_token?: number;
|
||
/** 提示模板,可选 */
|
||
prompt?: string;
|
||
/** 随机种子,可选 */
|
||
random_seed?: number;
|
||
/** 阈值,可选 */
|
||
threshold?: number;
|
||
}
|
||
|
||
/**
|
||
* GraphRAG配置接口
|
||
* 用于配置是否启用GraphRAG功能
|
||
{
|
||
"entity_types": [
|
||
"organization",
|
||
"person",
|
||
"geo",
|
||
"event",
|
||
"category"
|
||
],
|
||
"method": "light",
|
||
"use_graphrag": true
|
||
}
|
||
*/
|
||
export interface IGraphrag {
|
||
use_graphrag: boolean;
|
||
/** 实体类型列表,可选 */
|
||
entity_types?: string[];
|
||
/** 方法,可选 */
|
||
method?: string;
|
||
}
|
||
|
||
/**
|
||
* 解析器配置接口
|
||
* 定义文档解析的各种参数和选项
|
||
*/
|
||
export interface IParserConfig {
|
||
/** 起始页码,可选 */
|
||
from_page?: number;
|
||
/** 结束页码,可选 */
|
||
to_page?: number;
|
||
/** 自动关键词数量,可选 */
|
||
auto_keywords?: number;
|
||
/** 自动问题数量,可选 */
|
||
auto_questions?: number;
|
||
/** 每个文档块的令牌数量,可选 */
|
||
chunk_token_num?: number;
|
||
/** 分隔符,可选 */
|
||
delimiter?: string;
|
||
/** 是否将HTML转换为Excel格式,可选 */
|
||
html4excel?: boolean;
|
||
/** 是否启用布局识别,可选 */
|
||
layout_recognize?: boolean;
|
||
/** Raptor配置,可选 */
|
||
raptor?: IRaptor;
|
||
/** 标签知识库ID列表,可选 */
|
||
tag_kb_ids?: string[];
|
||
/** 顶部标签数量,可选 */
|
||
topn_tags?: number;
|
||
/** GraphRAG配置,可选 */
|
||
graphrag?: IGraphrag;
|
||
}
|
||
|
||
/**
|
||
* 知识库文件解析器配置接口
|
||
* 定义文件解析的具体参数
|
||
*/
|
||
export interface IKnowledgeFileParserConfig {
|
||
/** 每个文档块的令牌数量 */
|
||
chunk_token_num: number;
|
||
/** 是否启用布局识别 */
|
||
layout_recognize: boolean;
|
||
/** 页面范围数组 */
|
||
pages: number[][];
|
||
/** 任务页面大小 */
|
||
task_page_size: number;
|
||
}
|
||
|
||
/**
|
||
* 知识库文件接口
|
||
* 定义知识库中单个文件的信息和状态
|
||
*/
|
||
export interface IKnowledgeFile {
|
||
/** 文件中的文档块数量 */
|
||
chunk_num: number;
|
||
/** 创建日期(字符串格式) */
|
||
create_date: string;
|
||
/** 创建时间戳 */
|
||
create_time: number;
|
||
/** 创建者ID */
|
||
created_by: string;
|
||
/** 文件唯一标识符 */
|
||
id: string;
|
||
/** 所属知识库ID */
|
||
kb_id: string;
|
||
/** 文件存储位置 */
|
||
location: string;
|
||
/** 文件名称 */
|
||
name: string;
|
||
/** 解析器ID */
|
||
parser_id: string;
|
||
/** 处理开始时间,可选 */
|
||
process_begin_at?: any;
|
||
/** 处理持续时间 */
|
||
process_duration: number;
|
||
/** 解析进度百分比 */
|
||
progress: number;
|
||
/** 解析进度消息 */
|
||
progress_msg: string;
|
||
/** 解析运行状态 */
|
||
run: RunningStatus;
|
||
/** 文件大小(字节) */
|
||
size: number;
|
||
/** 文件来源类型 */
|
||
source_type: string;
|
||
/** 文件状态(1 启用/ 0 禁用) */
|
||
status: string;
|
||
/** 文件缩略图(base64编码),可选 */
|
||
thumbnail?: any;
|
||
/** 文件中的令牌数量 */
|
||
token_num: number;
|
||
/** 文件类型 */
|
||
type: string;
|
||
/** 更新日期(字符串格式) */
|
||
update_date: string;
|
||
/** 更新时间戳 */
|
||
update_time: number;
|
||
/** 解析器配置 */
|
||
parser_config: IKnowledgeFileParserConfig;
|
||
}
|
||
|
||
/**
|
||
* 租户信息接口
|
||
* 定义租户的各种服务配置
|
||
*/
|
||
export interface ITenantInfo {
|
||
/** 自动语音识别服务ID */
|
||
asr_id: string;
|
||
/** 嵌入模型服务ID */
|
||
embd_id: string;
|
||
/** 图像转文本服务ID */
|
||
img2txt_id: string;
|
||
/** 大语言模型服务ID */
|
||
llm_id: string;
|
||
/** 租户名称 */
|
||
name: string;
|
||
/** 解析器ID列表 */
|
||
parser_ids: string;
|
||
/** 租户角色 */
|
||
role: string;
|
||
/** 租户ID */
|
||
tenant_id: string;
|
||
/** 聊天服务ID */
|
||
chat_id: string;
|
||
/** 语音转文本服务ID */
|
||
speech2text_id: string;
|
||
/** 文本转语音服务ID */
|
||
tts_id: string;
|
||
}
|
||
|
||
/**
|
||
* 文档块接口
|
||
* 定义知识库中单个文档块的信息
|
||
*/
|
||
export interface IChunk {
|
||
/** 是否启用,0:未启用,1:启用 */
|
||
available_int: number;
|
||
/** 文档块唯一标识符 */
|
||
chunk_id: string;
|
||
/** 带权重的内容 */
|
||
content_with_weight: string;
|
||
/** 所属文档ID */
|
||
doc_id: string;
|
||
/** 所属文档名称 */
|
||
doc_name: string;
|
||
/** 关联图像ID */
|
||
image_id: string;
|
||
/** 重要关键词列表,可选 */
|
||
important_kwd?: string[];
|
||
/** 问题关键词列表,可选 */
|
||
question_kwd?: string[];
|
||
/** 标签关键词列表,可选 */
|
||
tag_kwd?: string[];
|
||
/** 位置信息数组 */
|
||
positions: number[][];
|
||
/** 标签特征映射,可选 */
|
||
tag_feas?: Record<string, number>;
|
||
}
|
||
|
||
/**
|
||
* 测试文档块接口
|
||
* 用于知识库测试和检索的文档块信息
|
||
*/
|
||
export interface ITestingChunk {
|
||
/** 文档块唯一标识符 */
|
||
chunk_id: string;
|
||
/** 内容的LTKS表示 */
|
||
content_ltks: string;
|
||
/** 带权重的内容 */
|
||
content_with_weight: string;
|
||
/** 所属文档ID */
|
||
doc_id: string;
|
||
/** 所属文档名称 */
|
||
doc_name: string;
|
||
/** 图像ID(旧字段) */
|
||
img_id: string;
|
||
/** 图像ID */
|
||
image_id: string;
|
||
/** 重要关键词列表 */
|
||
important_kwd: any[];
|
||
/** 所属知识库ID */
|
||
kb_id: string;
|
||
/** 相似度分数 */
|
||
similarity: number;
|
||
/** 词汇相似度分数 */
|
||
term_similarity: number;
|
||
/** 向量表示 */
|
||
vector: number[];
|
||
/** 向量相似度分数 */
|
||
vector_similarity: number;
|
||
/** 高亮显示的内容 */
|
||
highlight: string;
|
||
/** 位置信息数组 */
|
||
positions: number[][];
|
||
/** 文档名称关键词 */
|
||
docnm_kwd: string;
|
||
/** 文档类型关键词 */
|
||
doc_type_kwd: string;
|
||
}
|
||
|
||
/**
|
||
* 测试文档接口
|
||
* 用于知识库测试的文档统计信息
|
||
*/
|
||
export interface ITestingDocument {
|
||
/** 文档中的块数量 */
|
||
count: number;
|
||
/** 文档ID */
|
||
doc_id: string;
|
||
/** 文档名称 */
|
||
doc_name: string;
|
||
}
|
||
|
||
/**
|
||
* 测试结果接口
|
||
* 知识库测试的完整结果
|
||
*/
|
||
export interface ITestingResult {
|
||
/** 匹配的文档块列表 */
|
||
chunks: ITestingChunk[];
|
||
/** 匹配的文档列表 */
|
||
documents: ITestingDocument[];
|
||
/** 总匹配数量 */
|
||
total: number;
|
||
/** 标签统计,可选 */
|
||
labels?: Record<string, number>;
|
||
}
|
||
|
||
/**
|
||
* 下一代测试结果接口
|
||
* 改进版本的知识库测试结果
|
||
*/
|
||
export interface INextTestingResult {
|
||
/** 匹配的文档块列表 */
|
||
chunks: ITestingChunk[];
|
||
/** 文档聚合统计 */
|
||
doc_aggs: ITestingDocument[];
|
||
/** 总匹配数量 */
|
||
total: number;
|
||
/** 标签统计,可选 */
|
||
labels?: Record<string, number>;
|
||
/** 是否已运行,可选 */
|
||
isRuned?: boolean;
|
||
}
|
||
|
||
/**
|
||
* 重命名标签类型
|
||
* 用于标签重命名操作
|
||
*/
|
||
export type IRenameTag = {
|
||
/** 原标签名 */
|
||
fromTag: string;
|
||
/** 新标签名 */
|
||
toTag: string;
|
||
};
|
||
|
||
/**
|
||
* 知识图谱接口
|
||
* 定义知识库的图谱结构
|
||
*/
|
||
export interface IKnowledgeGraph {
|
||
/** 图谱数据结构 */
|
||
graph: Record<string, any>;
|
||
/** 思维导图数据(已注释) */
|
||
// mind_map: TreeData;
|
||
}
|