概述
本文档旨在为开发者提供知识库系统的快速入门指南,涵盖从API token申请到完整知识库构建和使用的全流程。通过5个核心接口实现最短链路接入,并提供多语言SDK接入教程。
Token申请与认证
申请步骤:
- 访问百宝箱开发平台:百宝箱
- 添加令牌:在授权管理创建一个令牌
- 调用api:令牌创建好就可以调用下面的api了
知识库核心功能接口
| 序号 | 接口名称 | 功能描述 | HTTP方法 | path | 参数示例 |
|---|---|---|---|---|---|
| 1 | 创建知识库 | 创建新的知识库实例 | POST | /api/datasets/createDatasets | {"name":"test_knowledge","description":"这是openapi创建的一个知识库"} |
| 3 | 上传文件 | 上传文档内容到指定文件 | POST | /api/file/upload | |
| 2 | 创建知识库文件 | 在知识库中创建文件结构 | POST | /api/datasets/createDatasetDocument | {"datasetId":"20250926asnT00509423","fileId":"20250926gatN15957444"} |
| 4 | 查询构建进度 | 检查知识库构建状态 | GET | /api/datasets/queryProgress | {"documentId": "20250926asnT00509423"} |
| 5 | 知识库召回 | 从知识库中检索信息 | POST | /api/datasets/retrieve | {"datasetId":"test_dataset_id","query":"什么是百宝箱?","limit":1} |
调用示例
openapi
直接使用以下curl命令即可:
创建知识库
curl -X POST \
https://api.tbox.cn/api/datasets/createDatasets \
-H 'Authorization: your-authorization-token-here' \
-H 'Content-Type: application/json' \
-d '{"name" : "test_knowledge", "description": "这是openapi创建的一个知识库"}'
上传文件
curl -X POST \
https://api.tbox.cn/api/file/upload \
-H 'Authorization: your-authorization-token-here' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-F 'file=@D:\下载\什么是百宝箱.txt'
创建知识库文件
curl -X POST \
https://api.tbox.cn/api/datasets/createDatasetDocument \
-H 'Authorization: your-authorization-token-here' \
-H 'Content-Type: application/json' \
-d '{"datasetId" : "20250926asnT00509423","fileId": "20250926gatN15957444"}'
查询知识库文件构建进度
curl -X GET \
'https://api.tbox.cn/api/datasets/queryProgress?documentId=20250926a0ce2331328873' \
-H 'Authorization: your-authorization-token-here' \
-H 'Content-Type: application/json' \
知识库召回
curl -X POST \
https://api.tbox.cn/api/datasets/retrieve \
-H 'Authorization: your-authorization-token-here' \
-H 'Content-Type: application/json' \
-d '{"datasetId": "20250926asnT00509423","query": "什么是百宝箱?","limit": 1}'
Python SDK
sdk版本:
pip install tboxsdk==0.0.10
创建知识库
from tboxsdk.tbox import TboxClient
def create_datasets():
"""创建知识库请参考以下调用方式"""
tbox = TboxClient(authorization="{your_token}")
response = tbox.create_datasets(name="test_knowledge_1", description="这是openapi创建的一个知识库")
print(f"--------------------------------------------------------")
print(f"response: {response}")
print(f"--------------------------------------------------------")
if __name__ == "__main__":
create_datasets()
上传文件
from tboxsdk.tbox import TboxClient
def upload_file():
tbox = TboxClient(authorization="{your_token}")
response = tbox_client.upload_file(file_path="{file_path}")
print(f"--------------------------------------------------------")
print(f"response: {response}")
print(f"--------------------------------------------------------")
if response.get("errorCode") == "0":
file_id = response.get("data", "")
print(f"文件ID: {file_id}")
if __name__ == "__main__":
upload_file()
创建知识库文件
from tboxsdk.tbox import TboxClient
def create_dataset_document():
"""创建知识库文件请参考以下调用方式"""
tbox = TboxClient(authorization="{your_token}")
response = tbox.create_dataset_document(dataset_id="2025092835ty00509709", file_id="20250928CyzT16083822")
print(f"--------------------------------------------------------")
print(f"response: {response}")
print(f"--------------------------------------------------------")
if __name__ == "__main__":
create_dataset_document()
查询知识库文件构建进度
from tboxsdk.tbox import TboxClient
def query_document_progress():
"""创建知识库请参考以下调用方式"""
tbox = TboxClient(authorization="{your_token}")
response = tbox.query_document_progress(document_id="202509282GnZ0931358743")
print(f"--------------------------------------------------------")
print(f"response: {response}")
print(f"--------------------------------------------------------")
if __name__ == "__main__":
query_document_progress()
知识库召回
from tboxsdk.tbox import TboxClient
def retrieve_dataset():
"""知识库召回请参考以下调用方式"""
tbox = TboxClient(authorization="{your_token}")
response = tbox.retrieve_dataset(query="什么是百宝箱?", dataset_id='2025092835ty00509709')
print(f"--------------------------------------------------------")
print(f"response: {response}")
print(f"--------------------------------------------------------")
if __name__ == "__main__":
retrieve_dataset()
Java SDK
sdk版本:
<dependency>
<groupId>cn.tbox</groupId>
<artifactId>tboxsdk</artifactId>
<version>0.0.11</version>
</dependency>
创建知识库
import cn.tbox.sdk.TboxClient;
import cn.tbox.sdk.core.exception.TboxClientConfigException;
import cn.tbox.sdk.core.exception.TboxHttpResponseException;
import cn.tbox.sdk.model.request.CreateDatasetRequest;
import cn.tbox.sdk.model.response.TboxResponse;
public class Demo {
private static final String YOUR_TOKEN = "{your_token}";
public static void main(String[] args) throws TboxHttpResponseException {
try {
TboxClient client = new TboxClient(YOUR_TOKEN);
CreateDatasetRequest chatRequest = new CreateDatasetRequest();
chatRequest.setName("test_knowledge_java");
chatRequest.setDescription("这是openapi创建的一个知识库");
TboxResponse<String> result = client.createDataset(chatRequest);
System.out.println(result);
} catch (TboxClientConfigException e) {
System.err.println("Configuration error: " + e.getMessage());
e.printStackTrace();
}
}
}
上传文件
import java.util.Map;
import cn.tbox.sdk.TboxClient;
import cn.tbox.sdk.core.exception.TboxClientConfigException;
import cn.tbox.sdk.core.http.HttpClientConfig;
public class Demo {
private static final String YOUR_TOKEN = "{your_token}";
public static void main(String[] args) throws TboxClientConfigException {
// 初始化客户端
TboxClient client = new TboxClient(new HttpClientConfig(YOUR_TOKEN));
TboxResponse<String> response = client.uploadFile("{filePath}");
System.out.println(response.getData());
}
}
创建知识库文件
import cn.tbox.sdk.TboxClient;
import cn.tbox.sdk.core.exception.TboxClientConfigException;
import cn.tbox.sdk.core.exception.TboxHttpResponseException;
import cn.tbox.sdk.model.request.CreateDatasetDocumentRequest;
import cn.tbox.sdk.model.response.TboxResponse;
public class Demo {
private static final String YOUR_TOKEN = "{your_token}";
public static void main(String[] args) throws TboxHttpResponseException {
try {
TboxClient client = new TboxClient(YOUR_TOKEN);
CreateDatasetDocumentRequest chatRequest = new CreateDatasetDocumentRequest();
chatRequest.setDatasetId("20250928clVY00509608");
chatRequest.setFileId("20250928CyzT16083822");
TboxResponse<String> result = client.createDatasetDocument(chatRequest);
System.out.println(result);
} catch (TboxClientConfigException e) {
System.err.println("Configuration error: " + e.getMessage());
e.printStackTrace();
}
}
}
查询知识库文件构建进度
import cn.tbox.sdk.TboxClient;
import cn.tbox.sdk.core.exception.TboxClientConfigException;
import cn.tbox.sdk.core.exception.TboxHttpResponseException;
import cn.tbox.sdk.model.response.DocumentProgressResponse;
import cn.tbox.sdk.model.response.TboxResponse;
public class Demo {
private static final String YOUR_TOKEN = "{your_token}";
public static void main(String[] args) throws TboxHttpResponseException {
try {
TboxClient client = new TboxClient(YOUR_TOKEN);
TboxResponse<DocumentProgressResponse> result = client.queryDocumentProgress("20250928EeSR0831362774");
System.out.println(result);
} catch (TboxClientConfigException e) {
System.err.println("Configuration error: " + e.getMessage());
e.printStackTrace();
}
}
}
知识库召回
import cn.tbox.sdk.TboxClient;
import cn.tbox.sdk.core.exception.TboxClientConfigException;
import cn.tbox.sdk.core.exception.TboxHttpResponseException;
import cn.tbox.sdk.model.request.DatasetRetrieveRequest;
import cn.tbox.sdk.model.response.DatasetRetrieveResponse;
import cn.tbox.sdk.model.response.TboxResponse;
public class Demo {
private static final String YOUR_TOKEN = "{your_token}";
public static void main(String[] args) throws TboxHttpResponseException {
try {
TboxClient client = new TboxClient(YOUR_TOKEN);
DatasetRetrieveRequest request = new DatasetRetrieveRequest();
request.setQuery("什么是百宝箱?");
request.setDatasetId("20250928clVY00509608");
TboxResponse<DatasetRetrieveResponse> result = client.retrieveDataset(request);
System.out.println(result);
} catch (TboxClientConfigException e) {
System.err.println("Configuration error: " + e.getMessage());
e.printStackTrace();
}
}
}
Node.js SDK
创建知识库
import { TboxClient } from 'tbox-nodejs-sdk';
const client = new TboxClient({
httpClientConfig: {
authorization: 'TBox-7a630a0c6e6a4d4da24c07f14b795403',
},
});
const response = await client.createDatasets({
name: `test_dataset_${Date.now()}`,
description: 'test dataset',
});
console.log('response', response);
上传文件
import { TboxClient } from 'tbox-nodejs-sdk';
import { readFileSync } from 'node:fs';
const client = new TboxClient({
httpClientConfig: {
authorization: 'your-authorization-token-here'
}
});
const file = new Blob([readFileSync('local-file-path')]);
client.uploadFile(file, 'local-filename').then(response => {
console.log(response);
});
创建知识库文件
import { TboxClient } from 'tbox-nodejs-sdk';
const client = new TboxClient({
httpClientConfig: {
authorization: 'TBox-7a630a0c6e6a4d4da24c07f14b795403',
},
});
const response = await client.createDatasetDocument({
datasetId: '20250918d5DU00506980',
fileId: '20250917piHA13216855',
});
console.log('response', response);
查询知识库文件构建进度
import { TboxClient } from 'tbox-nodejs-sdk';
const client = new TboxClient({
httpClientConfig: {
authorization: 'TBox-7a630a0c6e6a4d4da24c07f14b795403',
},
});
const response = await client.queryDocumentProgress({
documentId: '20250918dm078031012985',
});
console.log('response', response);
知识库召回
import { TboxClient } from 'tbox-nodejs-sdk';
const client = new TboxClient({
httpClientConfig: {
authorization: 'TBox-7a630a0c6e6a4d4da24c07f14b795403',
},
});
const response = await client.retrieveDataset({
datasetId: '20250918d5DU00506980',
query: 'test',
});
console.log('response', response);
✨ 亮点速览:
✅ 限时福利:即日起至12月31日,官网/扫码进群即可每月领取10亿 Tokens
✅ API/SDK全兼容:Java/Python…无缝集成,大模型/智能体能力快速接入
✅ 模型盲测排行榜:不同模型效果对比打分,完美匹配不同业务诉求
✅ 灵活授权管理:令牌验证权限和身份信息,保证数据和信息安全
🎁 立即行动:访问平台官网 www.tbox.cn/open/open-i…
➡️ 产品详情查看:alipaytbox.yuque.com/sxs0ba/doc/…