diff --git a/src/lib/helpers/enums.js b/src/lib/helpers/enums.js index 148828c4..7117bc2c 100644 --- a/src/lib/helpers/enums.js +++ b/src/lib/helpers/enums.js @@ -106,17 +106,21 @@ const agentTaskStatus = { export const AgentTaskStatus = Object.freeze(agentTaskStatus); -const knowledgeCollectionType = { +const knowledgeType = { QuestionAnswer: 'question-answer', - Document: 'document' + Document: 'document', + Taxonomy: 'taxonomy', + SemanticGraph: 'semantic-graph' }; -export const KnowledgeCollectionType = Object.freeze(knowledgeCollectionType); +export const KnowledgeBaseType = Object.freeze(knowledgeType); -const knowledgeCollectionDisplayType = { - [knowledgeCollectionType.QuestionAnswer]: "Q & A", - [knowledgeCollectionType.Document]: "Documents", +const knowledgeBaseDisplayType = { + [knowledgeType.QuestionAnswer]: "Q & A", + [knowledgeType.Document]: "Documents", + [knowledgeType.Taxonomy]: "Taxonomy", + [knowledgeType.SemanticGraph]: "Semantic Graph", }; -export const KnowledgeCollectionDisplayType = Object.freeze(knowledgeCollectionDisplayType); +export const KnowledgeBaseDisplayType = Object.freeze(knowledgeBaseDisplayType); const knowledgePayloadName = { Text: 'text', diff --git a/src/lib/helpers/http.js b/src/lib/helpers/http.js index 0071dfc9..a89e8778 100644 --- a/src/lib/helpers/http.js +++ b/src/lib/helpers/http.js @@ -190,12 +190,12 @@ function skipLoader(config) { const postRegexes = [ new RegExp('http(s*)://(.*?)/conversation/(.*?)/(.*?)', 'g'), new RegExp('http(s*)://(.*?)/agent', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/page', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/(.*?)/search', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/create', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/document/(.*?)/page', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/document/(.*?)/upload', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/entity/analyze', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data/page', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/query', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/file/page', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/file/upload', 'g'), + // new RegExp('http(s*)://(.*?)/knowledge/entity/analyze', 'g'), new RegExp('http(s*)://(.*?)/users', 'g'), new RegExp('http(s*)://(.*?)/instruct/(.*?)', 'g'), new RegExp('http(s*)://(.*?)/agent/(.*?)/code-scripts', 'g'), @@ -205,7 +205,7 @@ function skipLoader(config) { /** @type {RegExp[]} */ const putRegexes = [ - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/update', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data', 'g'), new RegExp('http(s*)://(.*?)/conversation/(.*?)/update-message', 'g'), new RegExp('http(s*)://(.*?)/conversation/(.*?)/update-tags', 'g'), new RegExp('http(s*)://(.*?)/users', 'g'), @@ -213,9 +213,9 @@ function skipLoader(config) { /** @type {RegExp[]} */ const deleteRegexes = [ - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/delete-collection', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/data/(.*?)', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/data', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data/(.*?)', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data', 'g'), ]; /** @type {RegExp[]} */ @@ -239,8 +239,9 @@ function skipLoader(config) { new RegExp('http(s*)://(.*?)/conversation/(.*?)/files/(.*?)', 'g'), new RegExp('http(s*)://(.*?)/llm-configs', 'g'), new RegExp('http(s*)://(.*?)/llm-provider/(.*?)/models', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/vector/collections', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/exist', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collections', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/exist', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/details', 'g'), new RegExp('http(s*)://(.*?)/knowledge/processors', 'g'), new RegExp('http(s*)://(.*?)/knowledge/entity/analyzers', 'g'), new RegExp('http(s*)://(.*?)/knowledge/entity/data-providers', 'g'), @@ -274,17 +275,18 @@ function skipLoader(config) { function skipGlobalError(config) { /** @type {RegExp[]} */ const postRegexes = [ - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/page', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/(.*?)/search', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/create', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/document/(.*?)/page', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/vector/create-collection', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data/page', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/query', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/file/page', 'g'), new RegExp('http(s*)://(.*?)/refresh-agents', 'g') ]; /** @type {RegExp[]} */ const putRegexes = [ - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/update', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data', 'g'), new RegExp('http(s*)://(.*?)/role', 'g'), new RegExp('http(s*)://(.*?)/user', 'g'), new RegExp('http(s*)://(.*?)/conversation/(.*?)/update-message', 'g'), @@ -293,9 +295,9 @@ function skipGlobalError(config) { /** @type {RegExp[]} */ const deleteRegexes = [ - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/delete-collection', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/data/(.*?)', 'g'), - new RegExp('http(s*)://(.*?)/knowledge/vector/(.*?)/data', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data/(.*?)', 'g'), + new RegExp('http(s*)://(.*?)/knowledge/collection/(.*?)/data', 'g'), ]; /** @type {RegExp[]} */ diff --git a/src/lib/helpers/types/knowledgeTypes.js b/src/lib/helpers/types/knowledgeTypes.js index 23cad223..cae1314d 100644 --- a/src/lib/helpers/types/knowledgeTypes.js +++ b/src/lib/helpers/types/knowledgeTypes.js @@ -1,38 +1,38 @@ // Knowledgebase /** * @typedef {Object} CreateVectorCollectionRequest - * @property {string} collection_name - The collection name. - * @property {string} collection_type - The collection type. + * @property {string} collectionName - The collection name. * @property {string} provider - The text embedding provider. * @property {string} model - The text embedding model. * @property {number} dimension - The text embedding dimension. */ /** - * @typedef {Object} SearchKnowledgeRequest + * @typedef {Object} KnowledgeQueryRequest * @property {string} text - The text. * @property {string[]} [fields] - Data fields. * @property {number} [limit] - Data limit. * @property {number} [confidence] - Confidence. - * @property {boolean} [with_vector] - Include vector or not. - * @property {VectorFilterGroup[]} [filter_groups] - Search filter groups. - * @property {VectorSearchParam} [search_param] - Search params. + * @property {boolean} [withVector] - Include vector or not. + * @property {VectorFilterGroup[]} [filterGroups] - Search filter groups. + * @property {any} [searchParam] - Search params. + * @property {string[]?} [dataProviders] - Data providers */ /** * @typedef {Object} KnowledgeFilter * @property {string | null} [start_id] - The start id. * @property {number} size - Page size. - * @property {boolean} [with_vector] - Include vector or not. + * @property {boolean} [withVector] - Include vector or not. * @property {string[]} [fields] - Included payload fields. - * @property {VectorFilterGroup[]} [filter_groups] - Search filter groups. - * @property {VectorSort?} [order_by] - Sort by. + * @property {VectorFilterGroup[]} [filterGroups] - Search filter groups. + * @property {VectorSort?} [orderBy] - Sort by. */ -/** - * @typedef {Object} VectorSearchParam - * @property {boolean?} [exact_search] - Exact search or not. - */ +// /** +// * @typedef {Object} VectorSearchParam +// * @property {boolean?} [exact_search] - Exact search or not. +// */ /** * @typedef {Object} VectorFilterGroup @@ -80,9 +80,10 @@ */ /** - * @typedef {Object} KnowledgeSearchViewModel + * @typedef {Object} KnowledgeQueryViewModel * @property {string} id - The knowledge data id. * @property {any} payload - The knowledge payload. + * @property {any} data - The knowledge payload. * @property {number} [score] - The knowledge score. * @property {number[]} [vector] - The knowledge vector. * @property {number} [vector_dimension] - The vector dimension. @@ -91,7 +92,7 @@ /** * @typedef {Object} KnowledgeSearchPageResult * @property {number} count - The total data count. - * @property {KnowledgeSearchViewModel[]} items - The data items. + * @property {KnowledgeQueryViewModel[]} items - The data items. * @property {string} [next_id] - The next id. */ @@ -143,8 +144,6 @@ /** * @typedef {Object} VectorCollectionDetails * @property {string} status - * @property {number} vectors_count - * @property {number} points_count * @property {PayloadSchemaDetail[]} payload_schema */ diff --git a/src/lib/services/api-endpoints.js b/src/lib/services/api-endpoints.js index ff75973d..84f96583 100644 --- a/src/lib/services/api-endpoints.js +++ b/src/lib/services/api-endpoints.js @@ -98,32 +98,30 @@ export const endpoints = { loggingStateLogUrl: `${host}/logger/conversation/{conversationId}/state-log`, // knowledge base - vectorCollectionExistUrl: `${host}/knowledge/vector/{collection}/exist`, - vectorCollectionsUrl: `${host}/knowledge/vector/collections`, - vectorCollectionDetailsUrl: `${host}/knowledge/vector/{collection}/details`, - vectorKnowledgePageListUrl: `${host}/knowledge/vector/{collection}/page`, - vectorKnowledgeSearchUrl: `${host}/knowledge/vector/{collection}/search`, - vectorKnowledgeCreateUrl: `${host}/knowledge/vector/{collection}/create`, - vectorKnowledgeUpdateUrl: `${host}/knowledge/vector/{collection}/update`, - vectorKnowledgeDeleteUrl: `${host}/knowledge/vector/{collection}/data/{id}`, - vectorKnowledgeDeleteAllUrl: `${host}/knowledge/vector/{collection}/data`, - vectorKnowledgeUploadUrl: `${host}/knowledge/vector/{collection}/upload`, - vectorCollectionCreateUrl: `${host}/knowledge/vector/create-collection`, - vectorCollectionDeleteUrl: `${host}/knowledge/vector/{collection}/delete-collection`, - vectorIndexesCreateUrl: `${host}/knowledge/vector/{collection}/payload/indexes`, - vectorIndexesDeleteUrl: `${host}/knowledge/vector/{collection}/payload/indexes`, + knowledgeCollectionExistUrl: `${host}/knowledge/collection/{collection}/exist`, + knowledgeCollectionDetailsUrl: `${host}/knowledge/collection/{collection}/details`, + knowledgeCollectionsUrl: `${host}/knowledge/collections`, + knowledgeCollectionCreateUrl: `${host}/knowledge/collection`, + knowledgeCollectionDeleteUrl: `${host}/knowledge/collection/{collection}`, + + knowledgeDataQueryUrl: `${host}/knowledge/collection/{collection}/query`, + knowledgeDataPageListUrl: `${host}/knowledge/collection/{collection}/data/page`, + knowledgeDataCreateUrl: `${host}/knowledge/collection/{collection}/data`, + knowledgeDataUpdateUrl: `${host}/knowledge/collection/{collection}/data`, + knowledgeDataDeleteUrl: `${host}/knowledge/collection/{collection}/data/{id}`, + knowledgeDataDeleteAllUrl: `${host}/knowledge/collection/{collection}/data`, - graphKnowledgeSearchUrl: `${host}/knowledge/graph/search`, + knowledgeIndexesCreateUrl: `${host}/knowledge/collection/{collection}/indexes`, + knowledgeIndexesDeleteUrl: `${host}/knowledge/collection/{collection}/indexes`, - knowledgeDocumentUploadUrl: `${host}/knowledge/document/{collection}/upload`, - knowledgeDocumentDeleteUrl: `${host}/knowledge/document/{collection}/delete/{fileId}`, - knowledgeDocumentDeleteAllUrl: `${host}/knowledge/document/{collection}/delete`, - knowledgeDocumentPageListUrl: `${host}/knowledge/document/{collection}/page`, + knowledgeFileUploadUrl: `${host}/knowledge/collection/{collection}/file/upload`, + knowledgeFileDeleteUrl: `${host}/knowledge/collection/{collection}/file/{fileId}`, + knowledgeFileDeleteAllUrl: `${host}/knowledge/collection/{collection}/file`, + knowledgeFilePageListUrl: `${host}/knowledge/collection/{collection}/file/page`, knowledgeProcessorsUrl: `${host}/knowledge/processors`, entityAnalyzersUrl: `${host}/knowledge/entity/analyzers`, - entityDataLoadersUrl: `${host}/knowledge/entity/data-providers`, - entityAnalyzeUrl: `${host}/knowledge/entity/analyze`, + entityDataProvidersUrl: `${host}/knowledge/entity/data-providers`, // chathub chatHubUrl: `${host}/chatHub`, diff --git a/src/lib/services/knowledge-base-service.js b/src/lib/services/knowledge-base-service.js index 84827911..1a287805 100644 --- a/src/lib/services/knowledge-base-service.js +++ b/src/lib/services/knowledge-base-service.js @@ -5,26 +5,35 @@ import axios from 'axios'; /** * @param {string} collection + * @param {string} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function existVectorCollection(collection) { - const url = replaceUrl(endpoints.vectorCollectionExistUrl, { +export async function existKnowledgeCollection(collection, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeCollectionExistUrl, { collection: collection }); - const response = await axios.get(url); + const response = await axios.get(url, { + params: { + knowledgeType: knowledgeType, + dbProvider: dbProvider + } + }); return response.data; } /** - * @param {string?} type + * @param {string?} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function getVectorKnowledgeCollections(type = null) { - const url = endpoints.vectorCollectionsUrl; +export async function getKnowledgeCollections(knowledgeType = null, dbProvider = null) { + const url = endpoints.knowledgeCollectionsUrl; const response = await axios.get(url, { params: { - type: type + knowledgeType: knowledgeType, + dbProvider: dbProvider } }); return response.data; @@ -32,29 +41,61 @@ export async function getVectorKnowledgeCollections(type = null) { /** * @param {string} collection - * @param {import('$knowledgeTypes').SearchKnowledgeRequest} request - * @returns {Promise} + * @param {string} knowledgeType + * @param {string?} dbProvider + * @returns {Promise} */ -export async function searchVectorKnowledge(collection, request) { - const url = replaceUrl(endpoints.vectorKnowledgeSearchUrl, { +export async function getKnowledgeCollectionDetails(collection, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeCollectionDetailsUrl, { collection: collection }); - const response = await axios.post(url, { ...request }); + const response = await axios.get(url, { + params: { + knowledgeType: knowledgeType, + dbProvider: dbProvider + } + }); + return response.data; +} + +/** + * @param {string} collection + * @param {import('$knowledgeTypes').KnowledgeQueryRequest} request + * @param {string} knowledgeType + * @param {string?} dbProvider + * @returns {Promise} + */ +export async function executeKnowledgeQuery(collection, request, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeDataQueryUrl, { + collection: collection + }); + + const response = await axios.post(url, { + ...request, + knowledgeType: knowledgeType, + dbProvider: dbProvider + }); return response.data; } /** * @param {string} collection * @param {import('$knowledgeTypes').KnowledgeFilter} filter + * @param {string} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function getVectorKnowledgePageList(collection, filter) { - const url = replaceUrl(endpoints.vectorKnowledgePageListUrl, { +export async function getKnowledgePageList(collection, filter, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeDataPageListUrl, { collection: collection }); - const response = await axios.post(url, { ...filter }); + const response = await axios.post(url, { + ...filter, + knowledgeType: knowledgeType, + dbProvider: dbProvider + }); return response.data; } @@ -62,15 +103,19 @@ export async function getVectorKnowledgePageList(collection, filter) { * @param {string} collection * @param {string} text * @param {any} payload + * @param {string} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function createVectorKnowledgeData(collection, text, payload = null) { - const url = replaceUrl(endpoints.vectorKnowledgeCreateUrl, { +export async function createKnowledgeData(collection, text, payload, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeDataCreateUrl, { collection: collection }); const request = { text: text, + knowledgeType: knowledgeType, + dbProvider: dbProvider, payload: { ...payload, } @@ -85,15 +130,19 @@ export async function createVectorKnowledgeData(collection, text, payload = null * @param {string} collection * @param {string} text * @param {any} payload + * @param {string} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function updateVectorKnowledgeData(id, collection, text, payload = null) { - const url = replaceUrl(endpoints.vectorKnowledgeUpdateUrl, { +export async function updateKnowledgeData(id, collection, text, payload, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeDataUpdateUrl, { collection: collection }); const request = { id: id, + knowledgeType: knowledgeType, + dbProvider: dbProvider, text: text, payload: { ...payload @@ -106,45 +155,64 @@ export async function updateVectorKnowledgeData(id, collection, text, payload = /** - * @param {string} collection * @param {string} id + * @param {string} collection + * @param {string} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function deleteVectorKnowledgeData(collection, id) { - const url = replaceUrl(endpoints.vectorKnowledgeDeleteUrl, { +export async function deleteKnowledgeData(id, collection, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeDataDeleteUrl, { collection: collection, id: id }); - const response = await axios.delete(url); + const response = await axios.delete(url, { + data: { + knowledgeType: knowledgeType, + dbProvider: dbProvider + } + }); return response.data; } /** * @param {string} collection + * @param {string} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function deleteAllVectorKnowledgeData(collection) { - const url = replaceUrl(endpoints.vectorKnowledgeDeleteAllUrl, { +export async function deleteAllKnowledgeData(collection, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeDataDeleteAllUrl, { collection: collection }); - const response = await axios.delete(url); + const response = await axios.delete(url, { + data: { + knowledgeType: knowledgeType, + dbProvider: dbProvider + } + }); return response.data; } /** * @param {string} collection * @param {import('$knowledgeTypes').VectorKnowledgeUploadRequest} request + * @param {string?} dbProvider * @returns {Promise} */ -export async function uploadKnowledgeDocuments(collection, request) { - const url = replaceUrl(endpoints.knowledgeDocumentUploadUrl, { +export async function uploadKnowledgeFiles(collection, request, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeFileUploadUrl, { collection: collection }); const response = await axios.post(url, { - ...request + ...request, + options: { + ...request.options || {}, + dbProvider: dbProvider + } }); return response.data; } @@ -152,29 +220,40 @@ export async function uploadKnowledgeDocuments(collection, request) { /** * @param {string} collection * @param {string} fileId + * @param {string?} dbProvider * @returns {Promise} */ -export async function deleteKnowledgeDocument(collection, fileId) { - const url = replaceUrl(endpoints.knowledgeDocumentDeleteUrl, { +export async function deleteKnowledgeFile(collection, fileId, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeFileDeleteUrl, { collection: collection, fileId: fileId }); - const response = await axios.delete(url); + const response = await axios.delete(url, { + data: { + dbProvider: dbProvider + } + }); return response.data; } /** * @param {string} collection * @param {import('$knowledgeTypes').KnowledgeDocRequest} request + * @param {string?} dbProvider * @returns {Promise} */ -export async function deleteAllKnowledgeDocuments(collection, request) { - const url = replaceUrl(endpoints.knowledgeDocumentDeleteAllUrl, { +export async function deleteAllKnowledgeFiles(collection, request, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeFileDeleteAllUrl, { collection: collection }); - const response = await axios.delete(url, { data: { ...request } }); + const response = await axios.delete(url, { + data: { + ...request, + dbProvider: dbProvider + } + }); return response.data; } @@ -182,14 +261,18 @@ export async function deleteAllKnowledgeDocuments(collection, request) { /** * @param {string} collection * @param {import('$knowledgeTypes').KnowledgeDocRequest} request + * @param {string?} dbProvider * @returns {Promise} */ -export async function getKnowledgeDocumentPageList(collection, request) { - const url = replaceUrl(endpoints.knowledgeDocumentPageListUrl, { +export async function getKnowledgeFilePageList(collection, request, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeFilePageListUrl, { collection: collection }); - const response = await axios.post(url, { ...request }); + const response = await axios.post(url, { + ...request, + dbProvider: dbProvider + }); return response.data; } @@ -205,63 +288,56 @@ export async function getKnowledgeProcessors() { /** * @param {import('$knowledgeTypes').CreateVectorCollectionRequest} request + * @param {string} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function createVectorCollection(request) { - const url = endpoints.vectorCollectionCreateUrl; - const response = await axios.post(url, { ...request }); +export async function createKnowledgeCollection(request, knowledgeType, dbProvider = null) { + const url = endpoints.knowledgeCollectionCreateUrl; + const response = await axios.post(url, { + ...request, + knowledgeType: knowledgeType, + dbProvider: dbProvider + }); return response.data; } /** * @param {string} collection + * @param {string} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function deleteVectorCollection(collection) { - const url = replaceUrl(endpoints.vectorCollectionDeleteUrl, { +export async function deleteKnowledgeCollection(collection, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeCollectionDeleteUrl, { collection: collection }); - const response = await axios.delete(url); - return response.data; -} - - -/** - * @param {string} text - * @param {string } method - * @returns {Promise} - */ -export async function searchGraphKnowledge(text, method = "local") { - const url = endpoints.graphKnowledgeSearchUrl; - const response = await axios.post(url, { query: text, method: method }); - return response.data; -} - -/** - * @param {string} collection - * @returns {Promise} - */ -export async function getVectorCollectionDetails(collection) { - const url = replaceUrl(endpoints.vectorCollectionDetailsUrl, { - collection: collection + const response = await axios.delete(url, { + data: { + knowledgeType: knowledgeType, + dbProvider: dbProvider + } }); - - const response = await axios.get(url); return response.data; } + /** * @param {string} collection * @param {import('$knowledgeTypes').VectorCollectionIndexOptions[]} options + * @param {string} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function createVectorIndexes(collection, options) { - const url = replaceUrl(endpoints.vectorIndexesCreateUrl, { +export async function createKnowledgeIndexes(collection, options, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeIndexesCreateUrl, { collection: collection }); const response = await axios.post(url, { + knowledgeType: knowledgeType, + dbProvider: dbProvider, options: options || [] }); return response.data; @@ -270,15 +346,19 @@ export async function createVectorIndexes(collection, options) { /** * @param {string} collection * @param {import('$knowledgeTypes').VectorCollectionIndexOptions[]} options + * @param {string} knowledgeType + * @param {string?} dbProvider * @returns {Promise} */ -export async function deleteVectorIndexes(collection, options) { - const url = replaceUrl(endpoints.vectorIndexesDeleteUrl, { +export async function deleteKnowledgeIndexes(collection, options, knowledgeType, dbProvider = null) { + const url = replaceUrl(endpoints.knowledgeIndexesDeleteUrl, { collection: collection }); const response = await axios.delete(url, { data: { + knowledgeType: knowledgeType, + dbProvider: dbProvider, options: options || [] } }); @@ -286,8 +366,6 @@ export async function deleteVectorIndexes(collection, options) { } - - /** * @returns {Promise} */ @@ -301,19 +379,7 @@ export async function getEntityAnalyzers() { * @returns {Promise} */ export async function getEntityDataLoaders() { - const url = endpoints.entityDataLoadersUrl; + const url = endpoints.entityDataProvidersUrl; const response = await axios.get(url); return response.data; -} - -/** - * @param {import('$knowledgeTypes').EntityAnalysisRequest} request - * @returns {Promise} - */ -export async function analyzeEntity(request) { - const url = endpoints.entityAnalyzeUrl; - const response = await axios.post(url, { - ...request - }); - return response.data; } \ No newline at end of file diff --git a/src/routes/page/agent/[agentId]/agent-components/knowledge-bases/agent-knowledge-base.svelte b/src/routes/page/agent/[agentId]/agent-components/knowledge-bases/agent-knowledge-base.svelte index c1bf188c..25f74a2e 100644 --- a/src/routes/page/agent/[agentId]/agent-components/knowledge-bases/agent-knowledge-base.svelte +++ b/src/routes/page/agent/[agentId]/agent-components/knowledge-bases/agent-knowledge-base.svelte @@ -1,7 +1,7 @@