Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions ui/src/api/admin/system/resource-management/knowledge/problem.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import { del, get, post, put } from '@/api/admin/core/request'
import type { ParamsPage, ResponsePage } from '@/api/admin/core/types'
import type { ParagraphProblem, ProblemBatchAssociationPayload, ProblemParagraph } from '@/api/types'

const getPrefix = (knowledgeId: string) => `/system/resource/knowledge/${knowledgeId}/problem`

/** 批量创建知识库问题。 */
const postProblems = (knowledgeId: string, contents: string[]) => post<string[], void>(getPrefix(knowledgeId), contents)

/** 分页搜索知识库问题,供分段选择已有问题进行关联。 */
const getProblemsPage = (knowledgeId: string, page: ParamsPage, query?: { content?: string }) =>
get<ResponsePage<ParagraphProblem>>(`${getPrefix(knowledgeId)}/${page.currentPage}/${page.pageSize}`, query)

/** 编辑单个知识库问题的内容。 */
const putProblem = (knowledgeId: string, problemId: string, content: string) =>
put<{ content: string }, void>(`${getPrefix(knowledgeId)}/${problemId}`, { content })

/** 删除单个知识库问题。 */
const deleteProblem = (knowledgeId: string, problemId: string) => del<undefined, boolean>(`${getPrefix(knowledgeId)}/${problemId}`)

/** 获取问题当前关联的文档分段。 */
const getProblemParagraphs = (knowledgeId: string, problemId: string) => get<ProblemParagraph[]>(`${getPrefix(knowledgeId)}/${problemId}/paragraph`)

/** 批量将问题关联到指定文档分段。 */
const putBatchAssociateProblems = (knowledgeId: string, payload: ProblemBatchAssociationPayload) =>
put<ProblemBatchAssociationPayload, boolean>(`${getPrefix(knowledgeId)}/batch_association`, payload)

/** 批量删除知识库问题。 */
const putBatchDeleteProblems = (knowledgeId: string, problemIds: string[]) =>
put<string[], boolean>(`${getPrefix(knowledgeId)}/batch_delete`, problemIds)

export default {
postProblems,
getProblemsPage,
putProblem,
deleteProblem,
getProblemParagraphs,
putBatchAssociateProblems,
putBatchDeleteProblems,
}
36 changes: 36 additions & 0 deletions ui/src/api/admin/system/resource-management/knowledge/termbase.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { del, get, post, put } from '@/api/admin/core/request'
import type { ParamsPage, ResponsePage } from '@/api/admin/core/types'
import type { TermbaseItem, TermbaseUpdatePayload } from '@/api/types'

const getPrefix = (knowledgeId: string) => `/system/resource/knowledge/${knowledgeId}/termbase`

/** 批量创建知识库自定义分词条目。 */
const postTermbases = (knowledgeId: string, contents: string[]) => post<string[], TermbaseItem[]>(getPrefix(knowledgeId), contents)

/** 分页查询知识库自定义分词条目,支持内容搜索。 */
const getTermbasePage = (knowledgeId: string, page: ParamsPage, query?: { content?: string }) =>
get<ResponsePage<TermbaseItem>>(`${getPrefix(knowledgeId)}/${page.currentPage}/${page.pageSize}`, query)

/** 编辑单个知识库自定义分词条目。 */
const putTermbase = (knowledgeId: string, termbaseId: string, payload: TermbaseUpdatePayload) =>
put<TermbaseUpdatePayload, void>(`${getPrefix(knowledgeId)}/${termbaseId}`, payload)

/** 删除单个知识库自定义分词条目。 */
const deleteTermbase = (knowledgeId: string, termbaseId: string) => del<undefined, boolean>(`${getPrefix(knowledgeId)}/${termbaseId}`)

/** 批量删除知识库自定义分词条目。 */
const putBatchDeleteTermbases = (knowledgeId: string, termbaseIds: string[]) =>
put<string[], boolean>(`${getPrefix(knowledgeId)}/batch_delete`, termbaseIds)

/** 导出所选自定义分词条目的换行文本。 */
const postExportTermbases = (knowledgeId: string, termbaseIds: string[]) =>
post<string[], string>(`${getPrefix(knowledgeId)}/batch_export`, termbaseIds)

