《五分钟上手指南:从零构建百宝箱智能知识库系统》

6 阅读1分钟

概述

本文档旨在为开发者提供知识库系统的快速入门指南,涵盖从API token申请到完整知识库构建和使用的全流程。通过5个核心接口实现最短链路接入,并提供多语言SDK接入教程。

Token申请与认证

申请步骤:

  1. 访问百宝箱开发平台百宝箱

  1. 添加令牌:在授权管理创建一个令牌

  1. 调用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/…