Create knowledge base
To create a knowledge base on ZBrain, send a POST request to a given URL with their specific information. They ensure that the payload includes an optional description and the name of the knowledge base while confirming that the necessary headers are correctly incorporated.
Request URL: https://app.zbrain.ai:3000/api/knowledge-base
Request Payload:
name: Knowledge Base Name
description: Description (Optional)
retrieval: Retrieval Object (Optional)
searchMethod: Currently we support only 'SEMANTIC_SEARCH' (Optional)
topK: Maximum number of chunks for similar context in App. (Optional)
scoreThreshold: Adjust this value to filter search results based on relevance. (Optional)
scoreThresholdEnabled: Value will be boolean. (Optional)
Request Headers:
Authorization: Bearer <<API Key >>
Content-Type: application/json
Parameters description about knowledge base
name to the knowledge base
Sample Request Body Payload:
Copy {
"name" : "KnowledgeBaseName" ,
"description" : "description" ,
"retrieval" : {
"searchMethod" : "SEMANTIC_SEARCH" ,
"topK" : 50 ,
"scoreThresholdEnabled" : false ,
"scoreThreshold" : 0.1
}
}
Node Js Python cURL
Copy var request = require ( 'request' );
var options = {
'method' : 'POST' ,
'url' : 'https://app.zbrain.ai:3000/api/knowledge-base' ,
'headers' : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
} ,
body : JSON .stringify ({
"name" : "Knowledgebase Name" ,
"description" : "description"
})
};
request (options , function (error , response) {
if (error) throw new Error (error);
console .log ( response .body);
});
Copy import requests
import json
url = "https://app.zbrain.ai:3000/api/knowledge-base"
payload = json . dumps ({
"name" : "Knowledgebase Name" ,
"description" : "description" ,
})
headers = {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
}
response = requests . request ( "POST" , url, headers = headers, data = payload)
print (response.text)
Copy curl --location 'https://app.zbrain.ai:3000/api/api/knowledge-base' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API Key>' \
--data '{
"name": "knowledgebase name",
"description": "description"
}'
Sample Response:
Copy {
"responseData" : {
"name" : "string" ,
"description" : "string" ,
"tenantId" : "string" ,
"createdBy" : "string" ,
"_id" : "string" ,
"addedOn" : number ,
"modifiedOn" : number
} ,
"message" : "Knowledge base created successfully" ,
"success" : true ,
"responseCode" : 200
}
Get Knowledge bases
Using the provided ZBrain API, users can easily fetch their knowledge base data. By sending a GET request to the given URL and adjusting the 'limit' and 'skip' parameters, users can tailor the amount of data retrieved and its starting point, simplifying access to their specific knowledge base content.
Request URL: https://app.zbrain.ai:3000/api/knowledge-bases?limit=10&skip=0
Query strings:
skip: << numeric value >>
limit: << numeric value >>
Request Headers:
Authorization: Bearer <<API key>>
Content-Type: application/json
Parameters Number of knowledge bases to skip
Number of knowledge bases to listout
Sample Request Query Payload:
Node Js Python cURL
Copy var request = require ( 'request' );
var options = {
'method' : 'GET' ,
'url' : 'https://app.zbrain.ai:3000/api/knowledge-bases?limit=10&skip=0' ,
'headers' : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
} ,
};
request (options , function (error , response) {
if (error) throw new Error (error);
console .log ( response .body);
});
Copy import requests
url = "https://app.zbrain.ai:3000/api/knowledge-bases?limit=10&skip=0"
payload = {}
headers = {
'Authorization' : 'Bearer <API token>'
}
response = requests . request ( "GET" , url, headers = headers, data = payload)
print (response.text)
Copy curl --location 'https://app.zbrain.ai:3000/api/knowledge-bases?limit=10&skip=0' \
--header 'Authorization: Bearer <API token>'
Sample Response:
Copy {
"responseData" : {
"data" : [
{
"_id" : "string" ,
"name" : "string" ,
"description" : "string" ,
"tenantId" : "string" ,
"createdBy" : "string" ,
"addedOn" : number ,
"modifiedOn" : number ,
"importsExists" : boolean
}
] ,
"total" : number
} ,
"message" : "Information fetched successfully" ,
"success" : true ,
"responseCode" : 200
}
Get Knowledge base by Id
Request URL: https://app.zbrain.ai:3000/api/knowledge-base/< knowledgeBaseId >
Path parameters:
knowledgebaseId : << knowledgebaseId >>
Request Headers:
Authorization: Bearer <<API Key >>
Content-Type: application/json
Sample Path parameters:
Copy /knowledge-base/<knowledgeBaseId>
Node Js Python - Requests cURL
Copy var request = require ( 'request' );
var options = {
'method' : 'GET' ,
'url' : 'https://app.zbrain.ai:3000/api/knowledge-base/<knowledgebaseId>' ,
'headers' : {
'Authorization' : 'Bearer <API token>'
}
};
request (options , function (error , response) {
if (error) throw new Error (error);
console .log ( response .body);
});
Copy import requests
url = "https://app.zbrain.ai:3000/api/knowledge-base/<knowledgebaseId>"
payload = {}
headers = {
'Authorization' : 'Bearer <API token>'
}
response = requests . request ( "GET" , url, headers = headers, data = payload)
print (response.text)
Copy curl --location 'https://app.zbrain.ai:3000/api/knowledge-base/<knowledgebaseId>' \
--header 'Authorization: Bearer <API token>'
Sample Response:
Copy {
"responseData" : {
"_id" : "string" ,
"name" : "string" ,
"description" : "string" ,
"tenantId" : "string" ,
"createdBy" : "string" ,
"addedOn" : number ,
"knowledgeBaseImports" : [
{
"title" : "string" ,
"summary" : "string" ,
"knowledgeBaseId" : "string" ,
"importedType" : "string" ,
"status" : "string" ,
"file" : {
"url" : "string" ,
"path" : "string" ,
"bucket" : "string"
} ,
"document" : {
"url" : "string" ,
"path" : "string" ,
"bucket" : "string"
} ,
"visitedPages" : [ "string" ] ,
"characters" : number ,
"chunksCount" : number ,
"_id" : "string" ,
"addedOn" : number ,
"modifiedOn" : number
}
]
} ,
"message" : "Information fetched successfully" ,
"success" : true ,
"responseCode" : 200
}
Knowledge base import creation types
On ZBrain, users have multiple options to create a knowledge base by importing information. They can import data from files such as PDF, TXT, CSV, DOCX, or XLSX, website links, or even through APIs. This approach enables users to gather and integrate relevant information into their knowledge base, feeding their AI applications with accurate and domain-specific data from diverse sources.
Using FILE
ZBrain allows users to create a knowledge base by importing files directly into the system using a specified API. Users can seamlessly import file types such as PDF, TXT, CSV, DOCX, or XLSX into their designated knowledge base by initiating a POST request to the provided URL, ensuring that the AI applications have direct access to the required domain-specific information.
Request URL: https://app.zbrain.ai:3003/api/knowledge-base-import?knowledgeBaseId=< knowledgeBaseId >&importType=FILE
Query Strings:
knowledgeBaseId: << knowledgeBaseId >>
Request Headers:
Authorization: Bearer <<API Key >>
Content-Type: application/json
form data:
file : << select file (Supported formats : PDF, TXT, CSV, DOCX or XLSX)>>
Parameters unique id (_id
) of knowledge base to where the file to be imported (get it from the Get knowledge bases Api)
method of importing the content
in formdata user needs to select the file to be uploaded and these are the supported file formates PDF, TXT, CSV, DOCX or XLSX
Sample Request Query Strings:
Copy ?knowledgeBaseId=<knowledgeBaseId>&importType=FILE
Node Js Python cURL
Copy var request = require ( 'request' );
var fs = require ( 'fs' );
var options = {
'method' : 'POST' ,
'url' : 'https://app.zbrain.ai:3003/api/knowledge-base-import?knowledgeBaseId=<knowledgeBaseId>&importType=FILE' ,
'headers' : {
'Authorization' : 'Bearer <API token>'
} ,
formData : {
'file' : {
'value' : fs .createReadStream ( '</path/to/file>' ) ,
'options' : {
'filename' : '<file name>' ,
'contentType' : null
}
}
}
};
request (options , function (error , response) {
if (error) throw new Error (error);
console .log ( response .body);
});
Copy import requests
url = "https://app.zbrain.ai:3003/api/knowledge-base-import?knowledgeBaseId=<knowledgeBaseId>&importType=FILE"
payload = {}
files = [
( 'file' , ( 'fileName' , open ( '/path/to/file' , 'rb' ), 'application/pdf' ))
]
headers = {
'Authorization' : 'Bearer <API token>'
}
response = requests . request ( "POST" , url, headers = headers, data = payload, files = files)
print (response.text)
Copy curl --location 'https://app.zbrain.ai:3003/api/knowledge-base-import?knowledgeBaseId=<knowledgeBaseId>&importType=FILE' \
--header 'Authorization: Bearer <API token>' \
--form 'file=@"<path/to/file>"'
Sample Response:
Copy {
"responseData" : [
{
"title" : "string" ,
"summary" : "string" ,
"knowledgeBaseId" : "string" ,
"importedType" : "string" ,
"status" : "string" ,
"file" : {
"url" : "string" ,
"path" : "string" ,
"bucket" : "string"
} ,
"document" : {
"url" : "string" ,
"path" : "string" ,
"bucket" : "string"
} ,
"visitedPages" : [ "string" ] ,
"characters" : number ,
"chunksCount" : number ,
"_id" : "string" ,
"input" : object ,
"error" : object ,
"addedOn" : number ,
"modifiedOn" : number ,
"charactersLimit" : number
}
] ,
"message" : "Knowledge base import added successfully" ,
"success" : true ,
"responseCode" : 200
}
Using WEBSITE url
When one seeks to construct a Zbrain knowledge base using a website, they must employ a certain web address or API. This process involves providing necessary details such as the knowledge base's identification, the import type (in this instance, a website), and the desired number of pages for indexing. Including the website URL from which the knowledge base will be created is crucial. Additionally, they must authenticate their request with their API key.
Request URL: https://app.zbrain.ai:3003/api/knowledge-base-import?knowledgeBaseId=< knowledgeBaseId >&importType=WEBSITE
Query Strings:
knowledgeBaseId: << knowledgeBaseId >>
Request Payload:
numberOfPages: << No.of pages to index>>
Request Headers:
Authorization: Bearer <<API Key>>
Content-Type: application/json
Parameters unique id (_id
) of knowledge base to where the file to be imported (get it from the Get knowledge bases Api)
method of importing the content
Sample Request Body Payload:
Copy {
"numberOfPages" : 4 ,
"websiteUrl" : "https://www.leewayhertz.com"
}
Sample Request Query Payload:
Copy ?knowledgeBaseId=<knowledgeBaseId>&importType=WEBSITE
Node Js Python cURL
Copy var request = require ( 'request' );
var options = {
'method' : 'POST' ,
'url' : 'https://app.zbrain.ai:3003/api/knowledge-base-import?knowledgeBaseId=<knowledgeBaseId>&importType=WEBSITE' ,
'headers' : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
} ,
body : JSON .stringify ({
"numberOfPages" : < No.of pages to index >,
"websiteUrl": "< url >"
})
};
request(options, function (error, response) {
if (error) throw new Error (error);
console .log ( response .body);
});
Copy import requests
import json
url = "https://app.zbrain.ai:3003/api/knowledge-base-import?knowledgeBaseId=<knowledgeBaseId>&importType=WEBSITE"
payload = json . dumps ({
"numberOfPages" : < No.of pages to index > ,
"websiteUrl" : "<url>"
})
headers = {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
}
response = requests . request ( "POST" , url, headers = headers, data = payload)
print (response.text)
Copy curl --location 'https://app.zbrain.ai:3003/api/knowledge-base-import?knowledgeBaseId=<knowledgeBaseId>&importType=WEBSITE' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API token>' \
--data '{
"numberOfPages":<No.of pages to index>,
"websiteUrl":"<url>"
}'
Sample Response:
Copy {
"responseData" : {
"title" : "string" ,
"summary" : "string" ,
"knowledgeBaseId" : "string" ,
"importedType" : "string" ,
"status" : "string" ,
"file" : {
"url" : "string" ,
"path" : "string" ,
"bucket" : "string"
} ,
"document" : {
"url" : "string" ,
"path" : "string" ,
"bucket" : "string"
} ,
"visitedPages" : [ "string" ] ,
"characters" : number ,
"chunksCount" : number ,
"_id" : "string" ,
"input" : object ,
"error" : object ,
"addedOn" : number ,
"modifiedOn" : number ,
"charactersLimit" : number
} ,
"message" : "Knowledge base import added successfully" ,
"success" : true ,
"responseCode" : 200
}
Using API
When someone aims to construct a Zbrain knowledge base utilizing an API, they send specific data to a Zbrain web address. The information comprises the type of activity (API), a title for their data, and the data content itself, which should span at least 100 characters. They also need to include their API key for security purposes.
Request URL: https://app.zbrain.ai:3003/api/knowledge-base-import-by-api?importType=API
Request Headers:
Authorization: Bearer <<api key>>
Content-Type: application/json
Request Payload:
title: <Enter your file name>
content: <<Enter your content not less than 100 characters>>
knowledgeBaseId : << knowledgeBaseId >>
Parameters method of importing the content
the content that will be uploaded to knowledge base and it should not be less than 100 characters
unique id (_id
) of knowledge base to where the file to be imported (get it from the Get knowledge bases Api)
Sample Request Body Payload:
Copy {
"title" : "fileName" ,
"content" : "file content" ,
"knowledgeBaseId" : "knowledgeBaseId"
}
Note : If knowledgeBaseId is empty, new knowledge base will be created. Otherwise, specified knowledge base will get updated.
Sample Request Query Payload:
Node Js Python cURL
Copy var request = require ( 'request' );
var options = {
'method' : 'POST' ,
'url' : 'https://app.zbrain.ai:3003/api/knowledge-base-import-by-api?importType=API' ,
'headers' : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
} ,
body : JSON .stringify ({
"title" : "<name>" ,
"content" : "<content>" ,
"knowledgeBaseId" : "<knowledgeBaseId>"
})
};
request (options , function (error , response) {
if (error) throw new Error (error);
console .log ( response .body);
});
Copy import requests
import json
url = "https://app.zbrain.ai:3003/api/knowledge-base-import-by-api?importType=API"
payload = json . dumps ({
"title" : "<name>" ,
"content" : "<content>" ,
"knowledgeBaseId" : "<knowledgeBaseId>"
})
headers = {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
}
response = requests . request ( "POST" , url, headers = headers, data = payload)
print (response.text)
Copy curl --location 'https://app.zbrain.ai:3003/api/knowledge-base-import-by-api?importType=API' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API token>' \
--data '{
"title": "<name>",
"content": "<content>",
"knowledgeBaseId" :"<knowledgeBaseId>"
}'
Sample Response:
Copy {
"responseData" : {
"title" : "string" ,
"summary" : "string" ,
"knowledgeBaseId" : "string" ,
"importedType" : "string" ,
"status" : "string" ,
"file" : {
"url" : "string" ,
"path" : "string" ,
"bucket" : "string"
} ,
"document" : {
"url" : "string" ,
"path" : "string" ,
"bucket" : "string"
} ,
"visitedPages" : [ "string" ] ,
"characters" : number ,
"chunksCount" : number ,
"_id" : "string" ,
"input" : object ,
"error" : object ,
"addedOn" : number ,
"modifiedOn" : number ,
"charactersLimit" : number
} ,
"message" : "Knowledge base import added successfully" ,
"success" : true ,
"responseCode" : 200
}
Update Knowledge base
When a user wishes to update an existing knowledge base in Zbrain, they can utilize the following specific API, which sends a PUT request, along with their API key, to modify the knowledge base's name and description. Providing the correct knowledge base ID is important to ensure the updates are applied to the desired base.
Request URL:https://app.zbrain.ai:3000/api/knowledge-base
Request Payload:
description: << Enter new description (optional)>>
knowledgeBaseId: << knowledgeBaseId >>
name: << Enter new knowledge base name >>
retrieval: Retrieval Object (Optional)
searchMethod: Currently we support only 'SEMANTIC_SEARCH' (Optional)
topK: Maximum number of chunks for similar context in App. (Optional)
scoreThreshold: Adjust this value to filter search results based on relevance. (Optional)
scoreThresholdEnabled: Value will be boolean. (Optional)
Request Headers:
Authorization: Bearer <<API Key>>
Content-Type: application/json
Parameters unique id (_id
) of knowledge base to where the file to be imported (get it from the Get knowledge bases Api)
description about knowledge base
Sample Request Body Payload:
Copy {
"knowledgeBaseId" : "knowledgeBaseId" ,
"name" : "sample name" ,
"description" : "description" ,
"retrieval" : {
"searchMethod" : "SEMANTIC_SEARCH" ,
"topK" : 50 ,
"scoreThresholdEnabled" : false ,
"scoreThreshold" : 0.1
}
}
Node Js Python cURL
Copy var request = require ( 'request' );
var options = {
'method' : 'PUT' ,
'url' : 'https://app.zbrain.ai:3000/api/knowledge-base' ,
'headers' : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
} ,
body : JSON .stringify ({
"name" : "<name>" ,
"description" : "<description>" ,
"knowledgeBaseId" : "<knowledgeBaseId>"
})
};
request (options , function (error , response) {
if (error) throw new Error (error);
console .log ( response .body);
});
Copy import requests
import json
url = "https://app.zbrain.ai:3000/api/knowledge-base"
payload = json . dumps ({
"description" : "<description>" ,
"knowledgeBaseId" : "<knowledgeBaseId>" ,
"name" : "<name>"
})
headers = {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
}
response = requests . request ( "PUT" , url, headers = headers, data = payload)
print (response.text)
Copy curl --location --request PUT 'https://app.zbrain.ai:3000/api/knowledge-base' \
--header 'Content-Type: application/json' \
--header 'Authorization': 'Bearer <API token>' \
--data '{
"description": "<description>",
"knowledgeBaseId": "<knowledgeBaseId>",
"name": "<name>"
}'
Sample Response:
Copy {
"responseData" : {
"name" : "string" ,
"description" : "string" ,
"tenantId" : "string" ,
"createdBy" : "string" ,
"_id" : "string" ,
"addedOn" : number ,
"modifiedOn" : number
} ,
"message" : "Information added successfully" ,
"success" : true ,
"responseCode" : 200
}
Delete Knowledge base
If a user wishes to delete a specific knowledge base in Zbrain, the following API is used, which sends a DELETE request to the designated URL, including the knowledge base's unique ID in the path. The request must also contain its API key in the header for authorization.
Request URL: https://app.zbrain.ai:3000/api/knowledge-base/<knowledgebaseId>
Path parameters:
knowledgebaseId : << knowledgebaseId >>
Request Headers:
Authorization: Bearer <<API Key>>
Content-Type: application/json
Parameters unique id (_id
) of knowledge base to where the file to be imported (get it from the Get knowledge bases Api) (send this on path parameter)
Node Js - Request Python - Request cURL
Copy var request = require ( 'request' );
var options = {
'method' : 'DELETE' ,
'url' : 'https://app.zbrain.ai:3000/api/knowledge-base/<knowledgeBaseId>' ,
'headers' : {
'Authorization' : 'Bearer <API token>'
}
};
request (options , function (error , response) {
if (error) throw new Error (error);
console .log ( response .body);
});
Copy import requests
url = "https://app.zbrain.ai:3000/api/knowledge-base/<knowledgeBaseId>"
payload = {}
headers = {
'Authorization' : 'Bearer <API token>'
}
response = requests . request ( "DELETE" , url, headers = headers, data = payload)
print (response.text)
Copy curl --location --request DELETE 'https://app.zbrain.ai:3000/api/knowledge-base/<knowledgeBaseId>' \
--header 'Authorization': 'Bearer <API token>'
Sample Response:
Copy {
"responseData" : "Knowledge base deleted successfully" ,
"message" : "Knowledge base deleted successfully" ,
"success" : true ,
"responseCode" : 200
}
Delete Import
If a user wishes to delete a specific knowledge base import in Zbrain, the following API is used, which sends a DELETE request to the designated URL, including the knowledge base import's unique ID in the body. The request must also contain its API key in the header for authorization.
Request URL: https://app.zbrain.ai:3000/api/knowledge-base-import
Request Payload:
ids: << Array of knowledgeBaseImport Id's>>
Request Headers:
Authorization: Bearer <<API Key>>
Content-Type: application/json
Sample Request Body Payload:
Copy {
"ids" : [
"knowledgeBaseImportId"
]
}
Node Js - Request Python - Request cURL
Copy var request = require ( 'request' );
var options = {
'method' : 'DELETE' ,
'url' : 'https://app.zbrain.ai:3000/api/knowledge-base-import' ,
'headers' : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
} ,
body : JSON .stringify ({
"ids" : [
"<knowledgeBaseId>" ,
"<knowledgeBaseId>"
]
})
};
request (options , function (error , response) {
if (error) throw new Error (error);
console .log ( response .body);
});
Copy import requests
import json
url = "https://app.zbrain.ai:3000/api/knowledge-base-import"
payload = json . dumps ({
"ids" : [
"<knowledgeBaseId>" ,
"<knowledgeBaseId>"
]
})
headers = {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
}
response = requests . request ( "DELETE" , url, headers = headers, data = payload)
print (response.text)
Copy curl --location --request DELETE 'https://app.zbrain.ai:3000/api/knowledge-base-import' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API token>' \
--data '{
"ids":["<knowledgeBaseId>","<knowledgeBaseId>"]
}'
Sample Response:
Copy {
"responseData" : "Deleted successfully" ,
"message" : "Knowledge base import deleted successfully" ,
"success" : true ,
"responseCode" : 200
}
Get Import Status
To get the status of the imports, send a GET request to the following URL with the specified query parameters. Ensure that the query payload includes the knowledge base import IDs and tenant IDs.
Request URL: https://app.zbrain.ai:3003/v2/api/import
Query strings:
kbImportIds: << A comma-separated list of identifiers for the knowledge base import jobs you want to check the status of >>
Request Headers:
Authorization: Bearer <<API key>>
Content-Type: application/json
Parameters Knowledge Base Import Ids
Node Js Python cURL
Copy var request = require ( 'request' );
var options = {
'method' : 'GET' ,
'url' : 'https://app.zbrain.ai:3003/v2/api/import?kbImportIds=<id1,id2>' ,
'headers' : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer <API token>'
} ,
};
request (options , function (error , response) {
if (error) throw new Error (error);
console .log ( response .body);
});
Copy import requests
url = "https://app.zbrain.ai:3003/v2/api/import?kbImportIds=<id1,id2>"
payload = {}
headers = {
'Authorization' : 'Bearer <API token>'
}
response = requests . request ( "GET" , url, headers = headers, data = payload)
print (response.text)
Copy curl --location 'https://app.zbrain.ai:3003/v2/api/import?kbImportIds=<id1,id2>' \
--header 'Authorization: Bearer <API token>'
Copy {
"responseData": {
"preview": [
{
"content": "",
"metaData": {
"fileName": "",
"file": "",
"id": 0,
"hash": "",
"words": 0,
"isActive": true
}
}
],
"status": "STAGED",
"data": [
{
"title": "",
"characters": 0,
"chunksCount": 0,
"paragraphsCount": 0,
"avgParagraphsCount": 0,
"chunkingRules": {
"mode": "",
"rules": {}
},
"status": "STAGED",
"addedOn": 1714985786550
},
]
},
"message": "",
"success": true,
"responseCode": 200
}
Create a new chunk in the knowledge base import
To add a chunk to the knowledge base import, send a POST request to the given URL with the chunk's specific information. Ensure that the payload includes a knowledge base import ID, the content you want to add to the chunk while confirming that the necessary headers are correctly incorporated.
Request URL: https://app.zbrain.ai:3003/v2/api/knowledge-base-import/chunk
Request Payload:
knowledgeBaseImportId: << Enter knowledge base import's _id, in which you want to add the chunk>>
content: << Add the text content that you want to add in the chunk >>
Request Headers:
Authorization: Bearer <<API Key>>
Content-Type: application/json
Sample Request Body Payload:
Copy {
"knowledgeBaseImportId": "",
"content": ""
}
Code Snippets:
Node JS Python cURL
Copy var request = require('request');
var options = {
'method': 'POST',
'url': 'https://app.zbrain.ai:3003/v2/api/knowledge-base-import/chunk',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer <API token>'
},
body: JSON.stringify({
"knowledgeBaseImportId": "",
"content": ""
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
Copy import requests
import json
url = "https://app.zbrain.ai:3003/v2/api/knowledge-base-import/chunk"
payload = json.dumps({
"knowledgeBaseImportId": "",
"content": ""
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer <API token>'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Copy curl --location 'https://app.zbrain.ai:3003/v2/api/knowledge-base-import/chunk' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API Key>' \
--data '{
"knowledgeBaseImportId": "",
"content": ""
}'
Copy {
"responseData": {
"tenantId": "",
"addedBy": "",
"kbImportId": "",
"content": "",
"embeddings": {
"url": "",
"path": "",
"bucket": "",
"storageProvider": ""
}
},
"message": "Knowledge base import chunk added successfully",
"success": true,
"responseCode": 200
}
Update metadata of knowledge base import
To update the metadata of a knowledge base import, send a PATCH request to the following URL with the specified information. Ensure that the payload includes the knowledge base import ID, metadata details, and the isEnabled status.
Request URL: https://app.zbrain.ai:3000/v2/api/knowledge-base-import
Request Headers:
Authorization: Bearer <<API Key>>
Content-Type: application/json
Request Payload:
knowledgeBaseImportId: << Enter the unique identifier of the knowledge base import you want to update >>
metadata: << An object containing the metadata fields you want to modify >>
title: << The title of the knowledge base import >>
author: << The author of the content within the import >>
documentType: << The type of document(s) included in the import >>
departmentTeam: << The department or team associated with the import content >>
isEnabled: << Set it to true or false to indicate whether the import should be included in retrieval operations >>
Sample Request Body Payload:
Copy {
"knowledgeBaseImportId": "",
"metadata": {
"title": "",
"author": "",
"documentType": "",
"departmentTeam": ""
},
"isEnabled": false
}
Node Js Python cURL
Copy var request = require('request');
var options = {
'method': 'PATCH',
'url': 'https://app.zbrain.ai:3000/v2/api/knowledge-base-import',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer <API token>'
},
body: JSON.stringify({
"knowledgeBaseImportId": "",
"metadata": {
"title": "",
"author": "",
"documentType": "",
"departmentTeam": ""
},
"isEnabled": false
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
Copy import requests
import json
url = "https://app.zbrain.ai:3000/v2/api/knowledge-base-import"
payload = json.dumps({
"knowledgeBaseImportId": "",
"metadata": {
"title": "",
"author": "",
"documentType": "",
"departmentTeam": ""
},
"isEnabled": false
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer <API token>'
}
response = requests.request("PATCH", url, headers=headers, data=payload)
print(response.text)
Copy curl --location 'https://app.zbrain.ai:3000/v2/api/knowledge-base-import' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API Key>' \
--data '{
"knowledgeBaseImportId": "",
"metadata": {
"title": "",
"author": "",
"documentType": "",
"departmentTeam": ""
},
"isEnabled": false
}'\
--request PATCH
Copy {
"responseData": {
"chunkingRules": {
"mode": "AUTOMATIC"
},
"metadata": {
"documentType": "",
"title": " ",
"author": "",
"departmentTeam": "",
"creationDate": 0,
"modifiedDate": 0
},
"title": "",
"summary": "",
"knowledgeBaseId": "",
"importedType": "",
"status": "",
"autoEmbedding": {
"url": "",
"path": "",
"bucket": "",
"storageProvider": ""
},
"embedding": {
"url": "",
"path": "",
"bucket": "",
"storageProvider": ""
},
"customEmbedding": {
"url": "",
"path": ""
},
"file": {
"url": "",
"path": "",
"bucket": "",
"storageProvider": ""
},
"document": {
"url": "",
"path": ",
"bucket": "",
"storageProvider": ""
},
"docHash": "",
"visitedPages": [],
"retrievalCount": 0,
"timeTaken": 0,
"tokens": 0,
"characters": 4871,
"chunksCount": 13,
"paragraphsCount": 0,
"avgParagraphsLength": 0,
"wordsCount": 0,
"isEnabled": true,
"historicalDocuments": [],
"hypotheticalVectorIds": [],
"smallVectorIds": [],
"summaryVectorIds": [],
"faissVectorIds": [],
"pineconeVectors": 0,
"pineconeIndexId": "",
"parentKbImportId": "",
"currentVersion": 1,
"isDeleted": false,
"isActive": true,
"_id": "",
"addedOn": 1715145815686,
"modifiedOn": 1718171976745,
"__v": 0
},
"message": "Information fetched successfully",
"success": true,
"responseCode": 200
}