export default {
postTermbases,
getTermbasePage,
putTermbase,
deleteTermbase,
putBatchDeleteTermbases,
postExportTermbases,
}
40 changes: 40 additions & 0 deletions ui/src/api/admin/system/shared-resources/knowledge/problem.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import { del, get, post, put } from '@/api/admin/core/request'
import type { ParamsPage, ResponsePage } from '@/api/admin/core/types'
import type { ParagraphProblem, ProblemBatchAssociationPayload, ProblemParagraph } from '@/api/types'

const getPrefix = (knowledgeId: string) => `/system/shared/knowledge/${knowledgeId}/problem`

/** 批量创建知识库问题。 */
const postProblems = (knowledgeId: string, contents: string[]) => post<string[], void>(getPrefix(knowledgeId), contents)

/** 分页搜索知识库问题,供分段选择已有问题进行关联。 */
const getProblemsPage = (knowledgeId: string, page: ParamsPage, query?: { content?: string }) =>
get<ResponsePage<ParagraphProblem>>(`${getPrefix(knowledgeId)}/${page.currentPage}/${page.pageSize}`, query)

/** 编辑单个知识库问题的内容。 */
const putProblem = (knowledgeId: string, problemId: string, content: string) =>
put<{ content: string }, void>(`${getPrefix(knowledgeId)}/${problemId}`, { content })

/** 删除单个知识库问题。 */
const deleteProblem = (knowledgeId: string, problemId: string) => del<undefined, boolean>(`${getPrefix(knowledgeId)}/${problemId}`)

/** 获取问题当前关联的文档分段。 */
const getProblemParagraphs = (knowledgeId: string, problemId: string) => get<ProblemParagraph[]>(`${getPrefix(knowledgeId)}/${problemId}/paragraph`)

/** 批量将问题关联到指定文档分段。 */
const putBatchAssociateProblems = (knowledgeId: string, payload: ProblemBatchAssociationPayload) =>
put<ProblemBatchAssociationPayload, boolean>(`${getPrefix(knowledgeId)}/batch_association`, payload)

/** 批量删除知识库问题。 */
const putBatchDeleteProblems = (knowledgeId: string, problemIds: string[]) =>
put<string[], boolean>(`${getPrefix(knowledgeId)}/batch_delete`, problemIds)

export default {
postProblems,
getProblemsPage,
putProblem,
deleteProblem,
getProblemParagraphs,
putBatchAssociateProblems,
putBatchDeleteProblems,
}
36 changes: 36 additions & 0 deletions ui/src/api/admin/system/shared-resources/knowledge/termbase.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { del, get, post, put } from '@/api/admin/core/request'
import type { ParamsPage, ResponsePage } from '@/api/admin/core/types'
import type { TermbaseItem, TermbaseUpdatePayload } from '@/api/types'

const getPrefix = (knowledgeId: string) => `/system/shared/knowledge/${knowledgeId}/termbase`

/** 批量创建知识库自定义分词条目。 */
const postTermbases = (knowledgeId: string, contents: string[]) => post<string[], TermbaseItem[]>(getPrefix(knowledgeId), contents)

/** 分页查询知识库自定义分词条目,支持内容搜索。 */
const getTermbasePage = (knowledgeId: string, page: ParamsPage, query?: { content?: string }) =>
get<ResponsePage<TermbaseItem>>(`${getPrefix(knowledgeId)}/${page.currentPage}/${page.pageSize}`, query)

/** 编辑单个知识库自定义分词条目。 */
const putTermbase = (knowledgeId: string, termbaseId: string, payload: TermbaseUpdatePayload) =>
put<TermbaseUpdatePayload, void>(`${getPrefix(knowledgeId)}/${termbaseId}`, payload)

/** 删除单个知识库自定义分词条目。 */
const deleteTermbase = (knowledgeId: string, termbaseId: string) => del<undefined, boolean>(`${getPrefix(knowledgeId)}/${termbaseId}`)

/** 批量删除知识库自定义分词条目。 */
const putBatchDeleteTermbases = (knowledgeId: string, termbaseIds: string[]) =>
put<string[], boolean>(`${getPrefix(knowledgeId)}/batch_delete`, termbaseIds)

