import type { RunningStatus } from '@/constants/knowledge'; /** * 知识库接口定义 * 包含知识库的基本信息、配置和状态 */ 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: ParserConfig; /** 解析器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功能 */ export interface Raptor { /** 是否使用Raptor */ use_raptor: boolean; } /** * 解析器配置接口 * 定义文档解析的各种参数和选项 */ export interface ParserConfig { /** 起始页码,可选 */ 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?: Raptor; /** 标签知识库ID列表,可选 */ tag_kb_ids?: string[]; /** 顶部标签数量,可选 */ topn_tags?: number; /** GraphRAG配置,可选 */ graphrag?: { use_graphrag?: boolean }; } /** * 知识库文件解析器配置接口 * 定义文件解析的具体参数 */ 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; } /** * 测试文档块接口 * 用于知识库测试和检索的文档块信息 */ 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; } /** * 下一代测试结果接口 * 改进版本的知识库测试结果 */ export interface INextTestingResult { /** 匹配的文档块列表 */ chunks: ITestingChunk[]; /** 文档聚合统计 */ doc_aggs: ITestingDocument[]; /** 总匹配数量 */ total: number; /** 标签统计,可选 */ labels?: Record; /** 是否已运行,可选 */ isRuned?: boolean; } /** * 重命名标签类型 * 用于标签重命名操作 */ export type IRenameTag = { /** 原标签名 */ fromTag: string; /** 新标签名 */ toTag: string; }; /** * 知识图谱接口 * 定义知识库的图谱结构 */ export interface IKnowledgeGraph { /** 图谱数据结构 */ graph: Record; /** 思维导图数据(已注释) */ // mind_map: TreeData; }