UNPKG

@re-ai/volc-knowledge

Version:

火山引擎知识库接口接入SDK

434 lines (371 loc) 7.25 kB
/** * 知识库列表请求参数 */ export interface ListKnowledgeRequest { /** * 知识库所属项目 */ project?: string; /** * 是否查询和返回索引状态 * @default false */ brief?: boolean; } /** * 知识库列表响应数据 */ export interface ListKnowledgeResponse { /** * 知识库总数 */ total_num: number; /** * 知识库列表 */ collection_list: Array<KnowledgeInfo>; /** * 资源ID */ resource_id?: string; /** * 项目名称 */ project?: string; } /** * 知识库基本信息 */ export interface KnowledgeInfo { /** * 知识库名称 */ collection_name: string; /** * 描述 */ description: string; /** * 创建时间 */ create_time: number; /** * 更新时间 */ update_time: number; /** * 创建者 */ creator: string; /** * 数据处理管道列表 */ pipeline_list: Array<PipelineInfo>; /** * 数据类型 */ data_type: string; } /** * 数据处理管道信息 */ export interface PipelineInfo { /** * 管道类型 */ pipeline_type: string; /** * 管道状态 */ pipeline_stat: { doc_num: number; finish_doc_num: number; point_num: number; success_doc_num: number; }; /** * 索引列表 */ index_list: Array<IndexInfo>; /** * 预处理列表 */ preprocessing_list: Array<PreprocessingInfo>; /** * 表配置列表 */ table_config_list: Array<TableConfig>; } /** * 索引信息 */ export interface IndexInfo { /** * 索引类型 */ index_type: string; /** * 索引配置 */ index_config: { vector_field: { field_name: string; field_type: string; dim: number; }; sparse_vector_field: { field_name: string; field_type: string; }; cpu_quota: number; distance: string; quant: string; embedding_model: string; embedding_dimension: number; need_instruction: boolean; fields: Array<{ field_name: string; field_type: string; }>; }; /** * 主键 */ primary_key: string; /** * 状态 */ status: number; } /** * 预处理信息 */ export interface PreprocessingInfo { /** * 分块策略 */ chunking_strategy: string; /** * 分块标识符 */ chunking_identifier: string | null; /** * 分块长度 */ chunk_length: number; } /** * 表配置信息 */ export interface TableConfig { /** * 表类型 */ table_type: string; /** * 表位置 */ table_pos: number; /** * 起始位置 */ start_pos: number; /** * 表字段 */ table_fields: Array<{ field_name: string; field_type: string; if_embedding: boolean; if_filter: boolean; }>; } export type CreateKnowledgeRequestDataType = 'unstructured_data' | 'structured_data'; // 默认值为 'unstructured_data' export type CreateKnowledgeRequestPreprocessing = { chunking_strategy: 'custom_balance' | 'custom'; chunking_identifier?: string[] chunk_length?: number; // 默认500 merge_small_chunks?: boolean; // 是否合并短文本片, 默认true multi_modal?: string; // 图片召回策略 } // 当 data_type为“structured_data”时生效 export type CreateKnowledgeRequestTableConfig = { table_type?: string; table_pos?: number; start_pos?: number; table_fields?: Array<{ field_name: string; field_type: string; if_embedding?: boolean; if_filter?: boolean; }>; } export type CreateKnowledgeRequestIndex = { index_type?: "hnsw_hybrid" | 'hnsw' | 'flat'; // 推荐选择 “hnsw_hybrid”,能够兼具对关键词和语义的理解,综合提高检索精度 index_config?: { fields?: Array<{ field_name: string; field_type: string; default_val?: string; }>; cpu_quota?: number; // 默认1 embedding_model?: string | 'doubao-embedding-and-m3'; embedding_dimension?: number; quant?: string | 'float' | 'int8' | 'fix16'; }; } /** * 知识库创建请求参数 */ export interface CreateKnowledgeRequest { /** * 知识库名称 */ name: string; /** * 知识库所属项目 */ project?: string; /** * 知识库描述 */ description?: string; /** * 数据类型 */ data_type?: CreateKnowledgeRequestDataType; /** * 预处理配置 */ preprocessing?: CreateKnowledgeRequestPreprocessing; /** * 表配置 */ table_config?: CreateKnowledgeRequestTableConfig; /** * 索引配置 */ index?: CreateKnowledgeRequestIndex } /** * 知识库创建响应数据 */ export interface CreateKnowledgeResponse { /** * 资源ID */ resource_id: string; } /** * 知识库详情响应数据 */ export interface InfoKnowledgeResponse { /** * 知识库名称 */ collection_name: string; /** * 描述 */ description: string; /** * 文档数 */ doc_num: number; /** * 创建时间 */ create_time: number; /** * 更新时间 */ update_time: number; /** * 创建者 */ creator: string; /** * 数据处理管道列表 */ pipeline_list: PipelineInfo[]; /** * 数据类型 */ data_type: string; /** * 资源ID */ resource_id: string; /** * 项目名称 */ project: string; } /** * 知识库详情请求参数 */ export interface InfoKnowledgeRequest { /** * 知识库名称 */ name: string; /** * 知识库所属项目 */ project?: string; /** * 资源ID */ resource_id?: string; } /** * 知识库更新请求参数 */ /** * 知识库删除请求参数 */ export interface DeleteKnowledgeRequest { /** * 知识库名称 */ name?: string; /** * 知识库所属项目 * @default "default" */ project?: string; /** * 知识库资源ID */ resource_id?: string; } export interface UpdateKnowledgeRequest { /** * 知识库名称 */ name?: string; /** * 知识库所属项目 */ project?: string; /** * 资源ID */ resource_id?: string; /** * 知识库描述 */ description?: string; /** * CPU配额 */ cpu_quota?: number; /** * 标签列表 */ fields?: Array<{ field_name: string; field_type: string; default_val?: string; }>; }