/** 导出所选自定义分词条目的换行文本。 */
const postExportTermbases = (knowledgeId: string, termbaseIds: string[]) =>
post<string[], string>(`${getPrefix(knowledgeId)}/batch_export`, termbaseIds)

export default {
postTermbases,
getTermbasePage,
putTermbase,
deleteTermbase,
putBatchDeleteTermbases,
postExportTermbases,
}
39 changes: 35 additions & 4 deletions ui/src/api/admin/workspace/knowledge/problem.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,41 @@
import { get } from '../../core/request'
import { del, get, post, put } from '../../core/request'
import type { ParamsPage, ResponsePage } from '../../core/types'
import type { ParagraphProblem } from '@/api/types'
import type { ParagraphProblem, ProblemBatchAssociationPayload, ProblemParagraph } from '@/api/types'
import { getWorkspaceId } from '@/utils/resource-context'

const getPrefix = (knowledgeId: string) => `/workspace/${getWorkspaceId()}/knowledge/${knowledgeId}/problem`

/** 批量创建知识库问题。 */
const postProblems = (knowledgeId: string, contents: string[]) => post<string[], void>(getPrefix(knowledgeId), contents)

/** 分页搜索知识库问题,供分段选择已有问题进行关联。 */
const getProblemsPage = (knowledgeId: string, page: ParamsPage, query?: { content?: string }) =>
get<ResponsePage<ParagraphProblem>>(`/workspace/${getWorkspaceId()}/knowledge/${knowledgeId}/problem/${page.currentPage}/${page.pageSize}`, query)
get<ResponsePage<ParagraphProblem>>(`${getPrefix(knowledgeId)}/${page.currentPage}/${page.pageSize}`, query)

/** 编辑单个知识库问题的内容。 */
const putProblem = (knowledgeId: string, problemId: string, content: string) =>
put<{ content: string }, void>(`${getPrefix(knowledgeId)}/${problemId}`, { content })

/** 删除单个知识库问题。 */
const deleteProblem = (knowledgeId: string, problemId: string) => del<undefined, boolean>(`${getPrefix(knowledgeId)}/${problemId}`)

/** 获取问题当前关联的文档分段。 */
const getProblemParagraphs = (knowledgeId: string, problemId: string) => get<ProblemParagraph[]>(`${getPrefix(knowledgeId)}/${problemId}/paragraph`)

/** 批量将问题关联到指定文档分段。 */
const putBatchAssociateProblems = (knowledgeId: string, payload: ProblemBatchAssociationPayload) =>
put<ProblemBatchAssociationPayload, boolean>(`${getPrefix(knowledgeId)}/batch_association`, payload)

/** 批量删除知识库问题。 */
const putBatchDeleteProblems = (knowledgeId: string, problemIds: string[]) =>
put<string[], boolean>(`${getPrefix(knowledgeId)}/batch_delete`, problemIds)

export default { getProblemsPage }
export default {
postProblems,
getProblemsPage,
putProblem,
deleteProblem,
getProblemParagraphs,
putBatchAssociateProblems,
putBatchDeleteProblems,
}
37 changes: 37 additions & 0 deletions ui/src/api/admin/workspace/knowledge/termbase.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import { del, get, post, put } from '../../core/request'
import type { ParamsPage, ResponsePage } from '../../core/types'
import type { TermbaseItem, TermbaseUpdatePayload } from '@/api/types'
import { getWorkspaceId } from '@/utils/resource-context'

const getPrefix = (knowledgeId: string) => `/workspace/${getWorkspaceId()}/knowledge/${knowledgeId}/termbase`

/** 批量创建知识库自定义分词条目。 */
const postTermbases = (knowledgeId: string, contents: string[]) => post<string[], TermbaseItem[]>(getPrefix(knowledgeId), contents)

/** 分页查询知识库自定义分词条目,支持内容搜索。 */
const getTermbasePage = (knowledgeId: string, page: ParamsPage, query?: { content?: string }) =>
get<ResponsePage<TermbaseItem>>(`${getPrefix(knowledgeId)}/${page.currentPage}/${page.pageSize}`, query)

