Skip to content

Commit ab333be

Browse files
authored
Merge pull request #446 from iceljc/features/refactor-knowledge-service
refine knowledge base
2 parents f43fa46 + cc129e3 commit ab333be

18 files changed

Lines changed: 407 additions & 369 deletions

File tree

src/lib/helpers/enums.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,17 +106,21 @@ const agentTaskStatus = {
106106
export const AgentTaskStatus = Object.freeze(agentTaskStatus);
107107

108108

109-
const knowledgeCollectionType = {
109+
const knowledgeType = {
110110
QuestionAnswer: 'question-answer',
111-
Document: 'document'
111+
Document: 'document',
112+
Taxonomy: 'taxonomy',
113+
SemanticGraph: 'semantic-graph'
112114
};
113-
export const KnowledgeCollectionType = Object.freeze(knowledgeCollectionType);
115+
export const KnowledgeBaseType = Object.freeze(knowledgeType);
114116

115-
const knowledgeCollectionDisplayType = {
116-
[knowledgeCollectionType.QuestionAnswer]: "Q & A",
117-
[knowledgeCollectionType.Document]: "Documents",
117+
const knowledgeBaseDisplayType = {
118+
[knowledgeType.QuestionAnswer]: "Q & A",
119+
[knowledgeType.Document]: "Documents",
120+
[knowledgeType.Taxonomy]: "Taxonomy",
121+
[knowledgeType.SemanticGraph]: "Semantic Graph",
118122
};
119-
export const KnowledgeCollectionDisplayType = Object.freeze(knowledgeCollectionDisplayType);
123+
export const KnowledgeBaseDisplayType = Object.freeze(knowledgeBaseDisplayType);
120124

121125
const knowledgePayloadName = {
122126
Text: 'text',

src/lib/helpers/http.js

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -190,12 +190,12 @@ function skipLoader(config) {
190190
const postRegexes = [
191191
new RegExp('http(s*)://(.*?)/conversation/(.*?)/(.*?)', 'g'),
192192
new RegExp('http(s*)://(.*?)/agent', 'g'),
193-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/page', 'g'),
194-
new RegExp('http(s*)://(.*?)/knowledge/(.*?)/search', 'g'),
195-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/create', 'g'),
196-
new RegExp('http(s*)://(.*?)/knowledge/document/(.*?)/page', 'g'),
197-
new RegExp('http(s*)://(.*?)/knowledge/document/(.*?)/upload', 'g'),
198-
new RegExp('http(s*)://(.*?)/knowledge/entity/analyze', 'g'),
193+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data/page', 'g'),
194+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/query', 'g'),
195+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)', 'g'),
196+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/file/page', 'g'),
197+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/file/upload', 'g'),
198+
// new RegExp('http(s*)://(.*?)/knowledge/entity/analyze', 'g'),
199199
new RegExp('http(s*)://(.*?)/users', 'g'),
200200
new RegExp('http(s*)://(.*?)/instruct/(.*?)', 'g'),
201201
new RegExp('http(s*)://(.*?)/agent/(.*?)/code-scripts', 'g'),
@@ -205,17 +205,17 @@ function skipLoader(config) {
205205

206206
/** @type {RegExp[]} */
207207
const putRegexes = [
208-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/update', 'g'),
208+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data', 'g'),
209209
new RegExp('http(s*)://(.*?)/conversation/(.*?)/update-message', 'g'),
210210
new RegExp('http(s*)://(.*?)/conversation/(.*?)/update-tags', 'g'),
211211
new RegExp('http(s*)://(.*?)/users', 'g'),
212212
];
213213

214214
/** @type {RegExp[]} */
215215
const deleteRegexes = [
216-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/delete-collection', 'g'),
217-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/data/(.*?)', 'g'),
218-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/data', 'g'),
216+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)', 'g'),
217+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data/(.*?)', 'g'),
218+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data', 'g'),
219219
];
220220

221221
/** @type {RegExp[]} */
@@ -238,8 +238,9 @@ function skipLoader(config) {
238238
new RegExp('http(s*)://(.*?)/conversation/(.*?)/files/(.*?)', 'g'),
239239
new RegExp('http(s*)://(.*?)/llm-configs', 'g'),
240240
new RegExp('http(s*)://(.*?)/llm-provider/(.*?)/models', 'g'),
241-
new RegExp('http(s*)://(.*?)/knowledge/vector/collections', 'g'),
242-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/exist', 'g'),
241+
new RegExp('http(s*)://(.*?)/knowledge/collections', 'g'),
242+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/exist', 'g'),
243+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/details', 'g'),
243244
new RegExp('http(s*)://(.*?)/knowledge/processors', 'g'),
244245
new RegExp('http(s*)://(.*?)/knowledge/entity/analyzers', 'g'),
245246
new RegExp('http(s*)://(.*?)/knowledge/entity/data-providers', 'g'),
@@ -273,17 +274,18 @@ function skipLoader(config) {
273274
function skipGlobalError(config) {
274275
/** @type {RegExp[]} */
275276
const postRegexes = [
276-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/page', 'g'),
277-
new RegExp('http(s*)://(.*?)/knowledge/(.*?)/search', 'g'),
278-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/create', 'g'),
279-
new RegExp('http(s*)://(.*?)/knowledge/document/(.*?)/page', 'g'),
280-
new RegExp('http(s*)://(.*?)/knowledge/vector/create-collection', 'g'),
277+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data', 'g'),
278+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data/page', 'g'),
279+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/query', 'g'),
280+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)', 'g'),
281+
new RegExp('http(s*)://(.*?)/knowledge/collection', 'g'),
282+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/file/page', 'g'),
281283
new RegExp('http(s*)://(.*?)/refresh-agents', 'g')
282284
];
283285

284286
/** @type {RegExp[]} */
285287
const putRegexes = [
286-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/update', 'g'),
288+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data', 'g'),
287289
new RegExp('http(s*)://(.*?)/role', 'g'),
288290
new RegExp('http(s*)://(.*?)/user', 'g'),
289291
new RegExp('http(s*)://(.*?)/conversation/(.*?)/update-message', 'g'),
@@ -292,9 +294,9 @@ function skipGlobalError(config) {
292294

293295
/** @type {RegExp[]} */
294296
const deleteRegexes = [
295-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/delete-collection', 'g'),
296-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/data/(.*?)', 'g'),
297-
new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/data', 'g'),
297+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)', 'g'),
298+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data/(.*?)', 'g'),
299+
new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data', 'g'),
298300
];
299301

300302
/** @type {RegExp[]} */

src/lib/helpers/types/knowledgeTypes.js

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
11
// Knowledgebase
22
/**
33
* @typedef {Object} CreateVectorCollectionRequest
4-
* @property {string} collection_name - The collection name.
5-
* @property {string} collection_type - The collection type.
4+
* @property {string} collectionName - The collection name.
65
* @property {string} provider - The text embedding provider.
76
* @property {string} model - The text embedding model.
87
* @property {number} dimension - The text embedding dimension.
98
*/
109

1110
/**
12-
* @typedef {Object} SearchKnowledgeRequest
11+
* @typedef {Object} KnowledgeQueryRequest
1312
* @property {string} text - The text.
1413
* @property {string[]} [fields] - Data fields.
1514
* @property {number} [limit] - Data limit.
1615
* @property {number} [confidence] - Confidence.
17-
* @property {boolean} [with_vector] - Include vector or not.
18-
* @property {VectorFilterGroup[]} [filter_groups] - Search filter groups.
19-
* @property {VectorSearchParam} [search_param] - Search params.
16+
* @property {boolean} [withVector] - Include vector or not.
17+
* @property {VectorFilterGroup[]} [filterGroups] - Search filter groups.
18+
* @property {any} [searchParam] - Search params.
19+
* @property {string[]?} [dataProviders] - Data providers
2020
*/
2121

2222
/**
2323
* @typedef {Object} KnowledgeFilter
2424
* @property {string | null} [start_id] - The start id.
2525
* @property {number} size - Page size.
26-
* @property {boolean} [with_vector] - Include vector or not.
26+
* @property {boolean} [withVector] - Include vector or not.
2727
* @property {string[]} [fields] - Included payload fields.
28-
* @property {VectorFilterGroup[]} [filter_groups] - Search filter groups.
29-
* @property {VectorSort?} [order_by] - Sort by.
28+
* @property {VectorFilterGroup[]} [filterGroups] - Search filter groups.
29+
* @property {VectorSort?} [orderBy] - Sort by.
3030
*/
3131

32-
/**
33-
* @typedef {Object} VectorSearchParam
34-
* @property {boolean?} [exact_search] - Exact search or not.
35-
*/
32+
// /**
33+
// * @typedef {Object} VectorSearchParam
34+
// * @property {boolean?} [exact_search] - Exact search or not.
35+
// */
3636

3737
/**
3838
* @typedef {Object} VectorFilterGroup
@@ -80,9 +80,10 @@
8080
*/
8181

8282
/**
83-
* @typedef {Object} KnowledgeSearchViewModel
83+
* @typedef {Object} KnowledgeQueryViewModel
8484
* @property {string} id - The knowledge data id.
8585
* @property {any} payload - The knowledge payload.
86+
* @property {any} data - The knowledge payload.
8687
* @property {number} [score] - The knowledge score.
8788
* @property {number[]} [vector] - The knowledge vector.
8889
* @property {number} [vector_dimension] - The vector dimension.
@@ -91,7 +92,7 @@
9192
/**
9293
* @typedef {Object} KnowledgeSearchPageResult
9394
* @property {number} count - The total data count.
94-
* @property {KnowledgeSearchViewModel[]} items - The data items.
95+
* @property {KnowledgeQueryViewModel[]} items - The data items.
9596
* @property {string} [next_id] - The next id.
9697
*/
9798

@@ -143,8 +144,6 @@
143144
/**
144145
* @typedef {Object} VectorCollectionDetails
145146
* @property {string} status
146-
* @property {number} vectors_count
147-
* @property {number} points_count
148147
* @property {PayloadSchemaDetail[]} payload_schema
149148
*/
150149

src/lib/services/api-endpoints.js

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -97,32 +97,30 @@ export const endpoints = {
9797
loggingStateLogUrl: `${host}/logger/conversation/{conversationId}/state-log`,
9898

9999
// knowledge base
100-
vectorCollectionExistUrl: `${host}/knowledge/vector/{collection}/exist`,
101-
vectorCollectionsUrl: `${host}/knowledge/vector/collections`,
102-
vectorCollectionDetailsUrl: `${host}/knowledge/vector/{collection}/details`,
103-
vectorKnowledgePageListUrl: `${host}/knowledge/vector/{collection}/page`,
104-
vectorKnowledgeSearchUrl: `${host}/knowledge/vector/{collection}/search`,
105-
vectorKnowledgeCreateUrl: `${host}/knowledge/vector/{collection}/create`,
106-
vectorKnowledgeUpdateUrl: `${host}/knowledge/vector/{collection}/update`,
107-
vectorKnowledgeDeleteUrl: `${host}/knowledge/vector/{collection}/data/{id}`,
108-
vectorKnowledgeDeleteAllUrl: `${host}/knowledge/vector/{collection}/data`,
109-
vectorKnowledgeUploadUrl: `${host}/knowledge/vector/{collection}/upload`,
110-
vectorCollectionCreateUrl: `${host}/knowledge/vector/create-collection`,
111-
vectorCollectionDeleteUrl: `${host}/knowledge/vector/{collection}/delete-collection`,
112-
vectorIndexesCreateUrl: `${host}/knowledge/vector/{collection}/payload/indexes`,
113-
vectorIndexesDeleteUrl: `${host}/knowledge/vector/{collection}/payload/indexes`,
100+
knowledgeCollectionExistUrl: `${host}/knowledge/collection/{collection}/exist`,
101+
knowledgeCollectionDetailsUrl: `${host}/knowledge/collection/{collection}/details`,
102+
knowledgeCollectionsUrl: `${host}/knowledge/collections`,
103+
knowledgeCollectionCreateUrl: `${host}/knowledge/collection`,
104+
knowledgeCollectionDeleteUrl: `${host}/knowledge/collection/{collection}`,
105+
106+
knowledgeDataQueryUrl: `${host}/knowledge/collection/{collection}/query`,
107+
knowledgeDataPageListUrl: `${host}/knowledge/collection/{collection}/data/page`,
108+
knowledgeDataCreateUrl: `${host}/knowledge/collection/{collection}/data`,
109+
knowledgeDataUpdateUrl: `${host}/knowledge/collection/{collection}/data`,
110+
knowledgeDataDeleteUrl: `${host}/knowledge/collection/{collection}/data/{id}`,
111+
knowledgeDataDeleteAllUrl: `${host}/knowledge/collection/{collection}/data`,
114112

115-
graphKnowledgeSearchUrl: `${host}/knowledge/graph/search`,
113+
knowledgeIndexesCreateUrl: `${host}/knowledge/collection/{collection}/indexes`,
114+
knowledgeIndexesDeleteUrl: `${host}/knowledge/collection/{collection}/indexes`,
116115

117-
knowledgeDocumentUploadUrl: `${host}/knowledge/document/{collection}/upload`,
118-
knowledgeDocumentDeleteUrl: `${host}/knowledge/document/{collection}/delete/{fileId}`,
119-
knowledgeDocumentDeleteAllUrl: `${host}/knowledge/document/{collection}/delete`,
120-
knowledgeDocumentPageListUrl: `${host}/knowledge/document/{collection}/page`,
116+
knowledgeFileUploadUrl: `${host}/knowledge/collection/{collection}/file/upload`,
117+
knowledgeFileDeleteUrl: `${host}/knowledge/collection/{collection}/file/{fileId}`,
118+
knowledgeFileDeleteAllUrl: `${host}/knowledge/collection/{collection}/file`,
119+
knowledgeFilePageListUrl: `${host}/knowledge/collection/{collection}/file/page`,
121120
knowledgeProcessorsUrl: `${host}/knowledge/processors`,
122121

123122
entityAnalyzersUrl: `${host}/knowledge/entity/analyzers`,
124-
entityDataLoadersUrl: `${host}/knowledge/entity/data-providers`,
125-
entityAnalyzeUrl: `${host}/knowledge/entity/analyze`,
123+
entityDataProvidersUrl: `${host}/knowledge/entity/data-providers`,
126124

127125
// chathub
128126
chatHubUrl: `${host}/chatHub`,

0 commit comments

Comments
 (0)