UNPKG

dify-sdk

Version:
334 lines (333 loc) 9.95 kB
/** HTTP 服务配置 */ export interface HttpClientServiceConfig { baseUrl: string; apiKey: string; defaultHeaders?: Record<string, string>; } export interface GetUploadFileParams { /** 知识库ID */ dataset_id: string; /** 文档ID */ document_id: string; } export interface CreateDocumentByTextParams { /** 知识库ID */ dataset_id: string; /** 文档名称 */ name: string; /** 文档内容 */ text: string; /** 索引方式 */ indexing_technique?: 'high_quality' | 'economy'; /** 索引内容的形式 */ doc_form?: 'text_model' | 'hierarchical_model' | 'qa_model'; /** 文档语言 (Q&A模式下使用) */ doc_language?: string; /** 处理规则 */ process_rule?: { mode: 'automatic' | 'custom'; rules?: { pre_processing_rules?: Array<{ id: 'remove_extra_spaces' | 'remove_urls_emails'; enabled: boolean; }>; segmentation?: { separator?: string; max_tokens?: number; parent_mode?: 'full-doc' | 'paragraph'; }; subchunk_segmentation?: { separator?: string; max_tokens?: number; chunk_overlap?: number; }; }; }; /** 检索模式 */ retrieval_model?: { search_method: 'hybrid_search' | 'semantic_search' | 'full_text_search'; reranking_enable?: boolean; reranking_mode?: 'weighted_score'; reranking_model?: { reranking_provider_name: string; reranking_model_name: string; }; top_k?: number; score_threshold_enabled?: boolean; score_threshold?: number; }; /** Embedding 模型名称 */ embedding_model?: string; /** Embedding 模型供应商 */ embedding_model_provider?: string; } export interface CreateDocumentByTextResponse { document: { id: string; position: number; data_source_type: string; data_source_info: { upload_file_id: string; }; dataset_process_rule_id: string; name: string; created_from: string; created_by: string; created_at: number; tokens: number; indexing_status: string; error: null | string; enabled: boolean; disabled_at: null | number; disabled_by: null | string; archived: boolean; display_status: string; word_count: number; hit_count: number; doc_form: string; }; batch: string; } export interface CreateDocumentByFileParams { /** 知识库ID */ dataset_id: string; /** 需要上传的文件 */ file: File; /** 源文档ID(选填,用于更新文档) */ original_document_id?: string; /** 索引方式 */ indexing_technique?: 'high_quality' | 'economy'; /** 索引内容的形式 */ doc_form?: 'text_model' | 'hierarchical_model' | 'qa_model'; /** 文档语言 (Q&A模式下使用) */ doc_language?: string; /** 处理规则 */ process_rule?: { mode: 'automatic' | 'custom'; rules?: { pre_processing_rules?: Array<{ id: 'remove_extra_spaces' | 'remove_urls_emails'; enabled: boolean; }>; segmentation?: { separator?: string; max_tokens?: number; parent_mode?: 'full-doc' | 'paragraph'; }; subchunk_segmentation?: { separator?: string; max_tokens?: number; chunk_overlap?: number; }; }; }; /** 检索模式 */ retrieval_model?: { search_method: 'hybrid_search' | 'semantic_search' | 'full_text_search'; reranking_enable?: boolean; reranking_mode?: 'weighted_score'; reranking_model?: { reranking_provider_name: string; reranking_model_name: string; }; top_k?: number; score_threshold_enabled?: boolean; score_threshold?: number; }; /** Embedding 模型名称 */ embedding_model?: string; /** Embedding 模型供应商 */ embedding_model_provider?: string; } export interface CreateDocumentByFileResponse { document: { id: string; position: number; data_source_type: string; data_source_info: { upload_file_id: string; }; dataset_process_rule_id: string; name: string; created_from: string; created_by: string; created_at: number; tokens: number; indexing_status: string; error: null | string; enabled: boolean; disabled_at: null | number; disabled_by: null | string; archived: boolean; display_status: string; word_count: number; hit_count: number; doc_form: string; }; batch: string; } export interface CreateDatasetParams { /** 知识库名称 */ name: string; /** 知识库描述 */ description?: string; /** 索引模式 */ indexing_technique?: 'high_quality' | 'economy'; /** 权限设置 */ permission?: 'only_me' | 'all_team_members' | 'partial_members'; /** 知识库提供方 */ provider?: 'vendor' | 'external'; /** 外部知识库 API_ID */ external_knowledge_api_id?: string; /** 外部知识库 ID */ external_knowledge_id?: string; /** Embedding 模型名称 */ embedding_model?: string; /** Embedding 模型供应商 */ embedding_provider_name?: string; /** 检索模式配置 */ retrieval_model?: { search_method: 'hybrid_search' | 'semantic_search' | 'full_text_search'; reranking_enable?: boolean; reranking_model?: { reranking_provider_name: string; reranking_model_name: string; }; top_k?: number; score_threshold_enabled?: boolean; score_threshold?: number; }; } export interface DatasetInfo { id: string; name: string; description: string | null; provider: string; permission: string; data_source_type: string | null; indexing_technique: string | null; app_count: number; document_count: number; word_count: number; created_by: string; created_at: number; updated_by: string; updated_at: number; embedding_model: string | null; embedding_model_provider: string | null; embedding_available: boolean | null; } export interface ListDatasetsParams { /** 搜索关键词 */ keyword?: string; /** 标签 ID 列表 */ tag_ids?: string[]; /** 页码 */ page?: number; /** 每页返回条数 */ limit?: number; /** 是否包含所有数据集(仅对所有者生效) */ include_all?: boolean; } export interface DatasetListItem { id: string; name: string; description: string; permission: string; data_source_type: string; indexing_technique: string; app_count: number; document_count: number; word_count: number; created_by: string; created_at: string; updated_by: string; updated_at: string; } export interface ListDatasetsResponse { data: DatasetListItem[]; has_more: boolean; limit: number; total: number; page: number; } export interface DatasetDetail { id: string; name: string; description: string; provider: string; permission: string; data_source_type: string | null; indexing_technique: string | null; app_count: number; document_count: number; word_count: number; created_by: string; created_at: number; updated_by: string; updated_at: number; embedding_model: string | null; embedding_model_provider: string | null; embedding_available: boolean; retrieval_model_dict: { search_method: string; reranking_enable: boolean; reranking_mode: string | null; reranking_model: { reranking_provider_name: string; reranking_model_name: string; }; weights: any | null; top_k: number; score_threshold_enabled: boolean; score_threshold: number | null; }; tags: string[]; doc_form: string | null; external_knowledge_info: { external_knowledge_id: string | null; external_knowledge_api_id: string | null; external_knowledge_api_name: string | null; external_knowledge_api_endpoint: string | null; }; external_retrieval_model: { top_k: number; score_threshold: number; score_threshold_enabled: boolean | null; }; } export declare class DifyDataset { private config; constructor(config: HttpClientServiceConfig); getUploadFile(params: GetUploadFileParams): Promise<any>; /** * 通过文本创建文档 * @param params 创建文档参数 * @returns 创建结果 */ createDocumentByText(params: CreateDocumentByTextParams): Promise<CreateDocumentByTextResponse>; /** * 通过文件创建文档 * @param params 创建文档参数 * @returns 创建结果 */ createDocumentByFile(params: CreateDocumentByFileParams): Promise<CreateDocumentByFileResponse>; /** * 创建空知识库 * @param params 创建知识库参数 * @returns 创建的知识库信息 */ createDataset(params: CreateDatasetParams): Promise<DatasetInfo>; /** * 获取知识库列表 * @param params 查询参数 * @returns 知识库列表响应 */ listDatasets(params?: ListDatasetsParams): Promise<ListDatasetsResponse>; /** * 获取知识库详情 * @param dataset_id 知识库ID * @returns 知识库详细信息 */ getDataset(dataset_id: string): Promise<DatasetDetail>; }