/** 编辑单个知识库自定义分词条目。 */
const putTermbase = (knowledgeId: string, termbaseId: string, payload: TermbaseUpdatePayload) =>
put<TermbaseUpdatePayload, void>(`${getPrefix(knowledgeId)}/${termbaseId}`, payload)

/** 删除单个知识库自定义分词条目。 */
const deleteTermbase = (knowledgeId: string, termbaseId: string) => del<undefined, boolean>(`${getPrefix(knowledgeId)}/${termbaseId}`)

/** 批量删除知识库自定义分词条目。 */
const putBatchDeleteTermbases = (knowledgeId: string, termbaseIds: string[]) =>
put<string[], boolean>(`${getPrefix(knowledgeId)}/batch_delete`, termbaseIds)

/** 导出所选自定义分词条目的换行文本。 */
const postExportTermbases = (knowledgeId: string, termbaseIds: string[]) =>
post<string[], string>(`${getPrefix(knowledgeId)}/batch_export`, termbaseIds)

export default {
postTermbases,
getTermbasePage,
putTermbase,
deleteTermbase,
putBatchDeleteTermbases,
postExportTermbases,
}
12 changes: 12 additions & 0 deletions ui/src/api/admin/workspace/shared/knowledge/problem.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { get } from '../../../core/request'
import type { ParamsPage, ResponsePage } from '../../../core/types'
import type { ParagraphProblem } from '@/api/types'
import { getWorkspaceId } from '@/utils/resource-context'

const getPrefix = (knowledgeId: string) => `/system/shared/workspace/${getWorkspaceId()}/knowledge/${knowledgeId}/problem`

/** 分页查询工作空间共享知识库的问题,只提供只读访问。 */
const getProblemsPage = (knowledgeId: string, page: ParamsPage, query?: { content?: string }) =>
get<ResponsePage<ParagraphProblem>>(`${getPrefix(knowledgeId)}/${page.currentPage}/${page.pageSize}`, query)

export default { getProblemsPage }
13 changes: 13 additions & 0 deletions ui/src/api/admin/workspace/shared/knowledge/termbase.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { get } from '../../../core/request'
import type { ParamsPage, ResponsePage } from '../../../core/types'
import type { TermbaseItem } from '@/api/types'
import { getWorkspaceId } from '@/utils/resource-context'

const getPrefix = (knowledgeId: string) => `/system/shared/workspace/${getWorkspaceId()}/knowledge/${knowledgeId}/termbase`

/** 分页查询工作空间共享知识库的自定义分词条目,只提供只读访问。 */
// TODO:V3 后端需确认并提供工作空间共享知识库的 termbase 分页查询路由。
const getTermbasePage = (knowledgeId: string, page: ParamsPage, query?: { content?: string }) =>
get<ResponsePage<TermbaseItem>>(`${getPrefix(knowledgeId)}/${page.currentPage}/${page.pageSize}`, query)

export default { getTermbasePage }
1 change: 1 addition & 0 deletions ui/src/api/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,5 @@ export type * from './portal'

export type * from './document'
export type * from './paragraph'
export type * from './termbase'
export type * from './chat-log'
18 changes: 18 additions & 0 deletions ui/src/api/types/paragraph.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,24 @@ export interface ParagraphProblem {
content: string
}

/** 从问题详情查询到的关联分段,额外携带所属知识库与文档名称。 */
export interface ProblemParagraph extends ParagraphItem {
knowledge_id: string
document_name: string
}

/** 批量将问题关联到文档分段时使用的分段引用。 */
export interface ProblemParagraphReference {
paragraph_id: string
document_id: string
}

/** 批量关联问题与文档分段的请求载荷。 */
export interface ProblemBatchAssociationPayload {
problem_id_list: string[]
paragraph_list: ProblemParagraphReference[]
}

export interface ParagraphDetail extends ParagraphItem {
problem_list: ParagraphProblem[]
}
Expand Down
13 changes: 13 additions & 0 deletions ui/src/api/types/termbase.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/** 知识库自定义分词条目。 */
export interface TermbaseItem {
id: string
knowledge_id: string
content: string
create_time: string
update_time: string
}

/** 编辑单个自定义分词条目时提交的内容。 */
export interface TermbaseUpdatePayload {
content: string
}
Loading