Files
TERES_web_frontend/src/services/knowledge_service.ts
guangfei.zhao 650c41dc41 refactor(layout): migrate styled components to sx prop in Header and Sidebar
feat(pages): add new KnowledgeBaseList and Login pages with complete functionality

feat(services): implement knowledge service with comprehensive API methods

feat(hooks): add login hooks for authentication and form management
2025-10-11 11:31:24 +08:00

286 lines
7.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import api from './api';
import request, { post } from '@/utils/request';
import type {
IFetchKnowledgeListRequestBody,
IFetchKnowledgeListRequestParams,
IFetchDocumentListRequestBody,
ITestRetrievalRequestBody,
} from '@/interfaces/request/knowledge';
import type {
IKnowledge,
IKnowledgeFile,
IChunk,
IRenameTag,
ParserConfig,
} from '@/interfaces/database/knowledge';
// 知识库相关API服务
const knowledgeService = {
// ===== 知识库管理 =====
// 获取知识库列表
getKnowledgeList: (
params?: IFetchKnowledgeListRequestParams,
body?: IFetchKnowledgeListRequestBody
) => {
return request.post(api.kb_list, { data: body || {}, params });
},
// 创建知识库
createKnowledge: (data: Partial<IKnowledge>) => {
return post(api.create_kb, data);
},
// 更新知识库
updateKnowledge: (data: Partial<IKnowledge>) => {
return post(api.update_kb, data);
},
// 删除知识库
removeKnowledge: (data: { kb_id: string }) => {
return post(api.rm_kb, data);
},
// 获取知识库详情
getKnowledgeDetail: (params: { kb_id: string }) => {
return request.get(api.get_kb_detail, { params });
},
// 获取知识库基本信息
getKnowledgeBasicInfo: (params: { kb_id: string }) => {
return request.get(api.getKnowledgeBasicInfo, { params });
},
// 获取知识库元数据
getKnowledgeMeta: (params: { kb_id: string }) => {
return request.get(api.getMeta, { params });
},
// ===== 文档管理 =====
// 获取文档列表
getDocumentList: (
params?: IFetchKnowledgeListRequestParams,
body?: IFetchDocumentListRequestBody
) => {
return request.post(api.get_document_list, { data: body || {}, params });
},
// 创建文档
createDocument: (data: any) => {
return post(api.document_create, data);
},
// 上传文档
uploadDocument: (data: FormData) => {
return post(api.document_upload, data);
},
// 上传并解析文档
uploadAndParseDocument: (data: FormData) => {
return post(api.upload_and_parse, data);
},
// 解析文档
parseDocument: (data: any) => {
return post(api.parse, data);
},
// 重命名文档
renameDocument: (data: { doc_id: string; name: string }) => {
return post(api.document_rename, data);
},
// 删除文档
removeDocument: (data: { doc_ids: string[] }) => {
return post(api.document_rm, data);
},
// 删除文档DELETE方法
deleteDocument: (doc_id: string) => {
return request.delete(`${api.document_delete}/${doc_id}`);
},
// 更改文档状态
changeDocumentStatus: (data: { doc_ids: string[]; status: string }) => {
return post(api.document_change_status, data);
},
// 运行文档处理
runDocument: (data: { doc_ids: string[] }) => {
return post(api.document_run, data);
},
// 更改文档解析器
changeDocumentParser: (data: { doc_id: string; parser_config: ParserConfig }) => {
return post(api.document_change_parser, data);
},
// 获取文档缩略图
getDocumentThumbnails: (params: { doc_id: string }) => {
return request.get(api.document_thumbnails, { params });
},
// 获取文档文件
getDocumentFile: (params: { doc_id: string }) => {
return request.get(api.get_document_file, { params });
},
// 获取文档信息
getDocumentInfos: (data: { doc_ids: string[] }) => {
return post(api.document_infos, data);
},
// 设置文档元数据
setDocumentMeta: (data: any) => {
return post(api.setMeta, data);
},
// 网页爬取
webCrawl: (data: { url: string; kb_id: string }) => {
return post(api.web_crawl, data);
},
// 获取文档过滤器
getDocumentFilter: (data: { kb_id: string }) => {
return post(api.get_dataset_filter, data);
},
// ===== 分块管理 =====
// 获取分块列表
getChunkList: (data: any) => {
return post(api.chunk_list, data);
},
// 创建分块
createChunk: (data: Partial<IChunk>) => {
return post(api.create_chunk, data);
},
// 更新分块
updateChunk: (data: Partial<IChunk>) => {
return post(api.set_chunk, data);
},
// 获取分块详情
getChunk: (params: { chunk_id: string }) => {
return request.get(api.get_chunk, { params });
},
// 切换分块状态
switchChunk: (data: { chunk_ids: string[]; available_int: number }) => {
return post(api.switch_chunk, data);
},
// 删除分块
removeChunk: (data: { chunk_ids: string[] }) => {
return post(api.rm_chunk, data);
},
// ===== 检索测试 =====
// 检索测试
retrievalTest: (data: ITestRetrievalRequestBody) => {
return post(api.retrieval_test, data);
},
// 外部检索测试
retrievalTestShare: (data: ITestRetrievalRequestBody) => {
return post(api.retrievalTestShare, data);
},
// ===== 知识图谱 =====
// 获取知识图谱
getKnowledgeGraph: (knowledgeId: string) => {
return request.get(api.getKnowledgeGraph(knowledgeId));
},
// 删除知识图谱
deleteKnowledgeGraph: (knowledgeId: string) => {
return request.delete(api.getKnowledgeGraph(knowledgeId));
},
// 获取分块知识图谱
getChunkKnowledgeGraph: (params: { chunk_id: string }) => {
return request.get(api.knowledge_graph, { params });
},
// ===== 标签管理 =====
// 获取标签列表
getTagList: (knowledgeId: string) => {
return request.get(api.listTag(knowledgeId));
},
// 根据知识库ID获取标签
getTagsByKnowledgeIds: (params: { kb_ids: string[] }) => {
return request.get(api.listTagByKnowledgeIds, { params });
},
// 删除标签
removeTag: (knowledgeId: string, tags: string[]) => {
return post(api.removeTag(knowledgeId), { tags });
},
// 重命名标签
renameTag: (knowledgeId: string, { fromTag, toTag }: IRenameTag) => {
return post(api.renameTag(knowledgeId), { fromTag, toTag });
},
// ===== 数据管道 =====
// 获取数据管道日志
getDataPipelineLog: (
params?: IFetchKnowledgeListRequestParams,
body?: IFetchDocumentListRequestBody
) => {
return request.post(api.fetchDataPipelineLog, { data: body || {}, params });
},
// 获取管道详情
getPipelineDetail: (params: { task_id: string }) => {
return request.get(api.get_pipeline_detail, { params });
},
// 获取管道数据集日志
getPipelineDatasetLogs: (
params?: IFetchKnowledgeListRequestParams,
body?: IFetchDocumentListRequestBody
) => {
return request.post(api.fetchPipelineDatasetLogs, { data: body || {}, params });
},
// 运行GraphRAG
runGraphRag: (data: { kb_id: string }) => {
return post(api.runGraphRag, data);
},
// 跟踪GraphRAG
traceGraphRag: (params: { kb_id: string }) => {
return request.get(api.traceGraphRag, { params });
},
// 运行Raptor
runRaptor: (data: { kb_id: string }) => {
return post(api.runRaptor, data);
},
// 跟踪Raptor
traceRaptor: (params: { kb_id: string }) => {
return request.get(api.traceRaptor, { params });
},
// 解绑管道任务
unbindPipelineTask: (params: { kb_id: string; type: string }) => {
return request.delete(api.unbindPipelineTask(params));
},
// 重新运行管道
pipelineRerun: (data: any) => {
return post(api.pipelineRerun, data);
},
};
export default knowledgeService;