@re-ai/volc-knowledge
Version:
火山引擎知识库接口接入SDK
434 lines (371 loc) • 7.25 kB
text/typescript
/**
* 知识库列表请求参数
*/
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;
}>;
}